WooLentor – Elementor WooCommerce Builder Addons, Variation Swatches Addons, Gutenberg WooCommerce Product block, grid, slider, templates, widgets, Quick View, Wishlist, Products Compare, Product Filter – All in One Solution - Version 1.6.6

Version Description

Download this release

Release Info

Developer devitemsllc
Plugin Icon 128x128 WooLentor – Elementor WooCommerce Builder Addons, Variation Swatches Addons, Gutenberg WooCommerce Product block, grid, slider, templates, widgets, Quick View, Wishlist, Products Compare, Product Filter – All in One Solution
Version 1.6.6
Comparing to
See all releases

Code changes from version 1.9.5 to 1.6.6

Files changed (72) hide show
  1. assets/addons/ajax-search/css/ajax-search.css +1 -23
  2. assets/addons/ajax-search/js/ajax-search.js +3 -12
  3. assets/addons/ajax-search/js/jquery.nicescroll.min.js +2 -0
  4. assets/css/category-grid.css +0 -267
  5. assets/css/faq.css +0 -97
  6. assets/css/product-grid.css +0 -595
  7. assets/css/select2.min.css +0 -1
  8. assets/css/simple-line-icons.css +1 -1
  9. assets/css/slider.css +0 -326
  10. assets/css/store-feature.css +0 -165
  11. assets/css/testimonial.css +0 -306
  12. assets/css/woolentor-widgets.css +138 -2809
  13. assets/images/check.png +0 -0
  14. assets/images/selector-icon.png +0 -0
  15. assets/js/accordion.min.js +0 -9
  16. assets/js/select2.min.js +0 -2
  17. assets/js/single_product_ajax_add_to_cart.js +2 -33
  18. assets/js/woolentor-widgets-active.js +1 -191
  19. assets/lib/css/magnific-popup.css +0 -4
  20. assets/lib/iconpicker/css/iconpicker.eot +0 -0
  21. assets/lib/iconpicker/css/iconpicker.svg +0 -19
  22. assets/lib/iconpicker/css/iconpicker.ttf +0 -0
  23. assets/lib/iconpicker/css/iconpicker.woff +0 -0
  24. assets/lib/iconpicker/css/jquery.fonticonpicker.bootstrap.min.css +0 -2
  25. assets/lib/iconpicker/css/jquery.fonticonpicker.min.css +0 -2
  26. assets/lib/iconpicker/js/jquery.fonticonpicker.min.js +0 -13
  27. assets/lib/js/jarallax.js +0 -6
  28. assets/lib/js/magnific-popup.js +0 -6
  29. assets/lib/js/one-page-nav.js +0 -227
  30. assets/lib/js/wow.js +0 -3
  31. classes/class.ajax_actions.php +0 -135
  32. classes/class.assest_management.php +9 -91
  33. classes/class.default_data.php +204 -204
  34. classes/class.icon-manager.php +0 -65
  35. classes/class.icon_list.php +0 -219
  36. classes/class.product_query.php +0 -248
  37. classes/class.quickview_manage.php +0 -45
  38. classes/class.single_product_ajax_add_to_cart.php +31 -0
  39. classes/class.widgets_control.php +1 -34
  40. includes/addons/add_banner.php +19 -4
  41. includes/addons/product_accordion.php +0 -905
  42. includes/addons/product_curvy.php +0 -1012
  43. includes/addons/product_image_accordion.php +0 -807
  44. includes/addons/product_tabs.php +132 -47
  45. includes/addons/special_day_offer.php +29 -7
  46. includes/addons/universal_product.php +458 -138
  47. includes/addons/wb_archive_product.php +24 -9
  48. includes/addons/wb_customer_review.php +0 -737
  49. includes/addons/wb_ever_compare_table.php +0 -205
  50. includes/addons/wb_image_marker.php +0 -440
  51. includes/addons/wb_just_table.php +0 -156
  52. includes/addons/wb_product_data_tab.php +3 -1
  53. includes/addons/wb_product_description.php +1 -6
  54. includes/addons/wb_product_price.php +10 -10
  55. includes/addons/wb_product_qr_code.php +2 -2
  56. includes/addons/wb_product_related.php +1 -2
  57. includes/addons/wb_product_suggest_price.php +8 -8
  58. includes/addons/wb_product_title.php +3 -6
  59. includes/addons/wb_product_upsell.php +1 -3
  60. includes/addons/wb_wc_multicurrency.php +0 -106
  61. includes/addons/wb_whols.php +0 -94
  62. includes/addons/wb_wishsuite_table.php +0 -143
  63. includes/addons/wl_brand.php +4 -4
  64. includes/addons/wl_category.php +10 -5
  65. includes/addons/wl_category_grid.php +0 -1130
  66. includes/addons/wl_faq.php +0 -948
  67. includes/addons/wl_onepage_slider.php +0 -646
  68. includes/addons/wl_product_filter.php +0 -1009
  69. includes/addons/wl_product_horizontal_filter.php +0 -1210
  70. includes/addons/wl_product_video_gallery.php +1 -1
  71. includes/addons/wl_store_features.php +0 -578
  72. includes/addons/wl_testimonial.php +0 -649
assets/addons/ajax-search/css/ajax-search.css CHANGED
@@ -60,31 +60,9 @@
60
  position: absolute;
61
  background: #fff;
62
  z-index: 999;
 
63
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
64
  }
65
- /* Scrollbar */
66
- .woolentor_psa_inner_wrapper{
67
- overflow-y: auto;
68
- overflow-x: hidden;
69
- }
70
- .woolentor_psa_inner_wrapper::-webkit-scrollbar {
71
- width: 10px;
72
- }
73
-
74
- .woolentor_psa_inner_wrapper::-webkit-scrollbar-track {
75
- background-color: transparent;
76
- }
77
-
78
- .woolentor_psa_inner_wrapper::-webkit-scrollbar-thumb {
79
- background-color: #d6dee1;
80
- border-radius: 10px;
81
- border: 3px solid transparent;
82
- background-clip: content-box;
83
- }
84
-
85
- .woolentor_psa_inner_wrapper::-webkit-scrollbar-thumb:hover {
86
- background-color: #a8bbbf;
87
- }
88
 
89
  .widget.woolentor_widget_psa.woolentor_widget_psa_clear #woolentor_psa_results_wrapper {
90
  top: 43px;
60
  position: absolute;
61
  background: #fff;
62
  z-index: 999;
63
+ overflow: auto;
64
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
65
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
 
67
  .widget.woolentor_widget_psa.woolentor_widget_psa_clear #woolentor_psa_results_wrapper {
68
  top: 43px;
assets/addons/ajax-search/js/ajax-search.js CHANGED
@@ -21,18 +21,6 @@
21
  $(this).siblings('input[type="search"]').val('');
22
  });
23
 
24
- // Click Outside
25
- $(document).mouseup(function(e){
26
- var container = $(".woolentor_widget_psa");
27
- var hidecontainer = $('#woolentor_psa_results_wrapper');
28
- // if the target of the click isn't the container nor a descendant of the container
29
- if (!container.is(e.target) && container.has(e.target).length === 0){
30
- hidecontainer.hide();
31
- }else{
32
- hidecontainer.show();
33
- }
34
- });
35
-
36
  });
37
 
38
  function doSearch( $this = '' ) {
@@ -63,6 +51,9 @@
63
  $this.siblings('#woolentor_psa_results_wrapper').css({'width': wrapper_width});
64
  $this.siblings('#woolentor_psa_results_wrapper').html(response);
65
  $this.parents('.woolentor_widget_psa').removeClass('woolentor_widget_psa_loading');
 
 
 
66
  },
67
  error: function(errorThrown){
68
  console.log(errorThrown);
21
  $(this).siblings('input[type="search"]').val('');
22
  });
23
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  });
25
 
26
  function doSearch( $this = '' ) {
51
  $this.siblings('#woolentor_psa_results_wrapper').css({'width': wrapper_width});
52
  $this.siblings('#woolentor_psa_results_wrapper').html(response);
53
  $this.parents('.woolentor_widget_psa').removeClass('woolentor_widget_psa_loading');
54
+
55
+ // nice scroll
56
+ $(".woolentor_psa_inner_wrapper").niceScroll({cursorborder:"",cursorcolor:"#666"});
57
  },
58
  error: function(errorThrown){
59
  console.log(errorThrown);
assets/addons/ajax-search/js/jquery.nicescroll.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /* jquery.nicescroll v3.7.6 InuYaksa - MIT - https://nicescroll.areaaperta.com */
2
+ ;!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){"use strict";var o=!1,t=!1,r=0,i=2e3,s=0,n=e,l=document,a=window,c=n(a),d=[],u=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||!1,h=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.mozCancelAnimationFrame||!1;if(u)a.cancelAnimationFrame||(h=function(e){});else{var p=0;u=function(e,o){var t=(new Date).getTime(),r=Math.max(0,16-(t-p)),i=a.setTimeout(function(){e(t+r)},r);return p=t+r,i},h=function(e){a.clearTimeout(e)}}var m=a.MutationObserver||a.WebKitMutationObserver||!1,f=Date.now||function(){return(new Date).getTime()},g={zindex:"auto",cursoropacitymin:0,cursoropacitymax:1,cursorcolor:"#424242",cursorwidth:"6px",cursorborder:"1px solid #fff",cursorborderradius:"5px",scrollspeed:40,mousescrollstep:27,touchbehavior:!1,emulatetouch:!1,hwacceleration:!0,usetransition:!0,boxzoom:!1,dblclickzoom:!0,gesturezoom:!0,grabcursorenabled:!0,autohidemode:!0,background:"",iframeautoresize:!0,cursorminheight:32,preservenativescrolling:!0,railoffset:!1,railhoffset:!1,bouncescroll:!0,spacebarenabled:!0,railpadding:{top:0,right:0,left:0,bottom:0},disableoutline:!0,horizrailenabled:!0,railalign:"right",railvalign:"bottom",enabletranslate3d:!0,enablemousewheel:!0,enablekeyboard:!0,smoothscroll:!0,sensitiverail:!0,enablemouselockapi:!0,cursorfixedheight:!1,directionlockdeadzone:6,hidecursordelay:400,nativeparentscrolling:!0,enablescrollonselection:!0,overflowx:!0,overflowy:!0,cursordragspeed:.3,rtlmode:"auto",cursordragontouch:!1,oneaxismousemode:"auto",scriptpath:function(){var e=l.currentScript||function(){var e=l.getElementsByTagName("script");return!!e.length&&e[e.length-1]}(),o=e?e.src.split("?")[0]:"";return o.split("/").length>0?o.split("/").slice(0,-1).join("/")+"/":""}(),preventmultitouchscrolling:!0,disablemutationobserver:!1,enableobserver:!0,scrollbarid:!1},v=!1,w=function(){if(v)return v;var e=l.createElement("DIV"),o=e.style,t=navigator.userAgent,r=navigator.platform,i={};return i.haspointerlock="pointerLockElement"in l||"webkitPointerLockElement"in l||"mozPointerLockElement"in l,i.isopera="opera"in a,i.isopera12=i.isopera&&"getUserMedia"in navigator,i.isoperamini="[object OperaMini]"===Object.prototype.toString.call(a.operamini),i.isie="all"in l&&"attachEvent"in e&&!i.isopera,i.isieold=i.isie&&!("msInterpolationMode"in o),i.isie7=i.isie&&!i.isieold&&(!("documentMode"in l)||7===l.documentMode),i.isie8=i.isie&&"documentMode"in l&&8===l.documentMode,i.isie9=i.isie&&"performance"in a&&9===l.documentMode,i.isie10=i.isie&&"performance"in a&&10===l.documentMode,i.isie11="msRequestFullscreen"in e&&l.documentMode>=11,i.ismsedge="msCredentials"in a,i.ismozilla="MozAppearance"in o,i.iswebkit=!i.ismsedge&&"WebkitAppearance"in o,i.ischrome=i.iswebkit&&"chrome"in a,i.ischrome38=i.ischrome&&"touchAction"in o,i.ischrome22=!i.ischrome38&&i.ischrome&&i.haspointerlock,i.ischrome26=!i.ischrome38&&i.ischrome&&"transition"in o,i.cantouch="ontouchstart"in l.documentElement||"ontouchstart"in a,i.hasw3ctouch=(a.PointerEvent||!1)&&(navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0),i.hasmstouch=!i.hasw3ctouch&&(a.MSPointerEvent||!1),i.ismac=/^mac$/i.test(r),i.isios=i.cantouch&&/iphone|ipad|ipod/i.test(r),i.isios4=i.isios&&!("seal"in Object),i.isios7=i.isios&&"webkitHidden"in l,i.isios8=i.isios&&"hidden"in l,i.isios10=i.isios&&a.Proxy,i.isandroid=/android/i.test(t),i.haseventlistener="addEventListener"in e,i.trstyle=!1,i.hastransform=!1,i.hastranslate3d=!1,i.transitionstyle=!1,i.hastransition=!1,i.transitionend=!1,i.trstyle="transform",i.hastransform="transform"in o||function(){for(var e=["msTransform","webkitTransform","MozTransform","OTransform"],t=0,r=e.length;t<r;t++)if(void 0!==o[e[t]]){i.trstyle=e[t];break}i.hastransform=!!i.trstyle}(),i.hastransform&&(o[i.trstyle]="translate3d(1px,2px,3px)",i.hastranslate3d=/translate3d/.test(o[i.trstyle])),i.transitionstyle="transition",i.prefixstyle="",i.transitionend="transitionend",i.hastransition="transition"in o||function(){i.transitionend=!1;for(var e=["webkitTransition","msTransition","MozTransition","OTransition","OTransition","KhtmlTransition"],t=["-webkit-","-ms-","-moz-","-o-","-o","-khtml-"],r=["webkitTransitionEnd","msTransitionEnd","transitionend","otransitionend","oTransitionEnd","KhtmlTransitionEnd"],s=0,n=e.length;s<n;s++)if(e[s]in o){i.transitionstyle=e[s],i.prefixstyle=t[s],i.transitionend=r[s];break}i.ischrome26&&(i.prefixstyle=t[1]),i.hastransition=i.transitionstyle}(),i.cursorgrabvalue=function(){var e=["grab","-webkit-grab","-moz-grab"];(i.ischrome&&!i.ischrome38||i.isie)&&(e=[]);for(var t=0,r=e.length;t<r;t++){var s=e[t];if(o.cursor=s,o.cursor==s)return s}return"url(https://cdnjs.cloudflare.com/ajax/libs/slider-pro/1.3.0/css/images/openhand.cur),n-resize"}(),i.hasmousecapture="setCapture"in e,i.hasMutationObserver=!1!==m,e=null,v=i,i},b=function(e,p){function v(){var e=T.doc.css(P.trstyle);return!(!e||"matrix"!=e.substr(0,6))&&e.replace(/^.*\((.*)\)$/g,"$1").replace(/px/g,"").split(/, +/)}function b(){var e=T.win;if("zIndex"in e)return e.zIndex();for(;e.length>0;){if(9==e[0].nodeType)return!1;var o=e.css("zIndex");if(!isNaN(o)&&0!==o)return parseInt(o);e=e.parent()}return!1}function x(e,o,t){var r=e.css(o),i=parseFloat(r);if(isNaN(i)){var s=3==(i=I[r]||0)?t?T.win.outerHeight()-T.win.innerHeight():T.win.outerWidth()-T.win.innerWidth():1;return T.isie8&&i&&(i+=1),s?i:0}return i}function S(e,o,t,r){T._bind(e,o,function(r){var i={original:r=r||a.event,target:r.target||r.srcElement,type:"wheel",deltaMode:"MozMousePixelScroll"==r.type?0:1,deltaX:0,deltaZ:0,preventDefault:function(){return r.preventDefault?r.preventDefault():r.returnValue=!1,!1},stopImmediatePropagation:function(){r.stopImmediatePropagation?r.stopImmediatePropagation():r.cancelBubble=!0}};return"mousewheel"==o?(r.wheelDeltaX&&(i.deltaX=-.025*r.wheelDeltaX),r.wheelDeltaY&&(i.deltaY=-.025*r.wheelDeltaY),!i.deltaY&&!i.deltaX&&(i.deltaY=-.025*r.wheelDelta)):i.deltaY=r.detail,t.call(e,i)},r)}function z(e,o,t,r){T.scrollrunning||(T.newscrolly=T.getScrollTop(),T.newscrollx=T.getScrollLeft(),D=f());var i=f()-D;if(D=f(),i>350?A=1:A+=(2-A)/10,e=e*A|0,o=o*A|0,e){if(r)if(e<0){if(T.getScrollLeft()>=T.page.maxw)return!0}else if(T.getScrollLeft()<=0)return!0;var s=e>0?1:-1;X!==s&&(T.scrollmom&&T.scrollmom.stop(),T.newscrollx=T.getScrollLeft(),X=s),T.lastdeltax-=e}if(o){if(function(){var e=T.getScrollTop();if(o<0){if(e>=T.page.maxh)return!0}else if(e<=0)return!0}()){if(M.nativeparentscrolling&&t&&!T.ispage&&!T.zoomactive)return!0;var n=T.view.h>>1;T.newscrolly<-n?(T.newscrolly=-n,o=-1):T.newscrolly>T.page.maxh+n?(T.newscrolly=T.page.maxh+n,o=1):o=0}var l=o>0?1:-1;B!==l&&(T.scrollmom&&T.scrollmom.stop(),T.newscrolly=T.getScrollTop(),B=l),T.lastdeltay-=o}(o||e)&&T.synched("relativexy",function(){var e=T.lastdeltay+T.newscrolly;T.lastdeltay=0;var o=T.lastdeltax+T.newscrollx;T.lastdeltax=0,T.rail.drag||T.doScrollPos(o,e)})}function k(e,o,t){var r,i;return!(t||!q)||(0===e.deltaMode?(r=-e.deltaX*(M.mousescrollstep/54)|0,i=-e.deltaY*(M.mousescrollstep/54)|0):1===e.deltaMode&&(r=-e.deltaX*M.mousescrollstep*50/80|0,i=-e.deltaY*M.mousescrollstep*50/80|0),o&&M.oneaxismousemode&&0===r&&i&&(r=i,i=0,t&&(r<0?T.getScrollLeft()>=T.page.maxw:T.getScrollLeft()<=0)&&(i=r,r=0)),T.isrtlmode&&(r=-r),z(r,i,t,!0)?void(t&&(q=!0)):(q=!1,e.stopImmediatePropagation(),e.preventDefault()))}var T=this;this.version="3.7.6",this.name="nicescroll",this.me=p;var E=n("body"),M=this.opt={doc:E,win:!1};if(n.extend(M,g),M.snapbackspeed=80,e)for(var L in M)void 0!==e[L]&&(M[L]=e[L]);if(M.disablemutationobserver&&(m=!1),this.doc=M.doc,this.iddoc=this.doc&&this.doc[0]?this.doc[0].id||"":"",this.ispage=/^BODY|HTML/.test(M.win?M.win[0].nodeName:this.doc[0].nodeName),this.haswrapper=!1!==M.win,this.win=M.win||(this.ispage?c:this.doc),this.docscroll=this.ispage&&!this.haswrapper?c:this.win,this.body=E,this.viewport=!1,this.isfixed=!1,this.iframe=!1,this.isiframe="IFRAME"==this.doc[0].nodeName&&"IFRAME"==this.win[0].nodeName,this.istextarea="TEXTAREA"==this.win[0].nodeName,this.forcescreen=!1,this.canshowonmouseevent="scroll"!=M.autohidemode,this.onmousedown=!1,this.onmouseup=!1,this.onmousemove=!1,this.onmousewheel=!1,this.onkeypress=!1,this.ongesturezoom=!1,this.onclick=!1,this.onscrollstart=!1,this.onscrollend=!1,this.onscrollcancel=!1,this.onzoomin=!1,this.onzoomout=!1,this.view=!1,this.page=!1,this.scroll={x:0,y:0},this.scrollratio={x:0,y:0},this.cursorheight=20,this.scrollvaluemax=0,"auto"==M.rtlmode){var C=this.win[0]==a?this.body:this.win,N=C.css("writing-mode")||C.css("-webkit-writing-mode")||C.css("-ms-writing-mode")||C.css("-moz-writing-mode");"horizontal-tb"==N||"lr-tb"==N||""===N?(this.isrtlmode="rtl"==C.css("direction"),this.isvertical=!1):(this.isrtlmode="vertical-rl"==N||"tb"==N||"tb-rl"==N||"rl-tb"==N,this.isvertical="vertical-rl"==N||"tb"==N||"tb-rl"==N)}else this.isrtlmode=!0===M.rtlmode,this.isvertical=!1;if(this.scrollrunning=!1,this.scrollmom=!1,this.observer=!1,this.observerremover=!1,this.observerbody=!1,!1!==M.scrollbarid)this.id=M.scrollbarid;else do{this.id="ascrail"+i++}while(l.getElementById(this.id));this.rail=!1,this.cursor=!1,this.cursorfreezed=!1,this.selectiondrag=!1,this.zoom=!1,this.zoomactive=!1,this.hasfocus=!1,this.hasmousefocus=!1,this.railslocked=!1,this.locked=!1,this.hidden=!1,this.cursoractive=!0,this.wheelprevented=!1,this.overflowx=M.overflowx,this.overflowy=M.overflowy,this.nativescrollingarea=!1,this.checkarea=0,this.events=[],this.saved={},this.delaylist={},this.synclist={},this.lastdeltax=0,this.lastdeltay=0,this.detected=w();var P=n.extend({},this.detected);this.canhwscroll=P.hastransform&&M.hwacceleration,this.ishwscroll=this.canhwscroll&&T.haswrapper,this.isrtlmode?this.isvertical?this.hasreversehr=!(P.iswebkit||P.isie||P.isie11):this.hasreversehr=!(P.iswebkit||P.isie&&!P.isie10&&!P.isie11):this.hasreversehr=!1,this.istouchcapable=!1,P.cantouch||!P.hasw3ctouch&&!P.hasmstouch?!P.cantouch||P.isios||P.isandroid||!P.iswebkit&&!P.ismozilla||(this.istouchcapable=!0):this.istouchcapable=!0,M.enablemouselockapi||(P.hasmousecapture=!1,P.haspointerlock=!1),this.debounced=function(e,o,t){T&&(T.delaylist[e]||!1||(T.delaylist[e]={h:u(function(){T.delaylist[e].fn.call(T),T.delaylist[e]=!1},t)},o.call(T)),T.delaylist[e].fn=o)},this.synched=function(e,o){T.synclist[e]?T.synclist[e]=o:(T.synclist[e]=o,u(function(){T&&(T.synclist[e]&&T.synclist[e].call(T),T.synclist[e]=null)}))},this.unsynched=function(e){T.synclist[e]&&(T.synclist[e]=!1)},this.css=function(e,o){for(var t in o)T.saved.css.push([e,t,e.css(t)]),e.css(t,o[t])},this.scrollTop=function(e){return void 0===e?T.getScrollTop():T.setScrollTop(e)},this.scrollLeft=function(e){return void 0===e?T.getScrollLeft():T.setScrollLeft(e)};var R=function(e,o,t,r,i,s,n){this.st=e,this.ed=o,this.spd=t,this.p1=r||0,this.p2=i||1,this.p3=s||0,this.p4=n||1,this.ts=f(),this.df=o-e};if(R.prototype={B2:function(e){return 3*(1-e)*(1-e)*e},B3:function(e){return 3*(1-e)*e*e},B4:function(e){return e*e*e},getPos:function(){return(f()-this.ts)/this.spd},getNow:function(){var e=(f()-this.ts)/this.spd,o=this.B2(e)+this.B3(e)+this.B4(e);return e>=1?this.ed:this.st+this.df*o|0},update:function(e,o){return this.st=this.getNow(),this.ed=e,this.spd=o,this.ts=f(),this.df=this.ed-this.st,this}},this.ishwscroll){this.doc.translate={x:0,y:0,tx:"0px",ty:"0px"},P.hastranslate3d&&P.isios&&this.doc.css("-webkit-backface-visibility","hidden"),this.getScrollTop=function(e){if(!e){var o=v();if(o)return 16==o.length?-o[13]:-o[5];if(T.timerscroll&&T.timerscroll.bz)return T.timerscroll.bz.getNow()}return T.doc.translate.y},this.getScrollLeft=function(e){if(!e){var o=v();if(o)return 16==o.length?-o[12]:-o[4];if(T.timerscroll&&T.timerscroll.bh)return T.timerscroll.bh.getNow()}return T.doc.translate.x},this.notifyScrollEvent=function(e){var o=l.createEvent("UIEvents");o.initUIEvent("scroll",!1,!1,a,1),o.niceevent=!0,e.dispatchEvent(o)};var _=this.isrtlmode?1:-1;P.hastranslate3d&&M.enabletranslate3d?(this.setScrollTop=function(e,o){T.doc.translate.y=e,T.doc.translate.ty=-1*e+"px",T.doc.css(P.trstyle,"translate3d("+T.doc.translate.tx+","+T.doc.translate.ty+",0)"),o||T.notifyScrollEvent(T.win[0])},this.setScrollLeft=function(e,o){T.doc.translate.x=e,T.doc.translate.tx=e*_+"px",T.doc.css(P.trstyle,"translate3d("+T.doc.translate.tx+","+T.doc.translate.ty+",0)"),o||T.notifyScrollEvent(T.win[0])}):(this.setScrollTop=function(e,o){T.doc.translate.y=e,T.doc.translate.ty=-1*e+"px",T.doc.css(P.trstyle,"translate("+T.doc.translate.tx+","+T.doc.translate.ty+")"),o||T.notifyScrollEvent(T.win[0])},this.setScrollLeft=function(e,o){T.doc.translate.x=e,T.doc.translate.tx=e*_+"px",T.doc.css(P.trstyle,"translate("+T.doc.translate.tx+","+T.doc.translate.ty+")"),o||T.notifyScrollEvent(T.win[0])})}else this.getScrollTop=function(){return T.docscroll.scrollTop()},this.setScrollTop=function(e){T.docscroll.scrollTop(e)},this.getScrollLeft=function(){return T.hasreversehr?T.detected.ismozilla?T.page.maxw-Math.abs(T.docscroll.scrollLeft()):T.page.maxw-T.docscroll.scrollLeft():T.docscroll.scrollLeft()},this.setScrollLeft=function(e){return setTimeout(function(){if(T)return T.hasreversehr&&(e=T.detected.ismozilla?-(T.page.maxw-e):T.page.maxw-e),T.docscroll.scrollLeft(e)},1)};this.getTarget=function(e){return!!e&&(e.target?e.target:!!e.srcElement&&e.srcElement)},this.hasParent=function(e,o){if(!e)return!1;for(var t=e.target||e.srcElement||e||!1;t&&t.id!=o;)t=t.parentNode||!1;return!1!==t};var I={thin:1,medium:3,thick:5};this.getDocumentScrollOffset=function(){return{top:a.pageYOffset||l.documentElement.scrollTop,left:a.pageXOffset||l.documentElement.scrollLeft}},this.getOffset=function(){if(T.isfixed){var e=T.win.offset(),o=T.getDocumentScrollOffset();return e.top-=o.top,e.left-=o.left,e}var t=T.win.offset();if(!T.viewport)return t;var r=T.viewport.offset();return{top:t.top-r.top,left:t.left-r.left}},this.updateScrollBar=function(e){var o,t;if(T.ishwscroll)T.rail.css({height:T.win.innerHeight()-(M.railpadding.top+M.railpadding.bottom)}),T.railh&&T.railh.css({width:T.win.innerWidth()-(M.railpadding.left+M.railpadding.right)});else{var r=T.getOffset();if(o={top:r.top,left:r.left-(M.railpadding.left+M.railpadding.right)},o.top+=x(T.win,"border-top-width",!0),o.left+=T.rail.align?T.win.outerWidth()-x(T.win,"border-right-width")-T.rail.width:x(T.win,"border-left-width"),(t=M.railoffset)&&(t.top&&(o.top+=t.top),t.left&&(o.left+=t.left)),T.railslocked||T.rail.css({top:o.top,left:o.left,height:(e?e.h:T.win.innerHeight())-(M.railpadding.top+M.railpadding.bottom)}),T.zoom&&T.zoom.css({top:o.top+1,left:1==T.rail.align?o.left-20:o.left+T.rail.width+4}),T.railh&&!T.railslocked){o={top:r.top,left:r.left},(t=M.railhoffset)&&(t.top&&(o.top+=t.top),t.left&&(o.left+=t.left));var i=T.railh.align?o.top+x(T.win,"border-top-width",!0)+T.win.innerHeight()-T.railh.height:o.top+x(T.win,"border-top-width",!0),s=o.left+x(T.win,"border-left-width");T.railh.css({top:i-(M.railpadding.top+M.railpadding.bottom),left:s,width:T.railh.width})}}},this.doRailClick=function(e,o,t){var r,i,s,n;T.railslocked||(T.cancelEvent(e),"pageY"in e||(e.pageX=e.clientX+l.documentElement.scrollLeft,e.pageY=e.clientY+l.documentElement.scrollTop),o?(r=t?T.doScrollLeft:T.doScrollTop,s=t?(e.pageX-T.railh.offset().left-T.cursorwidth/2)*T.scrollratio.x:(e.pageY-T.rail.offset().top-T.cursorheight/2)*T.scrollratio.y,T.unsynched("relativexy"),r(0|s)):(r=t?T.doScrollLeftBy:T.doScrollBy,s=t?T.scroll.x:T.scroll.y,n=t?e.pageX-T.railh.offset().left:e.pageY-T.rail.offset().top,i=t?T.view.w:T.view.h,r(s>=n?i:-i)))},T.newscrolly=T.newscrollx=0,T.hasanimationframe="requestAnimationFrame"in a,T.hascancelanimationframe="cancelAnimationFrame"in a,T.hasborderbox=!1,this.init=function(){if(T.saved.css=[],P.isoperamini)return!0;if(P.isandroid&&!("hidden"in l))return!0;M.emulatetouch=M.emulatetouch||M.touchbehavior,T.hasborderbox=a.getComputedStyle&&"border-box"===a.getComputedStyle(l.body)["box-sizing"];var e={"overflow-y":"hidden"};if((P.isie11||P.isie10)&&(e["-ms-overflow-style"]="none"),T.ishwscroll&&(this.doc.css(P.transitionstyle,P.prefixstyle+"transform 0ms ease-out"),P.transitionend&&T.bind(T.doc,P.transitionend,T.onScrollTransitionEnd,!1)),T.zindex="auto",T.ispage||"auto"!=M.zindex?T.zindex=M.zindex:T.zindex=b()||"auto",!T.ispage&&"auto"!=T.zindex&&T.zindex>s&&(s=T.zindex),T.isie&&0===T.zindex&&"auto"==M.zindex&&(T.zindex="auto"),!T.ispage||!P.isieold){var i=T.docscroll;T.ispage&&(i=T.haswrapper?T.win:T.doc),T.css(i,e),T.ispage&&(P.isie11||P.isie)&&T.css(n("html"),e),!P.isios||T.ispage||T.haswrapper||T.css(E,{"-webkit-overflow-scrolling":"touch"});var d=n(l.createElement("div"));d.css({position:"relative",top:0,float:"right",width:M.cursorwidth,height:0,"background-color":M.cursorcolor,border:M.cursorborder,"background-clip":"padding-box","-webkit-border-radius":M.cursorborderradius,"-moz-border-radius":M.cursorborderradius,"border-radius":M.cursorborderradius}),d.addClass("nicescroll-cursors"),T.cursor=d;var u=n(l.createElement("div"));u.attr("id",T.id),u.addClass("nicescroll-rails nicescroll-rails-vr");var h,p,f=["left","right","top","bottom"];for(var g in f)p=f[g],(h=M.railpadding[p]||0)&&u.css("padding-"+p,h+"px");u.append(d),u.width=Math.max(parseFloat(M.cursorwidth),d.outerWidth()),u.css({width:u.width+"px",zIndex:T.zindex,background:M.background,cursor:"default"}),u.visibility=!0,u.scrollable=!0,u.align="left"==M.railalign?0:1,T.rail=u,T.rail.drag=!1;var v=!1;!M.boxzoom||T.ispage||P.isieold||(v=l.createElement("div"),T.bind(v,"click",T.doZoom),T.bind(v,"mouseenter",function(){T.zoom.css("opacity",M.cursoropacitymax)}),T.bind(v,"mouseleave",function(){T.zoom.css("opacity",M.cursoropacitymin)}),T.zoom=n(v),T.zoom.css({cursor:"pointer",zIndex:T.zindex,backgroundImage:"url("+M.scriptpath+"zoomico.png)",height:18,width:18,backgroundPosition:"0 0"}),M.dblclickzoom&&T.bind(T.win,"dblclick",T.doZoom),P.cantouch&&M.gesturezoom&&(T.ongesturezoom=function(e){return e.scale>1.5&&T.doZoomIn(e),e.scale<.8&&T.doZoomOut(e),T.cancelEvent(e)},T.bind(T.win,"gestureend",T.ongesturezoom))),T.railh=!1;var w;if(M.horizrailenabled&&(T.css(i,{overflowX:"hidden"}),(d=n(l.createElement("div"))).css({position:"absolute",top:0,height:M.cursorwidth,width:0,backgroundColor:M.cursorcolor,border:M.cursorborder,backgroundClip:"padding-box","-webkit-border-radius":M.cursorborderradius,"-moz-border-radius":M.cursorborderradius,"border-radius":M.cursorborderradius}),P.isieold&&d.css("overflow","hidden"),d.addClass("nicescroll-cursors"),T.cursorh=d,(w=n(l.createElement("div"))).attr("id",T.id+"-hr"),w.addClass("nicescroll-rails nicescroll-rails-hr"),w.height=Math.max(parseFloat(M.cursorwidth),d.outerHeight()),w.css({height:w.height+"px",zIndex:T.zindex,background:M.background}),w.append(d),w.visibility=!0,w.scrollable=!0,w.align="top"==M.railvalign?0:1,T.railh=w,T.railh.drag=!1),T.ispage)u.css({position:"fixed",top:0,height:"100%"}),u.css(u.align?{right:0}:{left:0}),T.body.append(u),T.railh&&(w.css({position:"fixed",left:0,width:"100%"}),w.css(w.align?{bottom:0}:{top:0}),T.body.append(w));else{if(T.ishwscroll){"static"==T.win.css("position")&&T.css(T.win,{position:"relative"});var x="HTML"==T.win[0].nodeName?T.body:T.win;n(x).scrollTop(0).scrollLeft(0),T.zoom&&(T.zoom.css({position:"absolute",top:1,right:0,"margin-right":u.width+4}),x.append(T.zoom)),u.css({position:"absolute",top:0}),u.css(u.align?{right:0}:{left:0}),x.append(u),w&&(w.css({position:"absolute",left:0,bottom:0}),w.css(w.align?{bottom:0}:{top:0}),x.append(w))}else{T.isfixed="fixed"==T.win.css("position");var S=T.isfixed?"fixed":"absolute";T.isfixed||(T.viewport=T.getViewport(T.win[0])),T.viewport&&(T.body=T.viewport,/fixed|absolute/.test(T.viewport.css("position"))||T.css(T.viewport,{position:"relative"})),u.css({position:S}),T.zoom&&T.zoom.css({position:S}),T.updateScrollBar(),T.body.append(u),T.zoom&&T.body.append(T.zoom),T.railh&&(w.css({position:S}),T.body.append(w))}P.isios&&T.css(T.win,{"-webkit-tap-highlight-color":"rgba(0,0,0,0)","-webkit-touch-callout":"none"}),M.disableoutline&&(P.isie&&T.win.attr("hideFocus","true"),P.iswebkit&&T.win.css("outline","none"))}if(!1===M.autohidemode?(T.autohidedom=!1,T.rail.css({opacity:M.cursoropacitymax}),T.railh&&T.railh.css({opacity:M.cursoropacitymax})):!0===M.autohidemode||"leave"===M.autohidemode?(T.autohidedom=n().add(T.rail),P.isie8&&(T.autohidedom=T.autohidedom.add(T.cursor)),T.railh&&(T.autohidedom=T.autohidedom.add(T.railh)),T.railh&&P.isie8&&(T.autohidedom=T.autohidedom.add(T.cursorh))):"scroll"==M.autohidemode?(T.autohidedom=n().add(T.rail),T.railh&&(T.autohidedom=T.autohidedom.add(T.railh))):"cursor"==M.autohidemode?(T.autohidedom=n().add(T.cursor),T.railh&&(T.autohidedom=T.autohidedom.add(T.cursorh))):"hidden"==M.autohidemode&&(T.autohidedom=!1,T.hide(),T.railslocked=!1),P.cantouch||T.istouchcapable||M.emulatetouch||P.hasmstouch){T.scrollmom=new y(T);T.ontouchstart=function(e){if(T.locked)return!1;if(e.pointerType&&("mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))return!1;if(T.hasmoving=!1,T.scrollmom.timer&&(T.triggerScrollEnd(),T.scrollmom.stop()),!T.railslocked){var o=T.getTarget(e);if(o&&/INPUT/i.test(o.nodeName)&&/range/i.test(o.type))return T.stopPropagation(e);var t="mousedown"===e.type;if(!("clientX"in e)&&"changedTouches"in e&&(e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY),T.forcescreen){var r=e;(e={original:e.original?e.original:e}).clientX=r.screenX,e.clientY=r.screenY}if(T.rail.drag={x:e.clientX,y:e.clientY,sx:T.scroll.x,sy:T.scroll.y,st:T.getScrollTop(),sl:T.getScrollLeft(),pt:2,dl:!1,tg:o},T.ispage||!M.directionlockdeadzone)T.rail.drag.dl="f";else{var i={w:c.width(),h:c.height()},s=T.getContentSize(),l=s.h-i.h,a=s.w-i.w;T.rail.scrollable&&!T.railh.scrollable?T.rail.drag.ck=l>0&&"v":!T.rail.scrollable&&T.railh.scrollable?T.rail.drag.ck=a>0&&"h":T.rail.drag.ck=!1}if(M.emulatetouch&&T.isiframe&&P.isie){var d=T.win.position();T.rail.drag.x+=d.left,T.rail.drag.y+=d.top}if(T.hasmoving=!1,T.lastmouseup=!1,T.scrollmom.reset(e.clientX,e.clientY),o&&t){if(!/INPUT|SELECT|BUTTON|TEXTAREA/i.test(o.nodeName))return P.hasmousecapture&&o.setCapture(),M.emulatetouch?(o.onclick&&!o._onclick&&(o._onclick=o.onclick,o.onclick=function(e){if(T.hasmoving)return!1;o._onclick.call(this,e)}),T.cancelEvent(e)):T.stopPropagation(e);/SUBMIT|CANCEL|BUTTON/i.test(n(o).attr("type"))&&(T.preventclick={tg:o,click:!1})}}},T.ontouchend=function(e){if(!T.rail.drag)return!0;if(2==T.rail.drag.pt){if(e.pointerType&&("mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))return!1;T.rail.drag=!1;var o="mouseup"===e.type;if(T.hasmoving&&(T.scrollmom.doMomentum(),T.lastmouseup=!0,T.hideCursor(),P.hasmousecapture&&l.releaseCapture(),o))return T.cancelEvent(e)}else if(1==T.rail.drag.pt)return T.onmouseup(e)};var z=M.emulatetouch&&T.isiframe&&!P.hasmousecapture,k=.3*M.directionlockdeadzone|0;T.ontouchmove=function(e,o){if(!T.rail.drag)return!0;if(e.targetTouches&&M.preventmultitouchscrolling&&e.targetTouches.length>1)return!0;if(e.pointerType&&("mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))return!0;if(2==T.rail.drag.pt){"changedTouches"in e&&(e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY);var t,r;if(r=t=0,z&&!o){var i=T.win.position();r=-i.left,t=-i.top}var s=e.clientY+t,n=s-T.rail.drag.y,a=e.clientX+r,c=a-T.rail.drag.x,d=T.rail.drag.st-n;if(T.ishwscroll&&M.bouncescroll)d<0?d=Math.round(d/2):d>T.page.maxh&&(d=T.page.maxh+Math.round((d-T.page.maxh)/2));else if(d<0?(d=0,s=0):d>T.page.maxh&&(d=T.page.maxh,s=0),0===s&&!T.hasmoving)return T.ispage||(T.rail.drag=!1),!0;var u=T.getScrollLeft();if(T.railh&&T.railh.scrollable&&(u=T.isrtlmode?c-T.rail.drag.sl:T.rail.drag.sl-c,T.ishwscroll&&M.bouncescroll?u<0?u=Math.round(u/2):u>T.page.maxw&&(u=T.page.maxw+Math.round((u-T.page.maxw)/2)):(u<0&&(u=0,a=0),u>T.page.maxw&&(u=T.page.maxw,a=0))),!T.hasmoving){if(T.rail.drag.y===e.clientY&&T.rail.drag.x===e.clientX)return T.cancelEvent(e);var h=Math.abs(n),p=Math.abs(c),m=M.directionlockdeadzone;if(T.rail.drag.ck?"v"==T.rail.drag.ck?p>m&&h<=k?T.rail.drag=!1:h>m&&(T.rail.drag.dl="v"):"h"==T.rail.drag.ck&&(h>m&&p<=k?T.rail.drag=!1:p>m&&(T.rail.drag.dl="h")):h>m&&p>m?T.rail.drag.dl="f":h>m?T.rail.drag.dl=p>k?"f":"v":p>m&&(T.rail.drag.dl=h>k?"f":"h"),!T.rail.drag.dl)return T.cancelEvent(e);T.triggerScrollStart(e.clientX,e.clientY,0,0,0),T.hasmoving=!0}return T.preventclick&&!T.preventclick.click&&(T.preventclick.click=T.preventclick.tg.onclick||!1,T.preventclick.tg.onclick=T.onpreventclick),T.rail.drag.dl&&("v"==T.rail.drag.dl?u=T.rail.drag.sl:"h"==T.rail.drag.dl&&(d=T.rail.drag.st)),T.synched("touchmove",function(){T.rail.drag&&2==T.rail.drag.pt&&(T.prepareTransition&&T.resetTransition(),T.rail.scrollable&&T.setScrollTop(d),T.scrollmom.update(a,s),T.railh&&T.railh.scrollable?(T.setScrollLeft(u),T.showCursor(d,u)):T.showCursor(d),P.isie10&&l.selection.clear())}),T.cancelEvent(e)}return 1==T.rail.drag.pt?T.onmousemove(e):void 0},T.ontouchstartCursor=function(e,o){if(!T.rail.drag||3==T.rail.drag.pt){if(T.locked)return T.cancelEvent(e);T.cancelScroll(),T.rail.drag={x:e.touches[0].clientX,y:e.touches[0].clientY,sx:T.scroll.x,sy:T.scroll.y,pt:3,hr:!!o};var t=T.getTarget(e);return!T.ispage&&P.hasmousecapture&&t.setCapture(),T.isiframe&&!P.hasmousecapture&&(T.saved.csspointerevents=T.doc.css("pointer-events"),T.css(T.doc,{"pointer-events":"none"})),T.cancelEvent(e)}},T.ontouchendCursor=function(e){if(T.rail.drag){if(P.hasmousecapture&&l.releaseCapture(),T.isiframe&&!P.hasmousecapture&&T.doc.css("pointer-events",T.saved.csspointerevents),3!=T.rail.drag.pt)return;return T.rail.drag=!1,T.cancelEvent(e)}},T.ontouchmoveCursor=function(e){if(T.rail.drag){if(3!=T.rail.drag.pt)return;if(T.cursorfreezed=!0,T.rail.drag.hr){T.scroll.x=T.rail.drag.sx+(e.touches[0].clientX-T.rail.drag.x),T.scroll.x<0&&(T.scroll.x=0);var o=T.scrollvaluemaxw;T.scroll.x>o&&(T.scroll.x=o)}else{T.scroll.y=T.rail.drag.sy+(e.touches[0].clientY-T.rail.drag.y),T.scroll.y<0&&(T.scroll.y=0);var t=T.scrollvaluemax;T.scroll.y>t&&(T.scroll.y=t)}return T.synched("touchmove",function(){T.rail.drag&&3==T.rail.drag.pt&&(T.showCursor(),T.rail.drag.hr?T.doScrollLeft(Math.round(T.scroll.x*T.scrollratio.x),M.cursordragspeed):T.doScrollTop(Math.round(T.scroll.y*T.scrollratio.y),M.cursordragspeed))}),T.cancelEvent(e)}}}if(T.onmousedown=function(e,o){if(!T.rail.drag||1==T.rail.drag.pt){if(T.railslocked)return T.cancelEvent(e);T.cancelScroll(),T.rail.drag={x:e.clientX,y:e.clientY,sx:T.scroll.x,sy:T.scroll.y,pt:1,hr:o||!1};var t=T.getTarget(e);return P.hasmousecapture&&t.setCapture(),T.isiframe&&!P.hasmousecapture&&(T.saved.csspointerevents=T.doc.css("pointer-events"),T.css(T.doc,{"pointer-events":"none"})),T.hasmoving=!1,T.cancelEvent(e)}},T.onmouseup=function(e){if(T.rail.drag)return 1!=T.rail.drag.pt||(P.hasmousecapture&&l.releaseCapture(),T.isiframe&&!P.hasmousecapture&&T.doc.css("pointer-events",T.saved.csspointerevents),T.rail.drag=!1,T.cursorfreezed=!1,T.hasmoving&&T.triggerScrollEnd(),T.cancelEvent(e))},T.onmousemove=function(e){if(T.rail.drag){if(1!==T.rail.drag.pt)return;if(P.ischrome&&0===e.which)return T.onmouseup(e);if(T.cursorfreezed=!0,T.hasmoving||T.triggerScrollStart(e.clientX,e.clientY,0,0,0),T.hasmoving=!0,T.rail.drag.hr){T.scroll.x=T.rail.drag.sx+(e.clientX-T.rail.drag.x),T.scroll.x<0&&(T.scroll.x=0);var o=T.scrollvaluemaxw;T.scroll.x>o&&(T.scroll.x=o)}else{T.scroll.y=T.rail.drag.sy+(e.clientY-T.rail.drag.y),T.scroll.y<0&&(T.scroll.y=0);var t=T.scrollvaluemax;T.scroll.y>t&&(T.scroll.y=t)}return T.synched("mousemove",function(){T.cursorfreezed&&(T.showCursor(),T.rail.drag.hr?T.scrollLeft(Math.round(T.scroll.x*T.scrollratio.x)):T.scrollTop(Math.round(T.scroll.y*T.scrollratio.y)))}),T.cancelEvent(e)}T.checkarea=0},P.cantouch||M.emulatetouch)T.onpreventclick=function(e){if(T.preventclick)return T.preventclick.tg.onclick=T.preventclick.click,T.preventclick=!1,T.cancelEvent(e)},T.onclick=!P.isios&&function(e){return!T.lastmouseup||(T.lastmouseup=!1,T.cancelEvent(e))},M.grabcursorenabled&&P.cursorgrabvalue&&(T.css(T.ispage?T.doc:T.win,{cursor:P.cursorgrabvalue}),T.css(T.rail,{cursor:P.cursorgrabvalue}));else{var L=function(e){if(T.selectiondrag){if(e){var o=T.win.outerHeight(),t=e.pageY-T.selectiondrag.top;t>0&&t<o&&(t=0),t>=o&&(t-=o),T.selectiondrag.df=t}if(0!==T.selectiondrag.df){var r=-2*T.selectiondrag.df/6|0;T.doScrollBy(r),T.debounced("doselectionscroll",function(){L()},50)}}};T.hasTextSelected="getSelection"in l?function(){return l.getSelection().rangeCount>0}:"selection"in l?function(){return"None"!=l.selection.type}:function(){return!1},T.onselectionstart=function(e){T.ispage||(T.selectiondrag=T.win.offset())},T.onselectionend=function(e){T.selectiondrag=!1},T.onselectiondrag=function(e){T.selectiondrag&&T.hasTextSelected()&&T.debounced("selectionscroll",function(){L(e)},250)}}if(P.hasw3ctouch?(T.css(T.ispage?n("html"):T.win,{"touch-action":"none"}),T.css(T.rail,{"touch-action":"none"}),T.css(T.cursor,{"touch-action":"none"}),T.bind(T.win,"pointerdown",T.ontouchstart),T.bind(l,"pointerup",T.ontouchend),T.delegate(l,"pointermove",T.ontouchmove)):P.hasmstouch?(T.css(T.ispage?n("html"):T.win,{"-ms-touch-action":"none"}),T.css(T.rail,{"-ms-touch-action":"none"}),T.css(T.cursor,{"-ms-touch-action":"none"}),T.bind(T.win,"MSPointerDown",T.ontouchstart),T.bind(l,"MSPointerUp",T.ontouchend),T.delegate(l,"MSPointerMove",T.ontouchmove),T.bind(T.cursor,"MSGestureHold",function(e){e.preventDefault()}),T.bind(T.cursor,"contextmenu",function(e){e.preventDefault()})):P.cantouch&&(T.bind(T.win,"touchstart",T.ontouchstart,!1,!0),T.bind(l,"touchend",T.ontouchend,!1,!0),T.bind(l,"touchcancel",T.ontouchend,!1,!0),T.delegate(l,"touchmove",T.ontouchmove,!1,!0)),M.emulatetouch&&(T.bind(T.win,"mousedown",T.ontouchstart,!1,!0),T.bind(l,"mouseup",T.ontouchend,!1,!0),T.bind(l,"mousemove",T.ontouchmove,!1,!0)),(M.cursordragontouch||!P.cantouch&&!M.emulatetouch)&&(T.rail.css({cursor:"default"}),T.railh&&T.railh.css({cursor:"default"}),T.jqbind(T.rail,"mouseenter",function(){if(!T.ispage&&!T.win.is(":visible"))return!1;T.canshowonmouseevent&&T.showCursor(),T.rail.active=!0}),T.jqbind(T.rail,"mouseleave",function(){T.rail.active=!1,T.rail.drag||T.hideCursor()}),M.sensitiverail&&(T.bind(T.rail,"click",function(e){T.doRailClick(e,!1,!1)}),T.bind(T.rail,"dblclick",function(e){T.doRailClick(e,!0,!1)}),T.bind(T.cursor,"click",function(e){T.cancelEvent(e)}),T.bind(T.cursor,"dblclick",function(e){T.cancelEvent(e)})),T.railh&&(T.jqbind(T.railh,"mouseenter",function(){if(!T.ispage&&!T.win.is(":visible"))return!1;T.canshowonmouseevent&&T.showCursor(),T.rail.active=!0}),T.jqbind(T.railh,"mouseleave",function(){T.rail.active=!1,T.rail.drag||T.hideCursor()}),M.sensitiverail&&(T.bind(T.railh,"click",function(e){T.doRailClick(e,!1,!0)}),T.bind(T.railh,"dblclick",function(e){T.doRailClick(e,!0,!0)}),T.bind(T.cursorh,"click",function(e){T.cancelEvent(e)}),T.bind(T.cursorh,"dblclick",function(e){T.cancelEvent(e)})))),M.cursordragontouch&&(this.istouchcapable||P.cantouch)&&(T.bind(T.cursor,"touchstart",T.ontouchstartCursor),T.bind(T.cursor,"touchmove",T.ontouchmoveCursor),T.bind(T.cursor,"touchend",T.ontouchendCursor),T.cursorh&&T.bind(T.cursorh,"touchstart",function(e){T.ontouchstartCursor(e,!0)}),T.cursorh&&T.bind(T.cursorh,"touchmove",T.ontouchmoveCursor),T.cursorh&&T.bind(T.cursorh,"touchend",T.ontouchendCursor)),M.emulatetouch||P.isandroid||P.isios?(T.bind(P.hasmousecapture?T.win:l,"mouseup",T.ontouchend),T.onclick&&T.bind(l,"click",T.onclick),M.cursordragontouch?(T.bind(T.cursor,"mousedown",T.onmousedown),T.bind(T.cursor,"mouseup",T.onmouseup),T.cursorh&&T.bind(T.cursorh,"mousedown",function(e){T.onmousedown(e,!0)}),T.cursorh&&T.bind(T.cursorh,"mouseup",T.onmouseup)):(T.bind(T.rail,"mousedown",function(e){e.preventDefault()}),T.railh&&T.bind(T.railh,"mousedown",function(e){e.preventDefault()}))):(T.bind(P.hasmousecapture?T.win:l,"mouseup",T.onmouseup),T.bind(l,"mousemove",T.onmousemove),T.onclick&&T.bind(l,"click",T.onclick),T.bind(T.cursor,"mousedown",T.onmousedown),T.bind(T.cursor,"mouseup",T.onmouseup),T.railh&&(T.bind(T.cursorh,"mousedown",function(e){T.onmousedown(e,!0)}),T.bind(T.cursorh,"mouseup",T.onmouseup)),!T.ispage&&M.enablescrollonselection&&(T.bind(T.win[0],"mousedown",T.onselectionstart),T.bind(l,"mouseup",T.onselectionend),T.bind(T.cursor,"mouseup",T.onselectionend),T.cursorh&&T.bind(T.cursorh,"mouseup",T.onselectionend),T.bind(l,"mousemove",T.onselectiondrag)),T.zoom&&(T.jqbind(T.zoom,"mouseenter",function(){T.canshowonmouseevent&&T.showCursor(),T.rail.active=!0}),T.jqbind(T.zoom,"mouseleave",function(){T.rail.active=!1,T.rail.drag||T.hideCursor()}))),M.enablemousewheel&&(T.isiframe||T.mousewheel(P.isie&&T.ispage?l:T.win,T.onmousewheel),T.mousewheel(T.rail,T.onmousewheel),T.railh&&T.mousewheel(T.railh,T.onmousewheelhr)),T.ispage||P.cantouch||/HTML|^BODY/.test(T.win[0].nodeName)||(T.win.attr("tabindex")||T.win.attr({tabindex:++r}),T.bind(T.win,"focus",function(e){o=T.getTarget(e).id||T.getTarget(e)||!1,T.hasfocus=!0,T.canshowonmouseevent&&T.noticeCursor()}),T.bind(T.win,"blur",function(e){o=!1,T.hasfocus=!1}),T.bind(T.win,"mouseenter",function(e){t=T.getTarget(e).id||T.getTarget(e)||!1,T.hasmousefocus=!0,T.canshowonmouseevent&&T.noticeCursor()}),T.bind(T.win,"mouseleave",function(e){t=!1,T.hasmousefocus=!1,T.rail.drag||T.hideCursor()})),T.onkeypress=function(e){if(T.railslocked&&0===T.page.maxh)return!0;e=e||a.event;var r=T.getTarget(e);if(r&&/INPUT|TEXTAREA|SELECT|OPTION/.test(r.nodeName)&&(!(r.getAttribute("type")||r.type||!1)||!/submit|button|cancel/i.tp))return!0;if(n(r).attr("contenteditable"))return!0;if(T.hasfocus||T.hasmousefocus&&!o||T.ispage&&!o&&!t){var i=e.keyCode;if(T.railslocked&&27!=i)return T.cancelEvent(e);var s=e.ctrlKey||!1,l=e.shiftKey||!1,c=!1;switch(i){case 38:case 63233:T.doScrollBy(72),c=!0;break;case 40:case 63235:T.doScrollBy(-72),c=!0;break;case 37:case 63232:T.railh&&(s?T.doScrollLeft(0):T.doScrollLeftBy(72),c=!0);break;case 39:case 63234:T.railh&&(s?T.doScrollLeft(T.page.maxw):T.doScrollLeftBy(-72),c=!0);break;case 33:case 63276:T.doScrollBy(T.view.h),c=!0;break;case 34:case 63277:T.doScrollBy(-T.view.h),c=!0;break;case 36:case 63273:T.railh&&s?T.doScrollPos(0,0):T.doScrollTo(0),c=!0;break;case 35:case 63275:T.railh&&s?T.doScrollPos(T.page.maxw,T.page.maxh):T.doScrollTo(T.page.maxh),c=!0;break;case 32:M.spacebarenabled&&(l?T.doScrollBy(T.view.h):T.doScrollBy(-T.view.h),c=!0);break;case 27:T.zoomactive&&(T.doZoom(),c=!0)}if(c)return T.cancelEvent(e)}},M.enablekeyboard&&T.bind(l,P.isopera&&!P.isopera12?"keypress":"keydown",T.onkeypress),T.bind(l,"keydown",function(e){(e.ctrlKey||!1)&&(T.wheelprevented=!0)}),T.bind(l,"keyup",function(e){e.ctrlKey||!1||(T.wheelprevented=!1)}),T.bind(a,"blur",function(e){T.wheelprevented=!1}),T.bind(a,"resize",T.onscreenresize),T.bind(a,"orientationchange",T.onscreenresize),T.bind(a,"load",T.lazyResize),P.ischrome&&!T.ispage&&!T.haswrapper){var C=T.win.attr("style"),N=parseFloat(T.win.css("width"))+1;T.win.css("width",N),T.synched("chromefix",function(){T.win.attr("style",C)})}if(T.onAttributeChange=function(e){T.lazyResize(T.isieold?250:30)},M.enableobserver&&(T.isie11||!1===m||(T.observerbody=new m(function(e){if(e.forEach(function(e){if("attributes"==e.type)return E.hasClass("modal-open")&&E.hasClass("modal-dialog")&&!n.contains(n(".modal-dialog")[0],T.doc[0])?T.hide():T.show()}),T.me.clientWidth!=T.page.width||T.me.clientHeight!=T.page.height)return T.lazyResize(30)}),T.observerbody.observe(l.body,{childList:!0,subtree:!0,characterData:!1,attributes:!0,attributeFilter:["class"]})),!T.ispage&&!T.haswrapper)){var R=T.win[0];!1!==m?(T.observer=new m(function(e){e.forEach(T.onAttributeChange)}),T.observer.observe(R,{childList:!0,characterData:!1,attributes:!0,subtree:!1}),T.observerremover=new m(function(e){e.forEach(function(e){if(e.removedNodes.length>0)for(var o in e.removedNodes)if(T&&e.removedNodes[o]===R)return T.remove()})}),T.observerremover.observe(R.parentNode,{childList:!0,characterData:!1,attributes:!1,subtree:!1})):(T.bind(R,P.isie&&!P.isie9?"propertychange":"DOMAttrModified",T.onAttributeChange),P.isie9&&R.attachEvent("onpropertychange",T.onAttributeChange),T.bind(R,"DOMNodeRemoved",function(e){e.target===R&&T.remove()}))}!T.ispage&&M.boxzoom&&T.bind(a,"resize",T.resizeZoom),T.istextarea&&(T.bind(T.win,"keydown",T.lazyResize),T.bind(T.win,"mouseup",T.lazyResize)),T.lazyResize(30)}if("IFRAME"==this.doc[0].nodeName){var _=function(){T.iframexd=!1;var o;try{(o="contentDocument"in this?this.contentDocument:this.contentWindow._doc).domain}catch(e){T.iframexd=!0,o=!1}if(T.iframexd)return"console"in a&&console.log("NiceScroll error: policy restriced iframe"),!0;if(T.forcescreen=!0,T.isiframe&&(T.iframe={doc:n(o),html:T.doc.contents().find("html")[0],body:T.doc.contents().find("body")[0]},T.getContentSize=function(){return{w:Math.max(T.iframe.html.scrollWidth,T.iframe.body.scrollWidth),h:Math.max(T.iframe.html.scrollHeight,T.iframe.body.scrollHeight)}},T.docscroll=n(T.iframe.body)),!P.isios&&M.iframeautoresize&&!T.isiframe){T.win.scrollTop(0),T.doc.height("");var t=Math.max(o.getElementsByTagName("html")[0].scrollHeight,o.body.scrollHeight);T.doc.height(t)}T.lazyResize(30),T.css(n(T.iframe.body),e),P.isios&&T.haswrapper&&T.css(n(o.body),{"-webkit-transform":"translate3d(0,0,0)"}),"contentWindow"in this?T.bind(this.contentWindow,"scroll",T.onscroll):T.bind(o,"scroll",T.onscroll),M.enablemousewheel&&T.mousewheel(o,T.onmousewheel),M.enablekeyboard&&T.bind(o,P.isopera?"keypress":"keydown",T.onkeypress),P.cantouch?(T.bind(o,"touchstart",T.ontouchstart),T.bind(o,"touchmove",T.ontouchmove)):M.emulatetouch&&(T.bind(o,"mousedown",T.ontouchstart),T.bind(o,"mousemove",function(e){return T.ontouchmove(e,!0)}),M.grabcursorenabled&&P.cursorgrabvalue&&T.css(n(o.body),{cursor:P.cursorgrabvalue})),T.bind(o,"mouseup",T.ontouchend),T.zoom&&(M.dblclickzoom&&T.bind(o,"dblclick",T.doZoom),T.ongesturezoom&&T.bind(o,"gestureend",T.ongesturezoom))};this.doc[0].readyState&&"complete"===this.doc[0].readyState&&setTimeout(function(){_.call(T.doc[0],!1)},500),T.bind(this.doc,"load",_)}},this.showCursor=function(e,o){if(T.cursortimeout&&(clearTimeout(T.cursortimeout),T.cursortimeout=0),T.rail){if(T.autohidedom&&(T.autohidedom.stop().css({opacity:M.cursoropacitymax}),T.cursoractive=!0),T.rail.drag&&1==T.rail.drag.pt||(void 0!==e&&!1!==e&&(T.scroll.y=e/T.scrollratio.y|0),void 0!==o&&(T.scroll.x=o/T.scrollratio.x|0)),T.cursor.css({height:T.cursorheight,top:T.scroll.y}),T.cursorh){var t=T.hasreversehr?T.scrollvaluemaxw-T.scroll.x:T.scroll.x;T.cursorh.css({width:T.cursorwidth,left:!T.rail.align&&T.rail.visibility?t+T.rail.width:t}),T.cursoractive=!0}T.zoom&&T.zoom.stop().css({opacity:M.cursoropacitymax})}},this.hideCursor=function(e){T.cursortimeout||T.rail&&T.autohidedom&&(T.hasmousefocus&&"leave"===M.autohidemode||(T.cursortimeout=setTimeout(function(){T.rail.active&&T.showonmouseevent||(T.autohidedom.stop().animate({opacity:M.cursoropacitymin}),T.zoom&&T.zoom.stop().animate({opacity:M.cursoropacitymin}),T.cursoractive=!1),T.cursortimeout=0},e||M.hidecursordelay)))},this.noticeCursor=function(e,o,t){T.showCursor(o,t),T.rail.active||T.hideCursor(e)},this.getContentSize=T.ispage?function(){return{w:Math.max(l.body.scrollWidth,l.documentElement.scrollWidth),h:Math.max(l.body.scrollHeight,l.documentElement.scrollHeight)}}:T.haswrapper?function(){return{w:T.doc[0].offsetWidth,h:T.doc[0].offsetHeight}}:function(){return{w:T.docscroll[0].scrollWidth,h:T.docscroll[0].scrollHeight}},this.onResize=function(e,o){if(!T||!T.win)return!1;var t=T.page.maxh,r=T.page.maxw,i=T.view.h,s=T.view.w;if(T.view={w:T.ispage?T.win.width():T.win[0].clientWidth,h:T.ispage?T.win.height():T.win[0].clientHeight},T.page=o||T.getContentSize(),T.page.maxh=Math.max(0,T.page.h-T.view.h),T.page.maxw=Math.max(0,T.page.w-T.view.w),T.page.maxh==t&&T.page.maxw==r&&T.view.w==s&&T.view.h==i){if(T.ispage)return T;var n=T.win.offset();if(T.lastposition){var l=T.lastposition;if(l.top==n.top&&l.left==n.left)return T}T.lastposition=n}return 0===T.page.maxh?(T.hideRail(),T.scrollvaluemax=0,T.scroll.y=0,T.scrollratio.y=0,T.cursorheight=0,T.setScrollTop(0),T.rail&&(T.rail.scrollable=!1)):(T.page.maxh-=M.railpadding.top+M.railpadding.bottom,T.rail.scrollable=!0),0===T.page.maxw?(T.hideRailHr(),T.scrollvaluemaxw=0,T.scroll.x=0,T.scrollratio.x=0,T.cursorwidth=0,T.setScrollLeft(0),T.railh&&(T.railh.scrollable=!1)):(T.page.maxw-=M.railpadding.left+M.railpadding.right,T.railh&&(T.railh.scrollable=M.horizrailenabled)),T.railslocked=T.locked||0===T.page.maxh&&0===T.page.maxw,T.railslocked?(T.ispage||T.updateScrollBar(T.view),!1):(T.hidden||(T.rail.visibility||T.showRail(),T.railh&&!T.railh.visibility&&T.showRailHr()),T.istextarea&&T.win.css("resize")&&"none"!=T.win.css("resize")&&(T.view.h-=20),T.cursorheight=Math.min(T.view.h,Math.round(T.view.h*(T.view.h/T.page.h))),T.cursorheight=M.cursorfixedheight?M.cursorfixedheight:Math.max(M.cursorminheight,T.cursorheight),T.cursorwidth=Math.min(T.view.w,Math.round(T.view.w*(T.view.w/T.page.w))),T.cursorwidth=M.cursorfixedheight?M.cursorfixedheight:Math.max(M.cursorminheight,T.cursorwidth),T.scrollvaluemax=T.view.h-T.cursorheight-(M.railpadding.top+M.railpadding.bottom),T.hasborderbox||(T.scrollvaluemax-=T.cursor[0].offsetHeight-T.cursor[0].clientHeight),T.railh&&(T.railh.width=T.page.maxh>0?T.view.w-T.rail.width:T.view.w,T.scrollvaluemaxw=T.railh.width-T.cursorwidth-(M.railpadding.left+M.railpadding.right)),T.ispage||T.updateScrollBar(T.view),T.scrollratio={x:T.page.maxw/T.scrollvaluemaxw,y:T.page.maxh/T.scrollvaluemax},T.getScrollTop()>T.page.maxh?T.doScrollTop(T.page.maxh):(T.scroll.y=T.getScrollTop()/T.scrollratio.y|0,T.scroll.x=T.getScrollLeft()/T.scrollratio.x|0,T.cursoractive&&T.noticeCursor()),T.scroll.y&&0===T.getScrollTop()&&T.doScrollTo(T.scroll.y*T.scrollratio.y|0),T)},this.resize=T.onResize;var O=0;this.onscreenresize=function(e){clearTimeout(O);var o=!T.ispage&&!T.haswrapper;o&&T.hideRails(),O=setTimeout(function(){T&&(o&&T.showRails(),T.resize()),O=0},120)},this.lazyResize=function(e){return clearTimeout(O),e=isNaN(e)?240:e,O=setTimeout(function(){T&&T.resize(),O=0},e),T},this.jqbind=function(e,o,t){T.events.push({e:e,n:o,f:t,q:!0}),n(e).on(o,t)},this.mousewheel=function(e,o,t){var r="jquery"in e?e[0]:e;if("onwheel"in l.createElement("div"))T._bind(r,"wheel",o,t||!1);else{var i=void 0!==l.onmousewheel?"mousewheel":"DOMMouseScroll";S(r,i,o,t||!1),"DOMMouseScroll"==i&&S(r,"MozMousePixelScroll",o,t||!1)}};var Y=!1;if(P.haseventlistener){try{var H=Object.defineProperty({},"passive",{get:function(){Y=!0}});a.addEventListener("test",null,H)}catch(e){}this.stopPropagation=function(e){return!!e&&((e=e.original?e.original:e).stopPropagation(),!1)},this.cancelEvent=function(e){return e.cancelable&&e.preventDefault(),e.stopImmediatePropagation(),e.preventManipulation&&e.preventManipulation(),!1}}else Event.prototype.preventDefault=function(){this.returnValue=!1},Event.prototype.stopPropagation=function(){this.cancelBubble=!0},a.constructor.prototype.addEventListener=l.constructor.prototype.addEventListener=Element.prototype.addEventListener=function(e,o,t){this.attachEvent("on"+e,o)},a.constructor.prototype.removeEventListener=l.constructor.prototype.removeEventListener=Element.prototype.removeEventListener=function(e,o,t){this.detachEvent("on"+e,o)},this.cancelEvent=function(e){return(e=e||a.event)&&(e.cancelBubble=!0,e.cancel=!0,e.returnValue=!1),!1},this.stopPropagation=function(e){return(e=e||a.event)&&(e.cancelBubble=!0),!1};this.delegate=function(e,o,t,r,i){var s=d[o]||!1;s||(s={a:[],l:[],f:function(e){for(var o=s.l,t=!1,r=o.length-1;r>=0;r--)if(!1===(t=o[r].call(e.target,e)))return!1;return t}},T.bind(e,o,s.f,r,i),d[o]=s),T.ispage?(s.a=[T.id].concat(s.a),s.l=[t].concat(s.l)):(s.a.push(T.id),s.l.push(t))},this.undelegate=function(e,o,t,r,i){var s=d[o]||!1;if(s&&s.l)for(var n=0,l=s.l.length;n<l;n++)s.a[n]===T.id&&(s.a.splice(n),s.l.splice(n),0===s.a.length&&(T._unbind(e,o,s.l.f),d[o]=null))},this.bind=function(e,o,t,r,i){var s="jquery"in e?e[0]:e;T._bind(s,o,t,r||!1,i||!1)},this._bind=function(e,o,t,r,i){T.events.push({e:e,n:o,f:t,b:r,q:!1}),Y&&i?e.addEventListener(o,t,{passive:!1,capture:r}):e.addEventListener(o,t,r||!1)},this._unbind=function(e,o,t,r){d[o]?T.undelegate(e,o,t,r):e.removeEventListener(o,t,r)},this.unbindAll=function(){for(var e=0;e<T.events.length;e++){var o=T.events[e];o.q?o.e.unbind(o.n,o.f):T._unbind(o.e,o.n,o.f,o.b)}},this.showRails=function(){return T.showRail().showRailHr()},this.showRail=function(){return 0===T.page.maxh||!T.ispage&&"none"==T.win.css("display")||(T.rail.visibility=!0,T.rail.css("display","block")),T},this.showRailHr=function(){return T.railh&&(0===T.page.maxw||!T.ispage&&"none"==T.win.css("display")||(T.railh.visibility=!0,T.railh.css("display","block"))),T},this.hideRails=function(){return T.hideRail().hideRailHr()},this.hideRail=function(){return T.rail.visibility=!1,T.rail.css("display","none"),T},this.hideRailHr=function(){return T.railh&&(T.railh.visibility=!1,T.railh.css("display","none")),T},this.show=function(){return T.hidden=!1,T.railslocked=!1,T.showRails()},this.hide=function(){return T.hidden=!0,T.railslocked=!0,T.hideRails()},this.toggle=function(){return T.hidden?T.show():T.hide()},this.remove=function(){T.stop(),T.cursortimeout&&clearTimeout(T.cursortimeout);for(var e in T.delaylist)T.delaylist[e]&&h(T.delaylist[e].h);T.doZoomOut(),T.unbindAll(),P.isie9&&T.win[0].detachEvent("onpropertychange",T.onAttributeChange),!1!==T.observer&&T.observer.disconnect(),!1!==T.observerremover&&T.observerremover.disconnect(),!1!==T.observerbody&&T.observerbody.disconnect(),T.events=null,T.cursor&&T.cursor.remove(),T.cursorh&&T.cursorh.remove(),T.rail&&T.rail.remove(),T.railh&&T.railh.remove(),T.zoom&&T.zoom.remove();for(var o=0;o<T.saved.css.length;o++){var t=T.saved.css[o];t[0].css(t[1],void 0===t[2]?"":t[2])}T.saved=!1,T.me.data("__nicescroll","");var r=n.nicescroll;r.each(function(e){if(this&&this.id===T.id){delete r[e];for(var o=++e;o<r.length;o++,e++)r[e]=r[o];--r.length&&delete r[r.length]}});for(var i in T)T[i]=null,delete T[i];T=null},this.scrollstart=function(e){return this.onscrollstart=e,T},this.scrollend=function(e){return this.onscrollend=e,T},this.scrollcancel=function(e){return this.onscrollcancel=e,T},this.zoomin=function(e){return this.onzoomin=e,T},this.zoomout=function(e){return this.onzoomout=e,T},this.isScrollable=function(e){var o=e.target?e.target:e;if("OPTION"==o.nodeName)return!0;for(;o&&1==o.nodeType&&o!==this.me[0]&&!/^BODY|HTML/.test(o.nodeName);){var t=n(o),r=t.css("overflowY")||t.css("overflowX")||t.css("overflow")||"";if(/scroll|auto/.test(r))return o.clientHeight!=o.scrollHeight;o=!!o.parentNode&&o.parentNode}return!1},this.getViewport=function(e){for(var o=!(!e||!e.parentNode)&&e.parentNode;o&&1==o.nodeType&&!/^BODY|HTML/.test(o.nodeName);){var t=n(o);if(/fixed|absolute/.test(t.css("position")))return t;var r=t.css("overflowY")||t.css("overflowX")||t.css("overflow")||"";if(/scroll|auto/.test(r)&&o.clientHeight!=o.scrollHeight)return t;if(t.getNiceScroll().length>0)return t;o=!!o.parentNode&&o.parentNode}return!1},this.triggerScrollStart=function(e,o,t,r,i){if(T.onscrollstart){var s={type:"scrollstart",current:{x:e,y:o},request:{x:t,y:r},end:{x:T.newscrollx,y:T.newscrolly},speed:i};T.onscrollstart.call(T,s)}},this.triggerScrollEnd=function(){if(T.onscrollend){var e=T.getScrollLeft(),o=T.getScrollTop(),t={type:"scrollend",current:{x:e,y:o},end:{x:e,y:o}};T.onscrollend.call(T,t)}};var B=0,X=0,D=0,A=1,q=!1;if(this.onmousewheel=function(e){if(T.wheelprevented||T.locked)return!1;if(T.railslocked)return T.debounced("checkunlock",T.resize,250),!1;if(T.rail.drag)return T.cancelEvent(e);if("auto"===M.oneaxismousemode&&0!==e.deltaX&&(M.oneaxismousemode=!1),M.oneaxismousemode&&0===e.deltaX&&!T.rail.scrollable)return!T.railh||!T.railh.scrollable||T.onmousewheelhr(e);var o=f(),t=!1;if(M.preservenativescrolling&&T.checkarea+600<o&&(T.nativescrollingarea=T.isScrollable(e),t=!0),T.checkarea=o,T.nativescrollingarea)return!0;var r=k(e,!1,t);return r&&(T.checkarea=0),r},this.onmousewheelhr=function(e){if(!T.wheelprevented){if(T.railslocked||!T.railh.scrollable)return!0;if(T.rail.drag)return T.cancelEvent(e);var o=f(),t=!1;return M.preservenativescrolling&&T.checkarea+600<o&&(T.nativescrollingarea=T.isScrollable(e),t=!0),T.checkarea=o,!!T.nativescrollingarea||(T.railslocked?T.cancelEvent(e):k(e,!0,t))}},this.stop=function(){return T.cancelScroll(),T.scrollmon&&T.scrollmon.stop(),T.cursorfreezed=!1,T.scroll.y=Math.round(T.getScrollTop()*(1/T.scrollratio.y)),T.noticeCursor(),T},this.getTransitionSpeed=function(e){return 80+e/72*M.scrollspeed|0},M.smoothscroll)if(T.ishwscroll&&P.hastransition&&M.usetransition&&M.smoothscroll){var j="";this.resetTransition=function(){j="",T.doc.css(P.prefixstyle+"transition-duration","0ms")},this.prepareTransition=function(e,o){var t=o?e:T.getTransitionSpeed(e),r=t+"ms";return j!==r&&(j=r,T.doc.css(P.prefixstyle+"transition-duration",r)),t},this.doScrollLeft=function(e,o){var t=T.scrollrunning?T.newscrolly:T.getScrollTop();T.doScrollPos(e,t,o)},this.doScrollTop=function(e,o){var t=T.scrollrunning?T.newscrollx:T.getScrollLeft();T.doScrollPos(t,e,o)},this.cursorupdate={running:!1,start:function(){var e=this;if(!e.running){e.running=!0;var o=function(){e.running&&u(o),T.showCursor(T.getScrollTop(),T.getScrollLeft()),T.notifyScrollEvent(T.win[0])};u(o)}},stop:function(){this.running=!1}},this.doScrollPos=function(e,o,t){var r=T.getScrollTop(),i=T.getScrollLeft();if(((T.newscrolly-r)*(o-r)<0||(T.newscrollx-i)*(e-i)<0)&&T.cancelScroll(),M.bouncescroll?(o<0?o=o/2|0:o>T.page.maxh&&(o=T.page.maxh+(o-T.page.maxh)/2|0),e<0?e=e/2|0:e>T.page.maxw&&(e=T.page.maxw+(e-T.page.maxw)/2|0)):(o<0?o=0:o>T.page.maxh&&(o=T.page.maxh),e<0?e=0:e>T.page.maxw&&(e=T.page.maxw)),T.scrollrunning&&e==T.newscrollx&&o==T.newscrolly)return!1;T.newscrolly=o,T.newscrollx=e;var s=T.getScrollTop(),n=T.getScrollLeft(),l={};l.x=e-n,l.y=o-s;var a=0|Math.sqrt(l.x*l.x+l.y*l.y),c=T.prepareTransition(a);T.scrollrunning||(T.scrollrunning=!0,T.triggerScrollStart(n,s,e,o,c),T.cursorupdate.start()),T.scrollendtrapped=!0,P.transitionend||(T.scrollendtrapped&&clearTimeout(T.scrollendtrapped),T.scrollendtrapped=setTimeout(T.onScrollTransitionEnd,c)),T.setScrollTop(T.newscrolly),T.setScrollLeft(T.newscrollx)},this.cancelScroll=function(){if(!T.scrollendtrapped)return!0;var e=T.getScrollTop(),o=T.getScrollLeft();return T.scrollrunning=!1,P.transitionend||clearTimeout(P.transitionend),T.scrollendtrapped=!1,T.resetTransition(),T.setScrollTop(e),T.railh&&T.setScrollLeft(o),T.timerscroll&&T.timerscroll.tm&&clearInterval(T.timerscroll.tm),T.timerscroll=!1,T.cursorfreezed=!1,T.cursorupdate.stop(),T.showCursor(e,o),T},this.onScrollTransitionEnd=function(){if(T.scrollendtrapped){var e=T.getScrollTop(),o=T.getScrollLeft();if(e<0?e=0:e>T.page.maxh&&(e=T.page.maxh),o<0?o=0:o>T.page.maxw&&(o=T.page.maxw),e!=T.newscrolly||o!=T.newscrollx)return T.doScrollPos(o,e,M.snapbackspeed);T.scrollrunning&&T.triggerScrollEnd(),T.scrollrunning=!1,T.scrollendtrapped=!1,T.resetTransition(),T.timerscroll=!1,T.setScrollTop(e),T.railh&&T.setScrollLeft(o),T.cursorupdate.stop(),T.noticeCursor(!1,e,o),T.cursorfreezed=!1}}}else this.doScrollLeft=function(e,o){var t=T.scrollrunning?T.newscrolly:T.getScrollTop();T.doScrollPos(e,t,o)},this.doScrollTop=function(e,o){var t=T.scrollrunning?T.newscrollx:T.getScrollLeft();T.doScrollPos(t,e,o)},this.doScrollPos=function(e,o,t){var r=T.getScrollTop(),i=T.getScrollLeft();((T.newscrolly-r)*(o-r)<0||(T.newscrollx-i)*(e-i)<0)&&T.cancelScroll();var s=!1;if(T.bouncescroll&&T.rail.visibility||(o<0?(o=0,s=!0):o>T.page.maxh&&(o=T.page.maxh,s=!0)),T.bouncescroll&&T.railh.visibility||(e<0?(e=0,s=!0):e>T.page.maxw&&(e=T.page.maxw,s=!0)),T.scrollrunning&&T.newscrolly===o&&T.newscrollx===e)return!0;T.newscrolly=o,T.newscrollx=e,T.dst={},T.dst.x=e-i,T.dst.y=o-r,T.dst.px=i,T.dst.py=r;var n=0|Math.sqrt(T.dst.x*T.dst.x+T.dst.y*T.dst.y),l=T.getTransitionSpeed(n);T.bzscroll={};var a=s?1:.58;T.bzscroll.x=new R(i,T.newscrollx,l,0,0,a,1),T.bzscroll.y=new R(r,T.newscrolly,l,0,0,a,1);f();var c=function(){if(T.scrollrunning){var e=T.bzscroll.y.getPos();T.setScrollLeft(T.bzscroll.x.getNow()),T.setScrollTop(T.bzscroll.y.getNow()),e<=1?T.timer=u(c):(T.scrollrunning=!1,T.timer=0,T.triggerScrollEnd())}};T.scrollrunning||(T.triggerScrollStart(i,r,e,o,l),T.scrollrunning=!0,T.timer=u(c))},this.cancelScroll=function(){return T.timer&&h(T.timer),T.timer=0,T.bzscroll=!1,T.scrollrunning=!1,T};else this.doScrollLeft=function(e,o){var t=T.getScrollTop();T.doScrollPos(e,t,o)},this.doScrollTop=function(e,o){var t=T.getScrollLeft();T.doScrollPos(t,e,o)},this.doScrollPos=function(e,o,t){var r=e>T.page.maxw?T.page.maxw:e;r<0&&(r=0);var i=o>T.page.maxh?T.page.maxh:o;i<0&&(i=0),T.synched("scroll",function(){T.setScrollTop(i),T.setScrollLeft(r)})},this.cancelScroll=function(){};this.doScrollBy=function(e,o){z(0,e)},this.doScrollLeftBy=function(e,o){z(e,0)},this.doScrollTo=function(e,o){var t=o?Math.round(e*T.scrollratio.y):e;t<0?t=0:t>T.page.maxh&&(t=T.page.maxh),T.cursorfreezed=!1,T.doScrollTop(e)},this.checkContentSize=function(){var e=T.getContentSize();e.h==T.page.h&&e.w==T.page.w||T.resize(!1,e)},T.onscroll=function(e){T.rail.drag||T.cursorfreezed||T.synched("scroll",function(){T.scroll.y=Math.round(T.getScrollTop()/T.scrollratio.y),T.railh&&(T.scroll.x=Math.round(T.getScrollLeft()/T.scrollratio.x)),T.noticeCursor()})},T.bind(T.docscroll,"scroll",T.onscroll),this.doZoomIn=function(e){if(!T.zoomactive){T.zoomactive=!0,T.zoomrestore={style:{}};var o=["position","top","left","zIndex","backgroundColor","marginTop","marginBottom","marginLeft","marginRight"],t=T.win[0].style;for(var r in o){var i=o[r];T.zoomrestore.style[i]=void 0!==t[i]?t[i]:""}T.zoomrestore.style.width=T.win.css("width"),T.zoomrestore.style.height=T.win.css("height"),T.zoomrestore.padding={w:T.win.outerWidth()-T.win.width(),h:T.win.outerHeight()-T.win.height()},P.isios4&&(T.zoomrestore.scrollTop=c.scrollTop(),c.scrollTop(0)),T.win.css({position:P.isios4?"absolute":"fixed",top:0,left:0,zIndex:s+100,margin:0});var n=T.win.css("backgroundColor");return(""===n||/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(n))&&T.win.css("backgroundColor","#fff"),T.rail.css({zIndex:s+101}),T.zoom.css({zIndex:s+102}),T.zoom.css("backgroundPosition","0 -18px"),T.resizeZoom(),T.onzoomin&&T.onzoomin.call(T),T.cancelEvent(e)}},this.doZoomOut=function(e){if(T.zoomactive)return T.zoomactive=!1,T.win.css("margin",""),T.win.css(T.zoomrestore.style),P.isios4&&c.scrollTop(T.zoomrestore.scrollTop),T.rail.css({"z-index":T.zindex}),T.zoom.css({"z-index":T.zindex}),T.zoomrestore=!1,T.zoom.css("backgroundPosition","0 0"),T.onResize(),T.onzoomout&&T.onzoomout.call(T),T.cancelEvent(e)},this.doZoom=function(e){return T.zoomactive?T.doZoomOut(e):T.doZoomIn(e)},this.resizeZoom=function(){if(T.zoomactive){var e=T.getScrollTop();T.win.css({width:c.width()-T.zoomrestore.padding.w+"px",height:c.height()-T.zoomrestore.padding.h+"px"}),T.onResize(),T.setScrollTop(Math.min(T.page.maxh,e))}},this.init(),n.nicescroll.push(this)},y=function(e){var o=this;this.nc=e,this.lastx=0,this.lasty=0,this.speedx=0,this.speedy=0,this.lasttime=0,this.steptime=0,this.snapx=!1,this.snapy=!1,this.demulx=0,this.demuly=0,this.lastscrollx=-1,this.lastscrolly=-1,this.chkx=0,this.chky=0,this.timer=0,this.reset=function(e,t){o.stop(),o.steptime=0,o.lasttime=f(),o.speedx=0,o.speedy=0,o.lastx=e,o.lasty=t,o.lastscrollx=-1,o.lastscrolly=-1},this.update=function(e,t){var r=f();o.steptime=r-o.lasttime,o.lasttime=r;var i=t-o.lasty,s=e-o.lastx,n=o.nc.getScrollTop()+i,l=o.nc.getScrollLeft()+s;o.snapx=l<0||l>o.nc.page.maxw,o.snapy=n<0||n>o.nc.page.maxh,o.speedx=s,o.speedy=i,o.lastx=e,o.lasty=t},this.stop=function(){o.nc.unsynched("domomentum2d"),o.timer&&clearTimeout(o.timer),o.timer=0,o.lastscrollx=-1,o.lastscrolly=-1},this.doSnapy=function(e,t){var r=!1;t<0?(t=0,r=!0):t>o.nc.page.maxh&&(t=o.nc.page.maxh,r=!0),e<0?(e=0,r=!0):e>o.nc.page.maxw&&(e=o.nc.page.maxw,r=!0),r?o.nc.doScrollPos(e,t,o.nc.opt.snapbackspeed):o.nc.triggerScrollEnd()},this.doMomentum=function(e){var t=f(),r=e?t+e:o.lasttime,i=o.nc.getScrollLeft(),s=o.nc.getScrollTop(),n=o.nc.page.maxh,l=o.nc.page.maxw;o.speedx=l>0?Math.min(60,o.speedx):0,o.speedy=n>0?Math.min(60,o.speedy):0;var a=r&&t-r<=60;(s<0||s>n||i<0||i>l)&&(a=!1);var c=!(!o.speedy||!a)&&o.speedy,d=!(!o.speedx||!a)&&o.speedx;if(c||d){var u=Math.max(16,o.steptime);if(u>50){var h=u/50;o.speedx*=h,o.speedy*=h,u=50}o.demulxy=0,o.lastscrollx=o.nc.getScrollLeft(),o.chkx=o.lastscrollx,o.lastscrolly=o.nc.getScrollTop(),o.chky=o.lastscrolly;var p=o.lastscrollx,m=o.lastscrolly,g=function(){var e=f()-t>600?.04:.02;o.speedx&&(p=Math.floor(o.lastscrollx-o.speedx*(1-o.demulxy)),o.lastscrollx=p,(p<0||p>l)&&(e=.1)),o.speedy&&(m=Math.floor(o.lastscrolly-o.speedy*(1-o.demulxy)),o.lastscrolly=m,(m<0||m>n)&&(e=.1)),o.demulxy=Math.min(1,o.demulxy+e),o.nc.synched("domomentum2d",function(){if(o.speedx){o.nc.getScrollLeft();o.chkx=p,o.nc.setScrollLeft(p)}if(o.speedy){o.nc.getScrollTop();o.chky=m,o.nc.setScrollTop(m)}o.timer||(o.nc.hideCursor(),o.doSnapy(p,m))}),o.demulxy<1?o.timer=setTimeout(g,u):(o.stop(),o.nc.hideCursor(),o.doSnapy(p,m))};g()}else o.doSnapy(o.nc.getScrollLeft(),o.nc.getScrollTop())}},x=e.fn.scrollTop;e.cssHooks.pageYOffset={get:function(e,o,t){var r=n.data(e,"__nicescroll")||!1;return r&&r.ishwscroll?r.getScrollTop():x.call(e)},set:function(e,o){var t=n.data(e,"__nicescroll")||!1;return t&&t.ishwscroll?t.setScrollTop(parseInt(o)):x.call(e,o),this}},e.fn.scrollTop=function(e){if(void 0===e){var o=!!this[0]&&(n.data(this[0],"__nicescroll")||!1);return o&&o.ishwscroll?o.getScrollTop():x.call(this)}return this.each(function(){var o=n.data(this,"__nicescroll")||!1;o&&o.ishwscroll?o.setScrollTop(parseInt(e)):x.call(n(this),e)})};var S=e.fn.scrollLeft;n.cssHooks.pageXOffset={get:function(e,o,t){var r=n.data(e,"__nicescroll")||!1;return r&&r.ishwscroll?r.getScrollLeft():S.call(e)},set:function(e,o){var t=n.data(e,"__nicescroll")||!1;return t&&t.ishwscroll?t.setScrollLeft(parseInt(o)):S.call(e,o),this}},e.fn.scrollLeft=function(e){if(void 0===e){var o=!!this[0]&&(n.data(this[0],"__nicescroll")||!1);return o&&o.ishwscroll?o.getScrollLeft():S.call(this)}return this.each(function(){var o=n.data(this,"__nicescroll")||!1;o&&o.ishwscroll?o.setScrollLeft(parseInt(e)):S.call(n(this),e)})};var z=function(e){var o=this;if(this.length=0,this.name="nicescrollarray",this.each=function(e){return n.each(o,e),o},this.push=function(e){o[o.length]=e,o.length++},this.eq=function(e){return o[e]},e)for(var t=0;t<e.length;t++){var r=n.data(e[t],"__nicescroll")||!1;r&&(this[this.length]=r,this.length++)}return this};!function(e,o,t){for(var r=0,i=o.length;r<i;r++)t(e,o[r])}(z.prototype,["show","hide","toggle","onResize","resize","remove","stop","doScrollPos"],function(e,o){e[o]=function(){var e=arguments;return this.each(function(){this[o].apply(this,e)})}}),e.fn.getNiceScroll=function(e){return void 0===e?new z(this):this[e]&&n.data(this[e],"__nicescroll")||!1},(e.expr.pseudos||e.expr[":"]).nicescroll=function(e){return void 0!==n.data(e,"__nicescroll")},n.fn.niceScroll=function(e,o){void 0!==o||"object"!=typeof e||"jquery"in e||(o=e,e=!1);var t=new z;return this.each(function(){var r=n(this),i=n.extend({},o);if(e){var s=n(e);i.doc=s.length>1?n(e,r):s,i.win=r}!("doc"in i)||"win"in i||(i.win=r);var l=r.data("__nicescroll")||!1;l||(i.doc=i.doc||r,l=new b(i,r),r.data("__nicescroll",l)),t.push(l)}),1===t.length?t[0]:t},a.NiceScroll={getjQuery:function(){return e}},n.nicescroll||(n.nicescroll=new z,n.nicescroll.options=g)});
assets/css/category-grid.css DELETED
@@ -1,267 +0,0 @@
1
- .elementor-widget-wl-category-grid .slick-list{
2
- margin: 0 -15px;
3
- }
4
- [class*="ht-category-wrap"] [class*="ht-category-image-"]{
5
- overflow: hidden;
6
- }
7
- .ht-category-wrap{
8
- margin-bottom: 30px;
9
- }
10
- .ht-category-wrap .ht-category-image{
11
- overflow: hidden;
12
- margin-bottom: 20px;
13
- }
14
- .ht-category-wrap .ht-category-image a {
15
- display: block;
16
- position: relative;
17
- }
18
- .ht-category-wrap .ht-category-image a img {
19
- width: 100%;
20
- }
21
- .ht-category-wrap .ht-category-image a.ht-category-border::before {
22
- position: absolute;
23
- z-index: 2;
24
- top: 15px;
25
- left: 15px;
26
- width: calc(100% - 30px);
27
- height: calc(100% - 30px);
28
- content: "";
29
- border: 1px solid #fff;
30
- transition: all 0.5s ease 0s;
31
- transform: scale(1);
32
- }
33
- .ht-category-wrap .ht-category-image a.ht-category-border-2::before {
34
- position: absolute;
35
- z-index: 2;
36
- top: 15px;
37
- left: 15px;
38
- width: calc(100% - 30px);
39
- height: calc(100% - 30px);
40
- content: "";
41
- border: 1px solid #fff;
42
- transition: all 0.5s ease 0s;
43
- transform: scale(0.9);
44
- opacity: 0;
45
- visibility: hidden;
46
- }
47
- .ht-category-wrap .ht-category-image-3 {
48
- border-radius: 100%;
49
- border: 1px solid #e1e1e1;
50
- transition: all 0.3s ease 0s;
51
- margin-bottom: 20px;
52
- }
53
- .ht-category-wrap .ht-category-image-3 a img {
54
- width: 100%;
55
- }
56
- .ht-category-wrap.ht-category-bg-padding {
57
- background: #f8f8f8;
58
- padding: 25px 30px 30px;
59
- }
60
- .ht-category-wrap .ht-category-image-zoom a img {
61
- transition: all 0.5s ease 0s;
62
- }
63
- .ht-category-wrap .ht-category-content {
64
- display: flex;
65
- align-items: center;
66
- justify-content: space-between;
67
- }
68
- .ht-category-wrap .ht-category-content h3 {
69
- margin: 0;
70
- font-size: 20px;
71
- }
72
- .ht-category-wrap .ht-category-content h3 a {
73
- color: #444;
74
- }
75
- .ht-category-wrap .ht-category-content h3 a:hover {
76
- color: #dc9a0e;
77
- }
78
- .ht-category-wrap .ht-category-content span {
79
- display: inline-block;
80
- line-height: 1;
81
- position: relative;
82
- font-size: 16px;
83
- }
84
- .ht-category-wrap .ht-category-content span::before {
85
- position: absolute;
86
- top: 50%;
87
- transform: translateY(-50%);
88
- right: calc(100% + 10px);
89
- width: 50px;
90
- height: 1px;
91
- content: "";
92
- background-color: #ccc;
93
- }
94
- .ht-category-wrap .ht-category-content-3 {
95
- position: relative;
96
- z-index: 9;
97
- max-width: 80%;
98
- margin: -43px auto 0;
99
- padding: 15px 10px 14px;
100
- }
101
- .ht-category-wrap .ht-category-content-3.ht-category-content-3-bg1 {
102
- background-color: #f4ede7;
103
- }
104
- .ht-category-wrap .ht-category-content-3.ht-category-content-3-bg2 {
105
- background-color: #e8f5f2;
106
- }
107
- .ht-category-wrap .ht-category-content-3.ht-category-content-3-bg3 {
108
- background-color: #e3e4f5;
109
- }
110
- .ht-category-wrap .ht-category-content-3.ht-category-content-3-bg4 {
111
- background-color: #faf5e5;
112
- }
113
- .ht-category-wrap .ht-category-content-3 h3 {
114
- font-size: 18px;
115
- line-height: 1;
116
- margin: 0;
117
- text-align: center;
118
- }
119
- .ht-category-wrap .ht-category-content-3 h3 span {
120
- font-size: 14px;
121
- margin-left: 5px;
122
- }
123
- .ht-category-wrap .ht-category-content-3 h3 a {
124
- color: #444;
125
- }
126
- .ht-category-wrap .ht-category-content-3 h3 a:hover {
127
- color: #dc9a0e;
128
- }
129
- .ht-category-wrap .ht-category-content-4{
130
- text-align: center;
131
- }
132
- .ht-category-wrap .ht-category-content-4 h3 {
133
- font-size: 16px;
134
- display: inline-block;
135
- position: relative;
136
- margin: 0;
137
- letter-spacing: 0.5px;
138
- }
139
- .ht-category-wrap .ht-category-content-4 span {
140
- position: absolute;
141
- top: -8px;
142
- right: -33px;
143
- font-size: 14px;
144
- }
145
- .ht-category-wrap .ht-category-content-4 h3 a {
146
- color: #444;
147
- }
148
- .ht-category-wrap .ht-category-content-4 h3 a:hover {
149
- color: #dc9a0e;
150
- }
151
- .ht-category-wrap .ht-category-content-5{
152
- text-align: center;
153
- }
154
- .ht-category-wrap .ht-category-content-5 h3 {
155
- font-size: 14px;
156
- text-transform: uppercase;
157
- margin: 0;
158
- font-weight: 500;
159
- letter-spacing: 0.5px;
160
- }
161
- .ht-category-wrap .ht-category-content-5 h3 span {
162
- margin-left: 5px;
163
- color: #dc9a0e;
164
- }
165
- .ht-category-wrap .ht-category-content-5 h3 a {
166
- color: #000000;
167
- display: inline-block;
168
- border-bottom: 1px solid transparent;
169
- }
170
- .ht-category-wrap .ht-category-content-5 h3 a:hover {
171
- color: #dc9a0e;
172
- border-bottom: 1px solid #dc9a0e;
173
- }
174
- .ht-category-wrap:hover .ht-category-image a.ht-category-border::before {
175
- transform: scale(0.95);
176
- }
177
- .ht-category-wrap:hover .ht-category-image a.ht-category-border-2::before {
178
- transform: scale(1);
179
- opacity: 1;
180
- visibility: visible;
181
- }
182
- .ht-category-wrap:hover .ht-category-image-3 {
183
- border: 1px solid #dc9a0e;
184
- }
185
- .ht-category-wrap:hover .ht-category-image-zoom a img {
186
- transform: scale(1.1);
187
- }
188
-
189
- .ht-category-wrap-2 {
190
- position: relative;
191
- overflow: hidden;
192
- padding: 48px 20px 42px;
193
- box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.2);
194
- }
195
- .ht-category-wrap-2::before {
196
- position: absolute;
197
- z-index: 2;
198
- top: 0px;
199
- bottom: 0px;
200
- left: 0px;
201
- right: 0px;
202
- width: 100%;
203
- height: 100%;
204
- content: "";
205
- opacity: 0;
206
- visibility: hidden;
207
- transform: scale(0.9);
208
- transition: all 0.7s ease 0s;
209
- border: 4px solid transparent;
210
- pointer-events: none;
211
- }
212
- .ht-category-wrap-2{
213
- text-align: center;
214
- }
215
- .ht-category-wrap-2 .ht-category-image-2 {
216
- margin-top: 39px;
217
- display: inline-block;
218
- }
219
- .ht-category-wrap-2 .ht-category-image-2 a {
220
- display: block;
221
- text-align: center;
222
- }
223
- .ht-category-wrap-2 .ht-category-image-2 a img {
224
- max-width: 100%;
225
- transition: all 0.7s ease 0s;
226
- }
227
- .ht-category-wrap-2 .ht-category-content-2 h3 {
228
- font-size: 22px;
229
- text-transform: capitalize;
230
- line-height: 1;
231
- margin: 0;
232
- position: relative;
233
- display: flex;
234
- align-items: center;
235
- justify-content: center;
236
- }
237
- .ht-category-wrap-2 .ht-category-content-2 h3 span {
238
- font-size: 14px;
239
- margin: 0 0 0 8px;
240
- }
241
- .ht-category-wrap-2 .ht-category-content-2 h3 a {
242
- color: #444;
243
- display: block;
244
- }
245
- .ht-category-wrap-2 .ht-category-content-2 h3 a:hover {
246
- color: #dc9a0e;
247
- }
248
- .ht-category-wrap-2 .ht-category-content-2 h3::before {
249
- position: absolute;
250
- content: "";
251
- left: 0;
252
- right: 0;
253
- bottom: -14px;
254
- margin: 0 auto;
255
- background-color: #D3D3D3;
256
- width: 90px;
257
- height: 2px;
258
- }
259
- .ht-category-wrap-2:hover::before {
260
- opacity: 1;
261
- visibility: visible;
262
- transform: scale(1);
263
- border: 4px solid #dc9a0e;
264
- }
265
- .ht-category-wrap-2:hover .ht-category-image-2 a img {
266
- transform: scale(1.2);
267
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/faq.css DELETED
@@ -1,97 +0,0 @@
1
- .htwoolentor-faq-card {
2
- margin-bottom: 12px;
3
- }
4
- .htwoolentor-faq-card .htwoolentor-faq-head {
5
- font-size: 17px;
6
- font-weight: 500;
7
- line-height: 1.625;
8
- position: relative;
9
- display: flex;
10
- padding: 19px 25px;
11
- cursor: pointer;
12
- transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
13
- color: #333333;
14
- border: 1px solid rgba(0, 0, 0, 0.1);
15
- border-radius: 4px;
16
- display: flex;
17
- align-items: center;
18
- justify-content: space-between;
19
- }
20
- .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon.htwoolentor-faq-close-icon,.htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-head .htwoolentor-faq-head-icon.htwoolentor-faq-open-icon{
21
- display: block;
22
- }
23
-
24
- .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon.htwoolentor-faq-open-icon,.htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-head .htwoolentor-faq-head-icon.htwoolentor-faq-close-icon{
25
- display: none;
26
- }
27
-
28
- .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon svg :not([stroke="none"]) {
29
- fill: #FFFFFF;
30
- }
31
- .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon svg :not([fill="none"]) {
32
- stroke: #FFFFFF;
33
- }
34
- .htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-head .htwoolentor-faq-head-icon svg [fill="none"] {
35
- fill: transparent !important;
36
- }
37
- .htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-head .htwoolentor-faq-head-icon svg [stroke="none"] {
38
- stroke: transparent !important;
39
- }
40
- @media only screen and (max-width: 767px) {
41
- .htwoolentor-faq-card .htwoolentor-faq-head {
42
- padding: 15px 15px;
43
- font-size: 16px;
44
- line-height: 1.5;
45
- }
46
- }
47
- .htwoolentor-faq-card .htwoolentor-faq-head .htwoolentor-faq-head-indicator {
48
- position: relative;
49
- width: 14px;
50
- height: 14px;
51
- margin-left: 10px;
52
- }
53
- .htwoolentor-faq-card .htwoolentor-faq-head .htwoolentor-faq-head-indicator::before, .htwoolentor-faq-card .htwoolentor-faq-head .htwoolentor-faq-head-indicator::after {
54
- position: absolute;
55
- top: 50%;
56
- left: 0;
57
- width: 14px;
58
- height: 2px;
59
- content: "";
60
- transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
61
- transform: translateY(-50%);
62
- border-radius: 10px;
63
- background-color: #3D3D3D;
64
- }
65
- @media only screen and (max-width: 767px) {
66
- .htwoolentor-faq-card .htwoolentor-faq-head .htwoolentor-faq-head-indicator {
67
- margin-left: 15px;
68
- }
69
- }
70
- .htwoolentor-faq-card .htwoolentor-faq-head .htwoolentor-faq-head-indicator::after {
71
- transform: translateY(-50%) rotate(90deg);
72
- }
73
- .htwoolentor-faq-card .htwoolentor-faq-body {
74
- overflow: hidden;
75
- }
76
- .htwoolentor-faq-card .htwoolentor-faq-body .htwoolentor-faq-content {
77
- padding: 16px 25px 4px;
78
- }
79
- @media only screen and (max-width: 767px) {
80
- .htwoolentor-faq-card .htwoolentor-faq-body .htwoolentor-faq-content {
81
- padding: 16px 15px 4px;
82
- }
83
- }
84
- .htwoolentor-faq-card .htwoolentor-faq-body .htwoolentor-faq-content p {
85
- font-size: 15px;
86
- line-height: 30px;
87
- margin: 0;
88
- }
89
- .htwoolentor-faq-card.is-active .htwoolentor-faq-head {
90
- color: #FFFFFF;
91
- border-color: #dc9a0e;
92
- background-color: #dc9a0e;
93
- }
94
- .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-indicator::after {
95
- background-color: #ffffff;
96
- transform: translateY(-50%);
97
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/product-grid.css DELETED
@@ -1,595 +0,0 @@
1
- .woolentor-products.wl-row {
2
- clear: both;
3
- }
4
- .ht-overflow-hidden {
5
- overflow: hidden;
6
- }
7
- .ht-product-2 .ht-product-image-wrap-2 {
8
- position: relative;
9
- margin-bottom: 15px;
10
- }
11
- .ht-product-2 .ht-product-image-wrap-2 a {
12
- display: block;
13
- }
14
- .ht-product-2 .ht-product-image-wrap-2 a img {
15
- width: 100%;
16
- }
17
- .ht-product-2 .ht-product-image-wrap-2 a img.ht-product-img-zoom {
18
- transition: all 0.7s ease 0s;
19
- transform: scale(1);
20
- }
21
- .ht-product-2 .ht-product-image-wrap-2 a img.ht-hover-img {
22
- position: absolute;
23
- top: 0;
24
- left: 50%;
25
- opacity: 0;
26
- visibility: hidden;
27
- transform: translate(-50%, 20px);
28
- transition: 0.7s;
29
- z-index: 8;
30
- }
31
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-badges {
32
- position: absolute;
33
- z-index: 9;
34
- top: 18px;
35
- }
36
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-badges.ht-badges-right {
37
- right: 20px;
38
- }
39
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-badges.ht-badges-left {
40
- left: 20px;
41
- }
42
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-badges span {
43
- display: inline-block;
44
- color: #ffffff;
45
- line-height: 1;
46
- background-color: #000000;
47
- font-size: 12px;
48
- font-weight: 500;
49
- padding: 5px 8px;
50
- border-radius: 3px;
51
- }
52
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options {
53
- position: absolute;
54
- z-index: 7;
55
- bottom: 20px;
56
- left: 20px;
57
- visibility: hidden;
58
- width: calc(100% - 40px);
59
- padding: 15px 10px 20px;
60
- transition: all 0.7s ease 0s;
61
- transform: translateY(50%);
62
- opacity: 0;
63
- background-color: #fff;
64
- z-index: 9;
65
- }
66
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul {
67
- display: flex;
68
- align-items: center;
69
- flex-wrap: wrap;
70
- justify-content: center;
71
- margin: 0;
72
- padding: 0;
73
- list-style: none;
74
- color: #333;
75
- }
76
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul:not(:last-child) {
77
- margin-bottom: 10px;
78
- }
79
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul.colors li {
80
- margin: 0 4px;
81
- }
82
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul.colors li a {
83
- width: 16px;
84
- height: 16px;
85
- font-size: 0;
86
- display: inline-block;
87
- border-radius: 50%;
88
- }
89
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul.colors li a.black {
90
- background-color: #000000;
91
- }
92
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul.colors li a.red {
93
- background-color: #b2483c;
94
- }
95
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul.colors li a.blue {
96
- background-color: #1e73be;
97
- }
98
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul.sizes li {
99
- margin: 0 4px;
100
- }
101
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul.sizes li a {
102
- font-size: 15px;
103
- opacity: 0.5;
104
- line-height: 1;
105
- }
106
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-options ul.sizes li a:hover {
107
- opacity: 1;
108
- }
109
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 {
110
- position: absolute;
111
- left: 20px;
112
- top: 15px;
113
- display: flex;
114
- flex-direction: column;
115
- z-index: 9;
116
- }
117
- .ht-product-2 .ht-product-image-wrap-2 [class*="ht-product-action"] ul{
118
- margin: 0;
119
- padding: 0;
120
- list-style: none;
121
- }
122
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li{
123
- opacity: 0;
124
- visibility: hidden;
125
- transition: all 0.4s ease 0s;
126
- margin: 5px 0 5px -20px;
127
- position: relative;
128
- }
129
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li a {
130
- font-size: 16px;
131
- color: #444;
132
- border: 1px solid #e6e6e6;
133
- background-color: #fff;
134
- display: inline-block;
135
- width: 40px;
136
- height: 40px;
137
- border-radius: 100%;
138
- text-align: center;
139
- }
140
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li a.htcompare-btn.loading,.ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li a.htcompare-btn.loading,.ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li a.htcompare-btn.loading{
141
- padding: 0;
142
- }
143
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li a.htcompare-btn.loading::after{
144
- top: 7px;
145
- right: 10px;
146
- }
147
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li a.htcompare-btn.added::after,.ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li a.htcompare-btn.added::after,.ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li a.htcompare-btn.added::after{
148
- display: none;
149
- }
150
- .ht-product-2 .ht-product-content-2 .ht-price-addtocart-wrap [class*="ht-addtocart"] a{
151
- position: relative;
152
- }
153
- .ht-product-2 .ht-product-content-2 .ht-price-addtocart-wrap [class*="ht-addtocart"] a.woolentor-product-addtocart.loading::after{
154
- font-family: WooCommerce;
155
- content: "\e01c";
156
- vertical-align: top;
157
- font-weight: 400;
158
- position: absolute;
159
- top: 0;
160
- left: 0;
161
- -webkit-animation: spin 2s linear infinite;
162
- animation: spin 2s linear infinite;
163
- }
164
- .ht-product-2 .ht-product-content-2 .ht-price-addtocart-wrap .ht-addtocart a.woolentor-product-addtocart.loading{
165
- padding-left: 20px;
166
- }
167
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li a i{
168
- color: inherit;
169
- }
170
- .ht-product-2 .ht-product-content-2 .ht-price-addtocart-wrap .ht-addtocart a.woolentor-button-icon-right {
171
- display: flex;
172
- flex-direction: row-reverse;
173
- align-items: center;
174
- }
175
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li .woolentor-compare.compare::before{
176
- bottom: 0;
177
- top: 0;
178
- align-items: center;
179
- }
180
- .ht-product-2 .ht-product-image-wrap-2 [class*="ht-product-action"] ul li a .ht-product-action-tooltip{
181
- display: none;
182
- }
183
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li a i {
184
- line-height: 40px;
185
- margin: 0;
186
- }
187
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li:nth-child(1) {
188
- transition-delay: 0.2s;
189
- }
190
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li:nth-child(2) {
191
- transition-delay: 0.1s;
192
- }
193
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li:nth-child(3) {
194
- transition-delay: 0s;
195
- }
196
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li a:hover {
197
- border: 1px solid #dc9a0e;
198
- background-color: #dc9a0e;
199
- color: #ffffff;
200
- }
201
-
202
- /* Style Two*/
203
- .woolentor-grid-style-2 .ht-product-content-2{
204
- text-align: center;
205
- }
206
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 {
207
- position: absolute;
208
- left: 50%;
209
- bottom: 0;
210
- width: 100%;
211
- z-index: 9;
212
- transform: translateX(-50%);
213
- align-items: center;
214
- }
215
-
216
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li{
217
- opacity: 0;
218
- visibility: hidden;
219
- transition: all 0.5s ease;
220
- transform: translateY(20px);
221
- display: block;
222
- float: left;
223
- height: 48px;
224
- width: 48px;
225
- }
226
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li a {
227
- display: flex;
228
- align-items: center;
229
- justify-content: center;
230
- font-size: 16px;
231
- color: #ffffff;
232
- background-color: #dc9a0e;
233
- width: 100%;
234
- height: 100%;
235
- }
236
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li.wlwishlist{
237
- border:none;
238
- }
239
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li.wlwishlist a {
240
- border-right: 1px solid rgba(255, 255, 255, 0.2);
241
- }
242
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li.wlwishlist a i{
243
- margin: 0;
244
- }
245
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li.wlwishlist .yith-wcwl-add-to-wishlist,.ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li.wlwishlist div{
246
- height: 100%;
247
- margin: 0;
248
- }
249
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li.wlgrid-cart-btn{
250
- width: calc(100% - 48px - 48px);
251
- transition-delay: 0.1s;
252
- }
253
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li a.woolentor-product-addtocart i {
254
- margin-right: 7px;
255
- }
256
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li.wlgrid-quickview{
257
- transition-delay: 0.2s;
258
- }
259
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li a.woolentorquickview {
260
- border-left: 1px solid rgba(255, 255, 255, 0.2);
261
- margin: 0;
262
- margin-left: -1px;
263
- }
264
- .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-3 ul li a:hover {
265
- background-color: #000000;
266
- }
267
-
268
- /* Style Three*/
269
- .woolentor-grid-style-3 .ht-product-2 .ht-product-content-2 .ht-product-ratting-2 {
270
- margin: 10px 0 3px;
271
- }
272
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 {
273
- position: absolute;
274
- bottom: 20px;
275
- left: 0;
276
- right: 0;
277
- z-index: 9;
278
- top: auto;
279
- }
280
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul{
281
- display: flex;
282
- justify-content: center;
283
- text-align: center;
284
- }
285
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li{
286
- width: 46px;
287
- height: 46px;
288
- display: block;
289
- border-radius: 100%;
290
- transition: all 0.3s ease 0s;
291
- transform: scale3d(0, 0, 0);
292
- margin: 0 4px;
293
- }
294
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li a {
295
- background: #ffffff;
296
- color: #444;
297
- text-align: center;
298
- font-size: 16px;
299
- display: block;
300
- margin: 0 4px;
301
- border: 1px solid #e6e6e6;
302
- height: 100%;
303
- width: 100%;
304
- }
305
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li .woolentor-compare.compare::before {
306
- left: 3px;
307
- }
308
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li i {
309
- line-height: 46px;
310
- }
311
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li:nth-child(1) {
312
- transition: all 0.3s;
313
- }
314
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li:nth-child(2) {
315
- transition: all 0.6s;
316
- }
317
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li:nth-child(3) {
318
- transition: all 0.9s;
319
- }
320
- .woolentor-grid-style-3 .ht-product-2 .ht-product-image-wrap-2 .ht-product-action-2 ul li a:hover {
321
- border: 1px solid #dc9a0e;
322
- background-color: #dc9a0e;
323
- color: #ffffff;
324
- }
325
- .ht-product-2 .ht-product-image-wrap-2 [class*="ht-product-action"] ul li .yith-wcwl-add-to-wishlist,.ht-product-2 .ht-product-image-wrap-2 [class*="ht-product-action"] ul li div{
326
- margin: 0;
327
- width: 100%;
328
- height: 100%;
329
- }
330
-
331
-
332
- .ht-product-2 .ht-product-content-2.ht-product-content-2-padding {
333
- padding: 0 20px 20px;
334
- }
335
- .ht-product-2 .ht-product-content-2.ht-product-content-2-hidden {
336
- transition: all 0.7s ease 0s;
337
- }
338
- .ht-product-2 .ht-product-content-2.ht-product-content-2-up {
339
- transition: all 0.7s ease 0s;
340
- background-color: #ffffff;
341
- padding: 20px 20px 15px;
342
- position: relative;
343
- z-index: 9;
344
- }
345
- .ht-product-2 .ht-product-content-2 .ht-product-categories-2 {
346
- margin: 0 0 5px;
347
- }
348
- .ht-product-2 .ht-product-content-2 .ht-product-categories-2 a {
349
- color: #dc9a0e;
350
- font-size: 14px;
351
- display: block;
352
- }
353
- .ht-product-2 .ht-product-content-2 .ht-product-categories-2 a:hover {
354
- color: #444;
355
- }
356
- .ht-product-2 .ht-product-content-2 .ht-product-title-2 {
357
- font-size: 18px;
358
- margin: 0 0 10px;
359
- }
360
- .ht-product-2 .ht-product-content-2 .ht-product-title-2 a {
361
- color: #444;
362
- }
363
- .ht-product-2 .ht-product-content-2 .ht-product-title-2 a:hover {
364
- color: #dc9a0e;
365
- }
366
- .ht-product-2 .ht-product-content-2 .ht-price-addtocart-wrap {
367
- display: flex;
368
- align-items: center;
369
- justify-content: space-between;
370
- }
371
- .ht-product-2 .ht-product-content-2 .ht-price-addtocart-wrap .ht-addtocart a {
372
- opacity: 0;
373
- visibility: hidden;
374
- margin-right: -30px;
375
- color: #333;
376
- display: inline-block;
377
- font-weight: 500;
378
- transition: all 0.5s ease 0s;
379
- }
380
- .ht-product-2 .ht-product-content-2 .ht-price-addtocart-wrap .ht-addtocart a:hover {
381
- color: #dc9a0e;
382
- }
383
- .ht-product-2 .ht-product-content-2 .ht-product-price-2 {
384
- line-height: 1;
385
- }
386
- .ht-product-2 .ht-product-content-2 .ht-product-price-2 span {
387
- color: #444;
388
- font-size: 16px;
389
- font-weight: 500;
390
- }
391
- .ht-product-2 .ht-product-content-2 .ht-product-price-2 span.ht-old {
392
- font-weight: 300;
393
- font-size: 15px;
394
- text-decoration: line-through;
395
- margin-left: 9px;
396
- }
397
- .ht-product-2 .ht-product-content-2 .ht-product-ratting-2 {
398
- line-height: 1;
399
- margin: 12px 0 0;
400
- }
401
- .ht-product-2 .ht-product-content-2 .ht-product-ratting-2 i {
402
- font-size: 13px;
403
- line-height: 14px;
404
- padding: 0 1px;
405
- color: #dc9a0e;
406
- }
407
- .ht-product-2 .ht-product-content-2 .ht-product-ratting-2 i.gray {
408
- color: #5f5d5d;
409
- }
410
- .ht-product-2 .ht-product-content-2 .ht-addtocart-2 a.woolentor-product-addtocart {
411
- background: #f6f6f6;
412
- color: #444;
413
- width: 40px;
414
- height: 40px;
415
- text-align: center;
416
- font-size: 16px;
417
- border-radius: 50%;
418
- display: inline-block;
419
- transition: all 0.3s ease 0s;
420
- }
421
- .ht-product-2 .ht-product-content-2 .ht-addtocart-2 a.woolentor-product-addtocart i {
422
- line-height: 40px;
423
- }
424
- .ht-product-2 .ht-product-content-2 .ht-addtocart-2 a.woolentor-product-addtocart:hover {
425
- background-color: #dc9a0e;
426
- color: #ffffff;
427
- }
428
- .ht-product-2 .ht-product-content-2-wrap {
429
- position: relative;
430
- }
431
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 {
432
- position: absolute;
433
- z-index: 5;
434
- top: 0;
435
- right: 0;
436
- left: 0;
437
- display: flex;
438
- visibility: hidden;
439
- align-items: center;
440
- flex-wrap: wrap;
441
- justify-content: center;
442
- transition: all 0.7s ease 0s;
443
- transform: translateY(50%);
444
- opacity: 0;
445
- }
446
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul,.ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul{
447
- margin: 0;
448
- padding: 0;
449
- list-style: none;
450
- display: flex;
451
- }
452
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li {
453
- width: 48px;
454
- height: 48px;
455
- margin: 0 5px;
456
- text-align: center;
457
- }
458
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li a{
459
- font-size: 16px;
460
- color: #ffffff;
461
- background-color: #333;
462
- display: block;
463
- position: relative;
464
- border-radius: 50%;
465
- }
466
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li a:hover {
467
- background-color: #dc9a0e;
468
- }
469
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li a i {
470
- line-height: 48px;
471
- margin: 0;
472
- }
473
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li a .ht-product-action-tooltip,.ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 .ht-product-action-tooltip{
474
- display: none;
475
- }
476
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li .wishlist.button-default,.ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li .wishlist.button-default{
477
- margin: 0;
478
- height: 100%;
479
- }
480
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li a.woolentor-compare{
481
- height: 100%;
482
- }
483
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-5 ul li a.woolentor-compare:before,.ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li a.woolentor-compare:before{
484
- display: flex;
485
- align-items: center;
486
- }
487
-
488
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 {
489
- position: absolute;
490
- bottom: 0;
491
- left: 0;
492
- right: 0;
493
- display: flex;
494
- justify-content: center;
495
- }
496
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li {
497
- display: inline-block;
498
- width: 50px;
499
- height: 42px;
500
- margin: 0 6px;
501
- opacity: 0;
502
- visibility: hidden;
503
- transition: all 0.3s ease 0s;
504
- }
505
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li a{
506
- color: #ffffff;
507
- background-color: #333;
508
- font-size: 16px;
509
- border-radius: 0.25rem;
510
- display: block;
511
- width: 100%;
512
- height: 100%;
513
- }
514
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li .wishlist.button-default div{
515
- height: 100%;
516
- }
517
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li:nth-child(1) {
518
- animation-delay: 0.2s;
519
- }
520
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li:nth-child(2) {
521
- animation-delay: 0.3s;
522
- }
523
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li:nth-child(3) {
524
- animation-delay: 0.4s;
525
- }
526
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li:nth-child(4) {
527
- animation-delay: 0.5s;
528
- }
529
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li a:hover {
530
- color: #ffffff;
531
- background-color: #dc9a0e;
532
- }
533
- .ht-product-2 .ht-product-content-2-wrap .ht-product-action-6 ul li a i {
534
- line-height: 40px;
535
- margin: 0;
536
- }
537
-
538
-
539
- .ht-product-2:hover .ht-product-image-wrap-2 a img.ht-product-img-zoom {
540
- transform: scale(1.2);
541
- }
542
- .ht-product-2:hover .ht-product-image-wrap-2 a img.ht-hover-img {
543
- opacity: 1;
544
- visibility: visible;
545
- transform: translate(-50%, 0);
546
- }
547
- .ht-product-2:hover .ht-product-image-wrap-2 .ht-product-options {
548
- visibility: visible;
549
- transform: translateY(0);
550
- opacity: 1;
551
- }
552
- .ht-product-2:hover .ht-product-image-wrap-2 .ht-product-action-2 ul li{
553
- opacity: 1;
554
- visibility: visible;
555
- margin: 5px 0 5px 0px;
556
- }
557
-
558
- .ht-product-2:hover .ht-product-image-wrap-2 .ht-product-action-3 ul li {
559
- opacity: 1;
560
- visibility: visible;
561
- transform: translateY(0);
562
- }
563
- .woolentor-grid-style-3 .ht-product-2:hover .ht-product-image-wrap-2 .ht-product-action-2 ul li{
564
- transform: scaleX(1);
565
- margin: 0 4px;
566
- }
567
- .ht-product-2:hover .ht-product-content-2 .ht-price-addtocart-wrap .ht-addtocart a {
568
- opacity: 1;
569
- visibility: visible;
570
- margin-right: 0px;
571
- }
572
- .ht-product-2:hover .ht-product-content-2.ht-product-content-2-hidden {
573
- visibility: hidden;
574
- transform: translateY(-20px);
575
- opacity: 0;
576
- }
577
- .ht-product-2:hover .ht-product-content-2.ht-product-content-2-up {
578
- transform: translateY(-50px);
579
- }
580
- .ht-product-2:hover .ht-product-action-5 {
581
- visibility: visible;
582
- transform: translateY(0);
583
- opacity: 1;
584
- }
585
- .ht-product-2:hover .ht-product-action-6 ul li {
586
- visibility: visible;
587
- opacity: 1;
588
- animation-duration: 0.6s;
589
- animation-fill-mode: both;
590
- animation-name: fadeInUp;
591
- }
592
-
593
- .elementor-widget-wl-product-grid .slick-list{
594
- margin: 0 -15px;
595
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/select2.min.css DELETED
@@ -1 +0,0 @@
1
- .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{background-color:transparent;border:none;font-size:1em}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline;list-style:none;padding:0}.select2-container .select2-selection--multiple .select2-selection__clear{background-color:transparent;border:none;font-size:1em}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;margin-left:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option--selectable{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;height:26px;margin-right:20px;padding-right:0px}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;padding-bottom:5px;padding-right:5px}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;height:20px;margin-right:10px;margin-top:5px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;display:inline-block;margin-left:5px;margin-top:5px;padding:0}.select2-container--default .select2-selection--multiple .select2-selection__choice__display{cursor:default;padding-left:2px;padding-right:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{background-color:transparent;border:none;border-right:1px solid #aaa;border-top-left-radius:4px;border-bottom-left-radius:4px;color:#999;cursor:pointer;font-size:1em;font-weight:bold;padding:0 4px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus{background-color:#f1f1f1;color:#333;outline:none}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__display{padding-left:5px;padding-right:2px}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{border-left:1px solid #aaa;border-right:none;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__clear{float:left;margin-left:10px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--group{padding:0}.select2-container--default .select2-results__option--disabled{color:#999}.select2-container--default .select2-results__option--selected{background-color:#ddd}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;height:26px;margin-right:20px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0;padding-bottom:5px;padding-right:5px}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;display:inline-block;margin-left:5px;margin-top:5px;padding:0}.select2-container--classic .select2-selection--multiple .select2-selection__choice__display{cursor:default;padding-left:2px;padding-right:5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{background-color:transparent;border:none;border-top-left-radius:4px;border-bottom-left-radius:4px;color:#888;cursor:pointer;font-size:1em;font-weight:bold;padding:0 4px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555;outline:none}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__display{padding-left:5px;padding-right:2px}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option--group{padding:0}.select2-container--classic .select2-results__option--disabled{color:grey}.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
 
assets/css/simple-line-icons.css CHANGED
@@ -587,4 +587,4 @@
587
  }
588
  .sli-social-steam:before {
589
  content: "\e620";
590
- }
587
  }
588
  .sli-social-steam:before {
589
  content: "\e620";
590
+ }
assets/css/slider.css DELETED
@@ -1,326 +0,0 @@
1
- .ht-full-slider-area {
2
- position: relative;
3
- }
4
- .ht-full-slider-area .ht-slider-pagination {
5
- position: fixed;
6
- top: 50%;
7
- transform: translateY(-50%);
8
- right: 40px;
9
- z-index: 99;
10
- }
11
- @media only screen and (max-width: 767px) {
12
- .ht-full-slider-area .ht-slider-pagination {
13
- right: 20px;
14
- }
15
- }
16
- .ht-full-slider-area .ht-slider-pagination ul{
17
- margin: 0;
18
- padding: 0;
19
- list-style: none;
20
- }
21
- .ht-full-slider-area .ht-slider-pagination ul li {
22
- display: flex;
23
- margin: 0 0 15px;
24
- list-style: none;
25
- }
26
- .ht-full-slider-area .ht-slider-pagination ul li a {
27
- font-size: 0px;
28
- height: 14px;
29
- width: 14px;
30
- background: #dddddd;
31
- border-radius: 100%;
32
- display: inline-block;
33
- }
34
- .ht-full-slider-area .ht-slider-pagination ul li a:hover {
35
- background-color: #dc9a0e;
36
- }
37
- .ht-full-slider-area .ht-slider-pagination ul li.current a {
38
- background-color: #dc9a0e;
39
- }
40
-
41
- .ht-single-full-slider {
42
- height: 100vh;
43
- background-size: cover;
44
- background-repeat: no-repeat;
45
- background-position: top center;
46
- }
47
-
48
- #jarallax-container-0 > div,
49
- #jarallax-container-1 > div,
50
- #jarallax-container-2 > div,
51
- #jarallax-container-3 > div,
52
- #jarallax-container-4 > div {
53
- transition-property: transform, opacity;
54
- transition-timing-function: cubic-bezier(0, 0.33, 0.07, 1.03);
55
- transition-duration: 1s;
56
- }
57
-
58
- .ht-slider-align-items-center {
59
- display: flex;
60
- align-items: center;
61
- }
62
-
63
- .ht-full-slider-content{
64
- text-align: center;
65
- }
66
-
67
- .ht-full-slider-content h2 {
68
- font-size: 59px;
69
- color: #fff;
70
- font-family: "Playfair Display", serif;
71
- margin: 0;
72
- letter-spacing: -2px;
73
- font-style: italic;
74
- line-height: 77px;
75
- }
76
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
77
- .ht-full-slider-content h2 {
78
- font-size: 54px;
79
- line-height: 70px;
80
- }
81
- }
82
- @media only screen and (min-width: 768px) and (max-width: 991px) {
83
- .ht-full-slider-content h2 {
84
- font-size: 45px;
85
- line-height: 70px;
86
- }
87
- }
88
- @media only screen and (max-width: 767px) {
89
- .ht-full-slider-content h2 {
90
- font-size: 30px;
91
- line-height: 40px;
92
- }
93
- }
94
- @media only screen and (min-width: 576px) and (max-width: 767px) {
95
- .ht-full-slider-content h2 {
96
- font-size: 32px;
97
- }
98
- }
99
- .ht-full-slider-content h1 {
100
- font-size: 149px;
101
- color: #fff;
102
- font-family: "Playfair Display", serif;
103
- margin: 25px 0 60px;
104
- line-height: 127px;
105
- letter-spacing: -5px;
106
- }
107
- @media only screen and (min-width: 1366px) and (max-width: 1600px) {
108
- .ht-full-slider-content h1 {
109
- font-size: 130px;
110
- }
111
- }
112
- @media only screen and (min-width: 1200px) and (max-width: 1365px) {
113
- .ht-full-slider-content h1 {
114
- font-size: 130px;
115
- line-height: 115px;
116
- }
117
- }
118
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
119
- .ht-full-slider-content h1 {
120
- font-size: 115px;
121
- line-height: 100px;
122
- }
123
- }
124
- @media only screen and (min-width: 768px) and (max-width: 991px) {
125
- .ht-full-slider-content h1 {
126
- font-size: 100px;
127
- line-height: 90px;
128
- margin: 20px 0 50px;
129
- }
130
- }
131
- @media only screen and (max-width: 767px) {
132
- .ht-full-slider-content h1 {
133
- font-size: 50px;
134
- margin: 15px 0 35px;
135
- line-height: 45px;
136
- letter-spacing: -3px;
137
- }
138
- }
139
- @media only screen and (min-width: 576px) and (max-width: 767px) {
140
- .ht-full-slider-content h1 {
141
- font-size: 60px;
142
- }
143
- }
144
-
145
- .ht-btn-style a {
146
- display: inline-block;
147
- line-height: 1;
148
- color: #181818;
149
- font-size: 24px;
150
- position: relative;
151
- background-color: #fff;
152
- padding: 23px 40px 28px;
153
- z-index: 2;
154
- }
155
- .ht-btn-style a::after {
156
- width: 0;
157
- height: 103%;
158
- top: 50%;
159
- left: 50%;
160
- opacity: 0;
161
- transform: translateX(-50%) translateY(-50%);
162
- content: "";
163
- position: absolute;
164
- z-index: -1;
165
- transition: all 0.4s;
166
- background-color: #000000;
167
- }
168
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
169
- .ht-btn-style a {
170
- font-size: 22px;
171
- padding: 20px 40px 25px;
172
- }
173
- }
174
- @media only screen and (min-width: 768px) and (max-width: 991px) {
175
- .ht-btn-style a {
176
- font-size: 20px;
177
- padding: 18px 40px 23px;
178
- }
179
- }
180
- @media only screen and (max-width: 767px) {
181
- .ht-btn-style a {
182
- font-size: 18px;
183
- padding: 15px 30px 20px;
184
- }
185
- }
186
- .ht-btn-style a:hover {
187
- color: #ffffff;
188
- }
189
- .ht-btn-style a:hover:after {
190
- width: 100%;
191
- opacity: 1;
192
- }
193
-
194
- .ht-video-content {
195
- position: relative;
196
- z-index: 9;
197
- text-align: center;
198
- }
199
- .ht-video-content .ht-video-icon a {
200
- width: 220px;
201
- height: 220px;
202
- line-height: 220px;
203
- font-size: 32px;
204
- display: inline-block;
205
- border-radius: 100%;
206
- color: #fff;
207
- transition: all 0.3s ease;
208
- border: 2px solid #ffffff;
209
- transform: scale(1);
210
- text-align: center;
211
- }
212
- @media only screen and (min-width: 1366px) and (max-width: 1600px) {
213
- .ht-video-content .ht-video-icon a {
214
- width: 200px;
215
- height: 200px;
216
- line-height: 200px;
217
- }
218
- }
219
- @media only screen and (min-width: 1200px) and (max-width: 1365px) {
220
- .ht-video-content .ht-video-icon a {
221
- width: 200px;
222
- height: 200px;
223
- line-height: 200px;
224
- }
225
- }
226
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
227
- .ht-video-content .ht-video-icon a {
228
- width: 170px;
229
- height: 170px;
230
- line-height: 170px;
231
- }
232
- }
233
- @media only screen and (min-width: 768px) and (max-width: 991px) {
234
- .ht-video-content .ht-video-icon a {
235
- width: 150px;
236
- height: 150px;
237
- line-height: 150px;
238
- }
239
- }
240
- @media only screen and (max-width: 767px) {
241
- .ht-video-content .ht-video-icon a {
242
- width: 100px;
243
- height: 100px;
244
- line-height: 100px;
245
- font-size: 25px;
246
- }
247
- }
248
- .ht-video-content .ht-video-icon a:hover {
249
- transform: scale(0.9);
250
- color: #dc9a0e;
251
- border: 2px solid #dc9a0e;
252
- }
253
- .ht-video-content h3 {
254
- margin: 55px 0 0;
255
- font-size: 26px;
256
- font-style: italic;
257
- color: #fff;
258
- font-family: "Playfair Display", serif;
259
- }
260
- @media only screen and (min-width: 1366px) and (max-width: 1600px) {
261
- .ht-video-content h3 {
262
- margin: 45px 0 0;
263
- }
264
- }
265
- @media only screen and (min-width: 1200px) and (max-width: 1365px) {
266
- .ht-video-content h3 {
267
- margin: 45px 0 0;
268
- }
269
- }
270
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
271
- .ht-video-content h3 {
272
- margin: 45px 0 0;
273
- }
274
- }
275
- @media only screen and (min-width: 768px) and (max-width: 991px) {
276
- .ht-video-content h3 {
277
- margin: 40px 0 0;
278
- }
279
- }
280
- @media only screen and (max-width: 767px) {
281
- .ht-video-content h3 {
282
- margin: 30px 0 0;
283
- font-size: 23px;
284
- }
285
- }
286
- @media only screen and (min-width: 576px) and (max-width: 767px) {
287
- .ht-video-content h3 {
288
- font-size: 25px;
289
- }
290
- }
291
-
292
- .ht-full-slider-overly {
293
- position: relative;
294
- }
295
- .ht-full-slider-overly:before {
296
- position: absolute;
297
- content: "";
298
- left: 0;
299
- right: 0;
300
- top: 0;
301
- bottom: 0;
302
- width: 100%;
303
- height: 100%;
304
- background-color: #181818;
305
- opacity: 0.4;
306
- }
307
-
308
- .ht-full-slider-bg-color-1 {
309
- background-color: #F4B446;
310
- }
311
-
312
- .ht-full-slider-bg-color-2 {
313
- background-color: #A891BF;
314
- }
315
-
316
- .ht-full-slider-bg-color-3 {
317
- background-color: #11130D;
318
- }
319
-
320
- .ht-full-slider-bg-color-4 {
321
- background-color: #D7DDD9;
322
- }
323
-
324
- .ht-full-slider-bg-color-5 {
325
- background-color: #ECEBE7;
326
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/store-feature.css DELETED
@@ -1,165 +0,0 @@
1
- .ht-feature-wrap {
2
- position: relative;
3
- text-align: center;
4
- }
5
- .ht-feature-style-1 .ht-feature-inner {
6
- border: 1px solid #e8e8e8;
7
- padding: 25px 15px 20px;
8
- transition: all 0.3s ease 0s;
9
- }
10
- .ht-feature-wrap .ht-feature-content h4 {
11
- display: block;
12
- font-size: 18px;
13
- font-weight: 500;
14
- margin-bottom: 6px;
15
- line-height: 1;
16
- color: #000000;
17
- }
18
- .ht-feature-wrap .ht-feature-content p {
19
- font-size: 15px;
20
- color: #6d6d6d;
21
- margin: 0;
22
- }
23
- .ht-feature-wrap .ht-feature-img {
24
- margin-bottom: 20px;
25
- display: inline-block;
26
- }
27
- .ht-feature-wrap .ht-feature-img img {
28
- max-width: 100%;
29
- transition: all 0.5s ease 0s;
30
- }
31
- .ht-feature-wrap .ht-feature-img i {
32
- font-size: 32px;
33
- color: #dc9a0e;
34
- display: inline-block;
35
- }
36
- .ht-feature-wrap .ht-feature-img svg{
37
- width: 32px;
38
- height: 32px;
39
- }
40
- .ht-feature-style-2 .ht-feature-inner{
41
- display: flex;
42
- align-items: center;
43
- border: none;
44
- padding: 0;
45
- text-align: left;
46
- }
47
- .ht-feature-style-2 .ht-feature-content{
48
- padding-left: 30px;
49
- margin-left: 24px;
50
- border-left: 1px solid #ddd9d2;
51
- }
52
- .ht-feature-wrap.ht-feature-style-2:hover .ht-feature-img {
53
- animation: 500ms ease-in-out 0s normal none 1 running rubberBand;
54
- }
55
- .ht-feature-style-2 .ht-feature-content {
56
- padding-left: 30px;
57
- width: 100%;
58
- }
59
- .ht-feature-style-2 .ht-feature-content h4,.ht-feature-style-5 .ht-feature-content h4 {
60
- font-size: 20px;
61
- margin: 0 0 12px;
62
- line-height: 1;
63
- color: #000000;
64
- }
65
- .ht-feature-style-2 .ht-feature-content p {
66
- margin: 0;
67
- font-size: 15px;
68
- color: #6d6d6d;
69
- }
70
- .ht-feature-style-2 .ht-feature-img{
71
- margin: 0;
72
- }
73
- .ht-feature-wrap.ht-feature-style-1:hover .ht-feature-inner {
74
- border: 1px solid #dc9a0e;
75
- }
76
- .ht-feature-wrap.ht-feature-style-1:hover .ht-feature-img img,
77
- .ht-feature-style-5:hover .ht-feature-img{
78
- animation: 500ms ease-in-out 0s normal none 1 running tada;
79
- }
80
- .ht-feature-style-3 .ht-feature-img{
81
- display: inline-block;
82
- border: 1px solid #000000;
83
- width: 55px;
84
- height: 55px;
85
- line-height: 55px;
86
- text-align: center;
87
- border-radius: 100%;
88
- transition: all 0.5s ease 0s;
89
- }
90
- .ht-feature-style-3 .ht-feature-img img{
91
- border-radius: 100%;
92
- }
93
- .woolentor-blocks.ht-feature-style-3 .ht-feature-img{
94
- line-height: 48px;
95
- }
96
- .ht-feature-style-3 .ht-feature-img i{
97
- font-size: 20px;
98
- color: #000000;
99
- }
100
- .ht-feature-style-3:hover .ht-feature-img{
101
- background-color: #dc9a0e;
102
- border: 1px solid #dc9a0e;
103
- transform: rotate(360deg);
104
- }
105
- .ht-feature-style-3:hover .ht-feature-img i{
106
- color: #ffffff;
107
- }
108
- .ht-feature-style-3 .ht-feature-content h4,.ht-feature-style-4 .ht-feature-content h4 {
109
- display: block;
110
- font-size: 18px;
111
- font-weight: 500;
112
- margin-bottom: 14px;
113
- line-height: 1;
114
- color: #000000;
115
- }
116
- .ht-feature-style-3 .ht-feature-content p,.ht-feature-style-4 .ht-feature-content p {
117
- color: #6d6d6d;
118
- line-height: 27px;
119
- margin: 0 auto;
120
- font-size: 15px;
121
- width: 82%;
122
- }
123
- .ht-feature-style-4{
124
- text-align: left;
125
- }
126
- .ht-feature-style-4 .ht-feature-content {
127
- border-top: 1px solid #ebebeb;
128
- margin-top: 25px;
129
- padding-top:25px;
130
- }
131
- .ht-feature-style-4 .ht-feature-content p{
132
- width: 100%;
133
- }
134
- .ht-feature-style-4 .ht-feature-img{
135
- display: inline-block;
136
- background-color: #e9ecef;
137
- width: 60px;
138
- height: 60px;
139
- line-height: 60px;
140
- text-align: center;
141
- border-radius: 100%;
142
- transition: all 0.5s ease 0s;
143
- margin: 0;
144
- }
145
- .ht-feature-style-4 .ht-feature-img i {
146
- font-size: 20px;
147
- color: #000000;
148
- }
149
- .ht-feature-style-4:hover .ht-feature-img{
150
- background-color: #dc9a0e;
151
- transform: rotateY(180deg);
152
- }
153
- .ht-feature-style-4:hover .ht-feature-img i{
154
- color: #ffffff;
155
- }
156
- .ht-feature-style-5 .ht-feature-img {
157
- position: absolute;
158
- right: 0;
159
- bottom: 0;
160
- margin: 0;
161
- width: 120px;
162
- }
163
- .ht-feature-style-5 .ht-feature-img img {
164
- max-width: 100%;
165
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/testimonial.css DELETED
@@ -1,306 +0,0 @@
1
- .elementor-widget-wl-testimonial .slick-list{
2
- margin: 0 -15px;
3
- }
4
- .ht-testimonial-active-1 .slick-list .ht-testimonial-plr-1 {
5
- padding: 0 15px;
6
- }
7
-
8
- .wlb-testimonial-style-4 .ht-single-testimonial-wrap {
9
- border: 1px solid #e7e9ec;
10
- padding: 50px 30px;
11
- }
12
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
13
- .wlb-testimonial-style-4 .ht-single-testimonial-wrap {
14
- padding: 50px 12px;
15
- }
16
- }
17
- @media only screen and (max-width: 767px) {
18
- .wlb-testimonial-style-4 .ht-single-testimonial-wrap {
19
- padding: 50px 20px;
20
- }
21
- }
22
- .ht-single-testimonial-wrap .ht-client-content.ht-client-content-border {
23
- border: 1px solid #e7e9ec;
24
- padding: 40px 40px 65px;
25
- }
26
- @media only screen and (min-width: 768px) and (max-width: 991px) {
27
- .ht-single-testimonial-wrap .ht-client-content.ht-client-content-border {
28
- padding: 30px 25px 65px;
29
- }
30
- }
31
- @media only screen and (max-width: 767px) {
32
- .ht-single-testimonial-wrap .ht-client-content.ht-client-content-border {
33
- padding: 25px 22px 65px;
34
- }
35
- }
36
- .ht-single-testimonial-wrap .ht-client-content p {
37
- color: #6d6d6d;
38
- font-size: 16px;
39
- line-height: 30px;
40
- margin: 0;
41
- }
42
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
43
- .ht-single-testimonial-wrap .ht-client-content p {
44
- line-height: 28px;
45
- font-size: 15px;
46
- }
47
- }
48
- @media only screen and (min-width: 768px) and (max-width: 991px) {
49
- .ht-single-testimonial-wrap .ht-client-content p {
50
- line-height: 28px;
51
- font-size: 15px;
52
- }
53
- }
54
- @media only screen and (max-width: 767px) {
55
- .ht-single-testimonial-wrap .ht-client-content p {
56
- line-height: 28px;
57
- font-size: 15px;
58
- }
59
- }
60
- .ht-single-testimonial-wrap .ht-client-content p.ht-width-dec {
61
- width: 69%;
62
- margin: 0 auto;
63
- }
64
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
65
- .ht-single-testimonial-wrap .ht-client-content p.ht-width-dec {
66
- width: 91%;
67
- }
68
- }
69
- @media only screen and (min-width: 768px) and (max-width: 991px) {
70
- .ht-single-testimonial-wrap .ht-client-content p.ht-width-dec {
71
- width: 90%;
72
- }
73
- }
74
- @media only screen and (max-width: 767px) {
75
- .ht-single-testimonial-wrap .ht-client-content p.ht-width-dec {
76
- width: 100%;
77
- }
78
- }
79
- .ht-single-testimonial-wrap .ht-client-info {
80
- align-items: center;
81
- background-color: #fff;
82
- display: flex;
83
- float: left;
84
- margin-left: 32px;
85
- margin-top: -44px;
86
- padding-right: 18px;
87
- position: relative;
88
- z-index: 99;
89
- }
90
- @media only screen and (max-width: 767px) {
91
- .ht-single-testimonial-wrap .ht-client-info {
92
- margin-left: 10px;
93
- margin-top: -37px;
94
- }
95
- }
96
- .ht-single-testimonial-wrap .ht-client-info img {
97
- max-width: 100%;
98
- }
99
- @media only screen and (max-width: 767px) {
100
- .ht-single-testimonial-wrap .ht-client-info img {
101
- max-width: 70px;
102
- }
103
- }
104
- .ht-single-testimonial-wrap .ht-client-info h4 {
105
- color: #444;
106
- font-size: 16px;
107
- font-weight: 500;
108
- line-height: 1;
109
- margin: 0 22px 0 10px;
110
- position: relative;
111
- }
112
- @media only screen and (max-width: 767px) {
113
- .ht-single-testimonial-wrap .ht-client-info h4 {
114
- font-size: 14px;
115
- }
116
- }
117
- .ht-single-testimonial-wrap .ht-client-info h4::before {
118
- background-color: #95999e;
119
- content: "";
120
- height: 1px;
121
- position: absolute;
122
- right: -15px;
123
- top: 8px;
124
- width: 7px;
125
- }
126
- .ht-single-testimonial-wrap .ht-client-info span {
127
- color: #666;
128
- font-size: 15px;
129
- font-weight: 400;
130
- }
131
- @media only screen and (max-width: 767px) {
132
- .ht-single-testimonial-wrap .ht-client-info span {
133
- font-size: 14px;
134
- }
135
- }
136
- .ht-single-testimonial-wrap .ht-client-info-wrap {
137
- display: flex;
138
- align-items: center;
139
- }
140
- .ht-single-testimonial-wrap .ht-client-info-wrap.ht-client-info-border {
141
- border-bottom: 1px solid #e5e5e5;
142
- padding-bottom: 25px;
143
- margin-bottom: 17px;
144
- }
145
- .ht-single-testimonial-wrap .ht-client-info-wrap .ht-client-img img {
146
- max-width: 100%;
147
- }
148
- .ht-single-testimonial-wrap .ht-client-rating ul{
149
- margin: 0;
150
- padding: 0;
151
- list-style: none;
152
- display: flex;
153
- }
154
-
155
- .ht-single-testimonial-wrap .ht-client-rating ul li i{
156
- color: #dc9a0e;
157
- font-size: 13px;
158
- margin-right: 2px;
159
- }
160
-
161
- .ht-single-testimonial-wrap .ht-client-info-wrap .ht-client-info-2 {
162
- margin: 0 0 0 15px;
163
- }
164
- .ht-single-testimonial-wrap .ht-client-info-wrap .ht-client-info-2 h4 {
165
- color: #444;
166
- font-size: 16px;
167
- font-weight: 500;
168
- line-height: 1;
169
- margin: 0;
170
- }
171
- .ht-single-testimonial-wrap .ht-client-info-wrap .ht-client-info-2 span {
172
- color: #666;
173
- font-size: 15px;
174
- font-weight: 400;
175
- margin: 6px 0 8px;
176
- display: block;
177
- }
178
-
179
- .wlb-testimonial-style-2 .ht-single-testimonial-wrap,.wlb-testimonial-style-4 .ht-single-testimonial-wrap{
180
- text-align: center;
181
- }
182
- .wlb-testimonial-style-4 .ht-single-testimonial-wrap{
183
-
184
- }
185
- .ht-single-testimonial-wrap .ht-client-info-wrap-2 {
186
- margin: 0 0 20px;
187
- }
188
- .ht-single-testimonial-wrap .ht-client-info-wrap-2 .ht-client-img-2 img {
189
- max-width: 100%;
190
- display: inline-block;
191
- }
192
- .ht-single-testimonial-wrap .ht-client-info-wrap-2 .ht-client-info-3 h4 {
193
- color: #444;
194
- font-size: 16px;
195
- font-weight: 500;
196
- line-height: 1;
197
- margin: 15px 0 16px;
198
- display: flex;
199
- justify-content: center;
200
- align-items: center;
201
- }
202
- .ht-single-testimonial-wrap .ht-client-info-wrap-2 .ht-client-info-3 span {
203
- color: #666;
204
- font-size: 15px;
205
- font-weight: 400;
206
- margin: 0px 0 0px 20px;
207
- display: inline-block;
208
- position: relative;
209
- }
210
- .ht-single-testimonial-wrap .ht-client-info-wrap-2 .ht-client-info-3 span::before {
211
- background-color: #95999e;
212
- content: "";
213
- height: 2px;
214
- position: absolute;
215
- left: -13px;
216
- top: 50%;
217
- transform: translateY(-50%);
218
- width: 7px;
219
- }
220
- .ht-single-testimonial-wrap .ht-client-info-wrap-2 .ht-client-info-3 .ht-client-rating {
221
- display: flex;
222
- justify-content: center;
223
- }
224
- .ht-single-testimonial-wrap .ht-client-info-wrap-2 .ht-client-info-3 .ht-client-rating i {
225
- color: #dc9a0e;
226
- font-size: 13px;
227
- margin-right: 2px;
228
- }
229
-
230
- .ht-testimonial-image-slider {
231
- width: 450px;
232
- margin: 0 auto 30px;
233
- }
234
- @media only screen and (max-width: 767px) {
235
- .ht-testimonial-image-slider {
236
- width: 100%;
237
- }
238
- }
239
- .ht-testimonial-image-slider .ht-client-img-3 img {
240
- border-radius: 100%;
241
- display: inline-block;
242
- height: 100px;
243
- width: 100px;
244
- border: 3px solid transparent;
245
- }
246
- .ht-testimonial-image-slider .ht-client-img-3.slick-current img {
247
- border: 3px solid #dc9a0e;
248
- }
249
-
250
- .ht-client-info-4 p {
251
- font-size: 15px;
252
- margin: 0 auto;
253
- line-height: 30px;
254
- width: 65%;
255
- }
256
- @media only screen and (min-width: 768px) and (max-width: 991px) {
257
- .ht-client-info-4 p {
258
- width: 100%;
259
- }
260
- }
261
- @media only screen and (max-width: 767px) {
262
- .ht-client-info-4 p {
263
- width: 100%;
264
- }
265
- }
266
- .ht-client-info-4 h4 {
267
- color: #000000;
268
- font-size: 16px;
269
- font-weight: 500;
270
- line-height: 1;
271
- margin: 20px 0 13px;
272
- display: flex;
273
- justify-content: center;
274
- align-items: center;
275
- }
276
- .ht-client-info-4 span {
277
- color: #444;
278
- font-size: 15px;
279
- font-weight: 300;
280
- margin: 0px 0 0px 20px;
281
- display: inline-block;
282
- position: relative;
283
- }
284
- .ht-client-info-4 span::before {
285
- background-color: #95999e;
286
- content: "";
287
- height: 2px;
288
- position: absolute;
289
- left: -13px;
290
- top: 50%;
291
- transform: translateY(-50%);
292
- width: 7px;
293
- }
294
- .ht-client-info-4 .ht-client-rating-2 {
295
- display: flex;
296
- justify-content: center;
297
- }
298
- .ht-client-info-4 .ht-client-rating-2 i {
299
- color: #dc9a0e;
300
- font-size: 13px;
301
- margin-right: 2px;
302
- }
303
-
304
- .ht-testimonial-bg {
305
- background-color: #f2f2fa;
306
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/woolentor-widgets.css CHANGED
@@ -94,12 +94,9 @@
94
  margin-left: 0;
95
  top: 11px;
96
  }
97
- .product-item .woocommerce.product.compare-button,.product-item .actions .htcompare-btn {
98
  border-left: 1px solid #999;
99
  }
100
- .product-item .actions .htcompare-btn{
101
- border-radius: 0;
102
- }
103
  .product-item:hover .actions{
104
  opacity: 1;
105
  transform: translateX(-50%) translateY(-50%);
@@ -126,7 +123,7 @@
126
  top: 5px;
127
  width: 100%;
128
  }
129
- .product-item .actions .compare-button a::before,.product-item .actions .htcompare-btn::before{
130
  content: "\f021";
131
  }
132
  .product-item .product-inner .image-wrap .style_two .wishlist a::before{
@@ -194,26 +191,16 @@
194
  font-size: 14px;
195
  font-weight: 500;
196
  left: 15px;
197
- top: 15px;
198
  line-height: 1;
199
  min-height: inherit;
200
  min-width: inherit;
201
  padding: 5px 10px;
 
202
  position: absolute;
203
  }
204
-
205
  .product-item a.button.added {
206
  display: none !important;
207
  }
208
- .product-item .actions .htcompare-btn.added {
209
- display: block !important;
210
- }
211
- .product-item .actions .htcompare-btn.loading{
212
- padding: 0;
213
- }
214
- .product-item .actions a.htcompare-btn.loading::after,{
215
- right: 20px;
216
- }
217
  .product-item .product-inner .image-wrap .actions a.added_to_cart {
218
  text-indent: -99999px;
219
  }
@@ -356,7 +343,7 @@
356
  display: block;
357
  }
358
 
359
- [class*="elementor-widget-woolentor"] .slick-prev::before, [class*="elementor-widget-woolentor"] .slick-next::before,[class*="elementor-widget-wl"] .slick-prev::before, [class*="elementor-widget-wl"] .slick-next::before{
360
  display: none;
361
  }
362
 
@@ -460,6 +447,7 @@
460
  right: 30px;
461
  }
462
 
 
463
  .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image img {
464
  width: 100%;
465
  }
@@ -677,15 +665,6 @@
677
  -o-transition: all 0.3s ease;
678
  transition: all 0.3s ease;
679
  }
680
- .ht-products .ht-product .ht-product-inner .ht-product-action ul li a.htcompare-btn.loading{
681
- padding:0;
682
- }
683
- .ht-products .ht-product .ht-product-inner .ht-product-action ul li a.htcompare-btn.loading::after{
684
- right: 6px;
685
- }
686
- .ht-products .ht-product .ht-product-inner .ht-product-action ul li a.htcompare-btn.added::after{
687
- display: none;
688
- }
689
 
690
  .ht-products .ht-product .ht-product-inner .ht-product-action ul li a i {
691
  font-size: 20px;
@@ -702,7 +681,7 @@
702
  .woolentor-compare.compare::before, .ht-product-action ul li.woolentor-cart a::before {
703
  content: "";
704
  display: flex;
705
- font-family: simple-line-icons !important;
706
  font-size: 20px;
707
  height: 100%;
708
  justify-content: center;
@@ -737,7 +716,7 @@
737
  display: none !important;
738
  }
739
 
740
- .ht-products .ht-product .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,span.woolentor-tip, .wishsuite-button.wishlist span.wishsuite-btn-text {
741
  position: absolute;
742
  left: 100%;
743
  top: 50%;
@@ -759,13 +738,7 @@
759
  -o-transition: all 0.5s ease;
760
  transition: all 0.5s ease;
761
  }
762
- .wishsuite-button.wishlist span.wishsuite-btn-text{
763
- margin-right: -10px;
764
- -webkit-transform: translateY(-65%);
765
- -ms-transform: translateY(-65%);
766
- transform: translateY(-65%);
767
- }
768
- .ht-products .ht-product.ht-product-action-right span.woolentor-tip,.ht-products .ht-product.ht-product-action-right .wishsuite-button.wishlist span.wishsuite-btn-text{
769
  left: auto;
770
  right: 35px;
771
  }
@@ -781,11 +754,10 @@
781
  color: #dc9a0e !important;
782
  }
783
 
784
- .ht-products .ht-product .ht-product-inner .ht-product-action ul li a:hover .ht-product-action-tooltip,.ht-products .ht-product .ht-product-inner .ht-product-action ul li:hover span.woolentor-tip,.ht-products .ht-product .ht-product-inner .ht-product-action ul li:hover .wishsuite-button.wishlist span.wishsuite-btn-text {
785
  opacity: 1;
786
  visibility: visible;
787
  margin-left: 0;
788
- margin-right: 0;
789
  }
790
 
791
  .ht-products .ht-product .ht-product-inner .ht-product-content {
@@ -846,10 +818,6 @@
846
  line-height: 1.2;
847
  font-weight: 400;
848
  margin-bottom: 10px;
849
- margin-top: 0;
850
- }
851
- .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner span.ht-product-title{
852
- display: inline-block;
853
  }
854
 
855
  .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-title a {
@@ -901,9 +869,6 @@
901
  display: -ms-flexbox;
902
  display: flex;
903
  }
904
- .ht-products .woocommerce .ht-product-ratting-wrap .star-rating{
905
- float: none;
906
- }
907
 
908
  .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting {
909
  display: -webkit-box;
@@ -918,6 +883,7 @@
918
  .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting i {
919
  font-size: 13px;
920
  line-height: 14px;
 
921
  padding-left: 3px;
922
  padding-right: 3px;
923
  color: #aaaaaa;
@@ -1124,7 +1090,7 @@
1124
  padding: 10px;
1125
  }
1126
 
1127
- .ht-products .ht-product.ht-product-action-bottom .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-bottom span.woolentor-tip,.ht-products .ht-product.ht-product-action-bottom span.wishsuite-btn-text {
1128
  left: 50%;
1129
  right: auto;
1130
  top: auto;
@@ -1136,7 +1102,7 @@
1136
  margin-right: 0;
1137
  }
1138
 
1139
- .ht-products .ht-product.ht-product-action-bottom .ht-product-inner .ht-product-action ul li a:hover .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-bottom .ht-product-inner .ht-product-action ul li a:hover span.wishsuite-btn-text {
1140
  -webkit-transform: translateX(-50%) translateY(0);
1141
  -ms-transform: translateX(-50%) translateY(0);
1142
  transform: translateX(-50%) translateY(0);
@@ -1164,7 +1130,7 @@
1164
  padding: 10px;
1165
  }
1166
 
1167
- .ht-products .ht-product.ht-product-action-middle .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-middle span.woolentor-tip, .ht-products .ht-product.ht-product-action-middle .wishsuite-button.wishlist span.wishsuite-btn-text {
1168
  left: 50%;
1169
  right: auto;
1170
  top: auto;
@@ -1176,7 +1142,7 @@
1176
  margin-right: 0;
1177
  }
1178
 
1179
- .ht-products .ht-product.ht-product-action-middle .ht-product-inner .ht-product-action ul li a:hover .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-middle .ht-product-inner .ht-product-action ul li a:hover span.wishsuite-btn-text {
1180
  -webkit-transform: translateX(-50%) translateY(0);
1181
  -ms-transform: translateX(-50%) translateY(0);
1182
  transform: translateX(-50%) translateY(0);
@@ -1191,9 +1157,7 @@
1191
  -ms-flex-pack: start;
1192
  justify-content: flex-start;
1193
  position: static;
1194
- }
1195
- .ht-products .ht-product.ht-product-action-bottom-content .ht-product-inner .ht-product-ratting-wrap + .ht-product-action {
1196
- margin-top: 20px !important;
1197
  }
1198
 
1199
  .ht-products .ht-product.ht-product-action-bottom-content .ht-product-inner .ht-product-action ul {
@@ -1213,7 +1177,7 @@
1213
  padding: 10px;
1214
  }
1215
 
1216
- .ht-products .ht-product.ht-product-action-bottom-content .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-bottom-content span.woolentor-tip,.ht-products .ht-product.ht-product-action-bottom-content span.wishsuite-btn-text {
1217
  left: 50%;
1218
  right: auto;
1219
  top: auto;
@@ -1225,7 +1189,7 @@
1225
  margin-right: 0;
1226
  }
1227
 
1228
- .ht-products .ht-product.ht-product-action-bottom-content .ht-product-inner .ht-product-action ul li a:hover .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-bottom-content .ht-product-inner .ht-product-action ul li a:hover span.wishsuite-btn-text {
1229
  -webkit-transform: translateX(-50%) translateY(0);
1230
  -ms-transform: translateX(-50%) translateY(0);
1231
  transform: translateX(-50%) translateY(0);
@@ -1403,14 +1367,10 @@
1403
  .ht-products .ht-product.ht-product-category-right-bottom .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-categories {
1404
  position: absolute;
1405
  right: 0;
1406
- bottom: 10px;
1407
  margin: 0;
1408
- width: 100%;
1409
- }
1410
- .ht-product-content .woocommerce-product-details__short-description {
1411
- padding: 10px 0;
1412
- overflow: hidden;
1413
  }
 
1414
  .ht-products .ht-product.ht-product-ratting-top-right .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-price {
1415
  margin: 0;
1416
  }
@@ -1439,10 +1399,6 @@
1439
  opacity: 1;
1440
  }
1441
 
1442
- .product-slider .ht-product.col-1, .ht-product.col.first{
1443
- clear: unset;
1444
- }
1445
-
1446
  /* Ads Banner */
1447
  .woolentor-banner {
1448
  align-items: center;
@@ -1653,13 +1609,6 @@
1653
  }
1654
 
1655
  /* Category List */
1656
- .elementor-widget-woolentor-custom-product-archive .woocommerce[class*='columns-'] .product {
1657
- /*max-width: inherit;*/
1658
- margin: 0;
1659
- }
1660
- .elementor-widget-woolentor-custom-product-archive .woocommerce[class*='columns-'] .woolentor_current_theme_layout .product{
1661
- margin-right: 20px;
1662
- }
1663
  .wl-row{
1664
  display: -ms-flexbox;
1665
  display: -webkit-box;
@@ -1675,12 +1624,6 @@
1675
  margin-right: 0;
1676
  margin-left: 0;
1677
  }
1678
-
1679
- [class*="wl-col-"]{
1680
- padding-right: 15px;
1681
- padding-left: 15px;
1682
- }
1683
-
1684
  .wl-row > [class*="col-"] {
1685
  min-height: 1px;
1686
  position: relative;
@@ -1839,33 +1782,6 @@
1839
  display: inline-block;
1840
  }
1841
 
1842
- /* Capability With Wishsuite */
1843
- .wishsuite-button.wltooltip_no span.wishsuite-btn-text{
1844
- display: none;
1845
- }
1846
- .ht-product-action-bottom .ht-product-inner .wishsuite-button.wishlist,.ht-product-action-bottom-content .ht-product-inner .wishsuite-button.wishlist,.ht-product-action-middle .ht-product-inner .wishsuite-button.wishlist,.wl_single-product-item .product-content .action li .wishsuite-button.wishlist{
1847
- padding-top: 4px;
1848
- }
1849
-
1850
- .ht-product-2 .ht-product-action-2 .wishsuite-button.wishlist{
1851
- padding-top: 10px;
1852
- }
1853
-
1854
- .ht-product-2 .wishsuite-button.wishlist svg{
1855
- width: 15px;
1856
- height: 15px;
1857
- }
1858
-
1859
- .ht-product-2 .ht-product-action-3 .wishsuite-button.wishlist{
1860
- border-right: 1px solid rgba(255, 255, 255, 0.2);
1861
- }
1862
- .ht-product-2 .ht-product-action-5 .wishsuite-button.wishlist{
1863
- line-height: 48px;
1864
- }
1865
- .ht-product-2 .ht-product-action-6 .wishsuite-button.wishlist{
1866
- line-height: 40px;
1867
- }
1868
-
1869
  /* Quick view */
1870
  #htwlquick-viewmodal {
1871
  position: fixed;
@@ -1876,7 +1792,7 @@
1876
  display: flex;
1877
  align-items: center;
1878
  justify-content: center;
1879
- z-index: 9999;
1880
  opacity: 0;
1881
  visibility: hidden;
1882
  background-color: transparent;
@@ -2053,50 +1969,6 @@
2053
  display: block;
2054
  }
2055
 
2056
- [class*="woolentorducts-columns-"] ul.products{
2057
- display: block !important;
2058
- }
2059
- .woolentorducts-columns-6 ul.products li.product{
2060
- width: calc(16% - 30px) !important;
2061
- margin-right: 30px !important;
2062
- float: left;
2063
- }
2064
-
2065
- .woolentorducts-columns-5 ul.products li.product{
2066
- width: calc(19% - 30px) !important;
2067
- margin-right: 30px !important;
2068
- float: left;
2069
- }
2070
- .woolentorducts-columns-4 ul.products li.product{
2071
- width: calc(25% - 30px) !important;
2072
- margin-right: 30px !important;
2073
- float: left;
2074
- }
2075
- .woolentorducts-columns-3 ul.products li.product{
2076
- width: calc(33.33% - 30px) !important;
2077
- margin-right: 30px !important;
2078
- float: left;
2079
- }
2080
- .woolentorducts-columns-2 ul.products li.product{
2081
- width: calc(50% - 30px) !important;
2082
- margin-right: 30px !important;
2083
- float: left;
2084
- }
2085
- .woolentorducts-columns-1 ul.products li.product{
2086
- width: 100% !important;
2087
- }
2088
- [class*="woolentorducts-columns-"] ul.products li.product.first{
2089
- clear: none !important;
2090
- }
2091
- .woolentorducts-columns-6 ul.products li.product:nth-child(6n),
2092
- .woolentorducts-columns-5 ul.products li.product:nth-child(5n),
2093
- .woolentorducts-columns-4 ul.products li.product:nth-child(4n),
2094
- .woolentorducts-columns-3 ul.products li.product:nth-child(3n),
2095
- .woolentorducts-columns-2 ul.products li.product:nth-child(2n),
2096
- .woolentorducts-columns-1 ul.products li.product{
2097
- margin-right: 0;
2098
- }
2099
-
2100
  .woocommerce #content div.product .woolentor-woo-template-builder div.images,.woocommerce div.product .woolentor-woo-template-builder div.images {
2101
  width: 100%;
2102
  }
@@ -2136,10 +2008,6 @@
2136
  height: auto;
2137
  }
2138
 
2139
- .woolentor-myaccount-form-login .form-row{
2140
- display: block;
2141
- }
2142
-
2143
  /* Product Video Gallery */
2144
  .video-cus-tab-pane{
2145
  display: none;
@@ -2403,13 +2271,14 @@ span.wlvideo-button {
2403
  font-size: 18px;
2404
  }
2405
  .woolentor-addtocart-content .price {
 
2406
  font-size: 14px;
2407
  }
2408
  .woolentor-sticky-btn-area {
2409
  display: flex;
2410
  align-items: center;
2411
  flex-direction: row;
2412
- justify-content: flex-end;
2413
  }
2414
  .woolentor-sticky-btn-area .yith-wcwl-add-to-wishlist{
2415
  display: none;
@@ -2501,2613 +2370,133 @@ span.wlvideo-button {
2501
  .ht-products .ht-product .ht-product-inner .ht-product-action ul[class*="woolentor-btn-text"] li a:hover .ht-product-action-tooltip, .ht-products .ht-product .ht-product-inner .ht-product-action ul[class*="woolentor-btn-text"] li:hover span.woolentor-tip{
2502
  z-index: 999;
2503
  }
2504
- .htwl-modal-content {
2505
- max-height: 470px;
2506
- overflow-y: auto;
2507
- overflow-x: hidden;
2508
- }
2509
-
2510
- /* Customer Review */
2511
- .wl-customer-review .wl-row > [class*="col-"]{
2512
- margin-bottom: 30px;
2513
- }
2514
-
2515
- .wlb-review-style-1 .wl-customer-testimonal {
2516
- background: #f7f8f9;
2517
- padding: 30px;
2518
- margin-top: 30px;
2519
- }
2520
-
2521
- .wlb-review-style-1 .wl-customer-testimonal .content {
2522
- display: flex;
2523
- align-items: center;
2524
- }
2525
-
2526
- .wlb-review-style-1 .wl-customer-testimonal .content img {
2527
- max-width: 80px;
2528
- border-radius: 100%;
2529
- }
2530
-
2531
- .wlb-review-style-1 .wl-customer-testimonal .content img + .clint-info {
2532
- padding-left: 25px;
2533
- }
2534
-
2535
- .wlb-review-style-1 .wl-customer-testimonal .content .clint-info h4 {
2536
- font-size: 18px;
2537
- color: #383838;
2538
- margin: 0;
2539
- }
2540
-
2541
- .wlb-review-style-1 .wl-customer-testimonal .content .clint-info span {
2542
- color: #1834a6;
2543
- font-size: 13px;
2544
- }
2545
-
2546
- .wlb-review-style-1 .wl-customer-testimonal p {
2547
- color: #5b5b5b;
2548
- font-size: 14px;
2549
- line-height: 26px;
2550
- margin: 0;
2551
- margin-top: 22px;
2552
- }
2553
 
2554
- /* Customer Review Style 02 */
2555
- .wlb-review-style-2 .wl-customer-testimonal {
2556
- background: #fff none repeat scroll 0 0;
2557
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
2558
- margin-top: 30px;
2559
- padding: 40px 30px;
2560
- }
2561
 
2562
- .wlb-review-style-2 .wl-customer-testimonal img {
2563
- border: 2px solid #43df9c;
2564
- border-radius: 50%;
2565
- box-sizing: content-box;
2566
- float: left;
2567
- max-width: 90px;
2568
- }
2569
 
2570
- .wlb-review-style-2 .wl-customer-testimonal .content p {
2571
- color: #3e3e3e;
2572
- font-size: 16px;
2573
- line-height: 28px;
2574
- margin-bottom: 20px;
2575
  }
2576
 
2577
- .wlb-review-style-2 .wl-customer-testimonal .content {
2578
- overflow: hidden;
2579
- padding-left: 20px;
 
 
 
 
 
 
 
 
 
2580
  }
2581
 
2582
- .wlb-review-style-2 .wl-customer-testimonal .content .clint-info {
2583
- padding-left: 50px;
2584
- }
2585
- .wlb-review-style-2 .wl-customer-testimonal .content .clint-info h4{
2586
- position: relative;
2587
- }
2588
- .wlb-review-style-2 .wl-customer-testimonal .content .clint-info h4::before {
2589
- background: #383838 none repeat scroll 0 0;
2590
- content: "";
2591
- height: 2px;
2592
- left: -48px;
2593
- position: absolute;
2594
- top: 18px;
2595
- width: 30px;
2596
- }
2597
- .wl-customer-align-center .wlb-review-style-2 .wl-customer-testimonal .content .clint-info h4::before{
2598
- left: 30%;
2599
- }
2600
- .wl-customer-align-right .wlb-review-style-2 .wl-customer-testimonal .content .clint-info h4::before{
2601
- left: auto;
2602
- right: 80px;
2603
- }
2604
 
2605
- /* Customer Review Style 03 */
2606
- .wlb-review-style-3 .wl-customer-testimonal {
2607
- background: #fff none repeat scroll 0 0;
2608
- border-radius: 10px;
2609
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
2610
- margin-top: 53px;
2611
- padding-bottom: 27px;
2612
- position: relative;
2613
- text-align: center;
2614
- }
2615
- .wlb-review-style-3 .wl-customer-testimonal {
2616
- margin-top: 82px;
2617
- }
2618
- .wlb-review-style-3 .wl-customer-testimonal img {
2619
- border: 2px solid #727272;
2620
- border-radius: 50%;
2621
- box-sizing: content-box;
2622
- left: 50%;
2623
- max-width: 100px;
2624
- position: absolute;
2625
- top: 0;
2626
- transform: translate(-50%, -50%);
2627
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2628
 
2629
- .wlb-review-style-3 .wl-customer-testimonal .content {
2630
- margin-top: 0;
2631
- padding-top: 73px;
2632
  }
2633
 
2634
- .wlb-review-style-3 .wl-customer-testimonal .content p {
2635
- color: #5b5b5b;
2636
- font-size: 14px;
2637
- font-style: italic;
2638
- line-height: 24px;
2639
- margin-bottom: 4px;
2640
- padding: 0 4%;
2641
- }
2642
-
2643
- .wlb-review-style-3 .wl-customer-testimonal .content h4 {
2644
- color: #5b5b5b;
2645
- font-size: 16px;
2646
- font-weight: 600;
2647
- line-height: 37px;
2648
- margin: 0;
2649
- }
2650
- .wlb-review-style-3 .wl-customer-testimonal .clint-info .rating,.wlb-review-style-4 .wl-customer-testimonal .clint-info .rating{
2651
- justify-content: center;
2652
- }
2653
-
2654
- .wlb-review-style-3 .wl-customer-testimonal .clint-info{
2655
- padding: 0 4%;
2656
- }
2657
- .wl-customer-align-right .wlb-review-style-3 .wl-customer-testimonal img{
2658
- right: -40px;
2659
- left: auto;
2660
- }
2661
- .wl-customer-align-left .wlb-review-style-3 .wl-customer-testimonal img{
2662
- left: 70px;
2663
- }
2664
-
2665
- /* Customer Review Style 04 */
2666
- .wlb-review-style-4 .wl-customer-testimonal .content {
2667
- background: #fff none repeat scroll 0 0;
2668
- box-shadow: 0 0 10px rgba(82, 182, 188, 0.25);
2669
- padding: 50px 9%;
2670
- position: relative;
2671
- text-align: center;
2672
- }
2673
-
2674
- .wlb-review-style-4 .wl-customer-testimonal .clint-info {
2675
- margin-top: 40px;
2676
- text-align: center;
2677
- }
2678
-
2679
- .wlb-review-style-4 .wl-customer-testimonal img {
2680
- border: 2px solid #ececec;
2681
- border-radius: 50%;
2682
- box-sizing: content-box;
2683
- display: inline-block;
2684
- max-width: 80px;
2685
- }
2686
- .wlb-review-style-4 .wl-customer-testimonal .clint-info h4 {
2687
- color: #5c5c5c;
2688
- font-size: 22px;
2689
- font-weight: 700;
2690
- margin-bottom: 4px;
2691
- margin-top: 22px;
2692
- }
2693
-
2694
- .wlb-review-style-4 .wl-customer-testimonal .clint-info span {
2695
- color: #5c5c5c;
2696
- font-size: 15px;
2697
- font-weight: 600;
2698
- }
2699
- .wlb-review-style-4 .wl-customer-testimonal .content .triangle {
2700
- border-color: #fff transparent transparent;
2701
- border-style: solid;
2702
- border-width: 20px;
2703
- left: 50%;
2704
- margin-top: -1px;
2705
- position: absolute;
2706
- top: 100%;
2707
- transform: translateX(-50%);
2708
- }
2709
- .wl-customer-align-right .wlb-review-style-4 .wl-customer-testimonal .clint-info,.wl-customer-align-right .wlb-review-style-4 .wl-customer-testimonal .content{
2710
- text-align: right;
2711
- }
2712
- .wl-customer-align-left .wlb-review-style-4 .wl-customer-testimonal .clint-info,.wl-customer-align-left .wlb-review-style-4 .wl-customer-testimonal .content{
2713
- text-align: left;
2714
- }
2715
- .wl-customer-align-right .wlb-review-style-4 .wl-customer-testimonal .content .triangle {
2716
- right: 0px;
2717
- left: auto;
2718
- }
2719
- .wl-customer-align-left .wlb-review-style-4 .wl-customer-testimonal .content .triangle {
2720
- left: 45px;
2721
- }
2722
-
2723
- .wl-customer-testimonal .clint-info h4{
2724
- margin: 0;
2725
- }
2726
- .wl-customer-testimonal .clint-info .rating {
2727
- color: #ffcf0e;
2728
- display: flex;
2729
- list-style: outside none none;
2730
- margin: 4px 0 0;
2731
- padding: 0;
2732
- }
2733
- .wl-customer-testimonal .clint-info .rating li {
2734
- margin-right: 8px;
2735
- }
2736
- .wl-customer-testimonal .clint-info .rating li:last-child{
2737
- margin-right: 0;
2738
- }
2739
- .wl-customer-testimonal .content img.avatar{
2740
- border-radius: 100%;
2741
- }
2742
- .wl-customer-align-center .wl-customer-testimonal .clint-info .rating{
2743
- justify-content: center;
2744
- }
2745
- .wl-customer-align-left .wl-customer-testimonal .clint-info .rating{
2746
- justify-content: flex-start;
2747
- }
2748
- .wl-customer-align-right .wl-customer-testimonal .clint-info .rating{
2749
- justify-content: flex-end;
2750
- }
2751
-
2752
- /*
2753
- * Image Marker With Pointer
2754
- */
2755
-
2756
- /*Marker Style 01*/
2757
- .wlb-marker-style-1 {
2758
- padding: 245px 0;
2759
- }
2760
-
2761
- .wlb-marker-style-1 .wlb_image_pointer {
2762
- width: 36px;
2763
- height: 36px;
2764
- border-radius: 100%;
2765
- border: 3px solid #ed552d;
2766
- background-color: #fff;
2767
- position: relative;
2768
- display: inline-block;
2769
- text-align: center;
2770
- cursor: pointer;
2771
- line-height: 32px;
2772
- }
2773
-
2774
- .wlb-marker-style-1 .wlb_image_pointer .wlb_pointer_box {
2775
- background: #fff;
2776
- width: 240px;
2777
- position: absolute;
2778
- top: 0;
2779
- right: 50%;
2780
- -webkit-transform: translate3d(50%, -100%, 0);
2781
- transform: translate3d(50%, -100%, 0);
2782
- border-radius: 5px;
2783
- opacity: 0;
2784
- visibility: hidden;
2785
- -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
2786
- transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
2787
- z-index: 10;
2788
- padding: 20px;
2789
- -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
2790
- box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
2791
- text-align: center;
2792
- }
2793
-
2794
- .wlb-marker-style-1 .wlb_image_pointer .wlb_pointer_box h4 {
2795
- font-size: 20px;
2796
- margin-bottom: 7px;
2797
- }
2798
-
2799
- .wlb-marker-style-1 .wlb_image_pointer .wlb_pointer_box p {
2800
- font-size: 13px;
2801
- line-height: 24px;
2802
- margin: 0;
2803
- }
2804
-
2805
- .wlb-marker-style-1 .wlb_image_pointer:hover .wlb_pointer_box {
2806
- visibility: visible;
2807
- opacity: 1;
2808
- -webkit-transition-delay: 0s;
2809
- transition-delay: 0s;
2810
- -webkit-transform: translateY(-110%) translateX(50%);
2811
- transform: translateY(-110%) translateX(50%);
2812
- }
2813
-
2814
- .wlb-marker-style-1 .wlb_image_pointer::before {
2815
- content: "\f129";
2816
- position: absolute;
2817
- left: 50%;
2818
- top: 50%;
2819
- transform: translateX(-50%) translateY(-50%);
2820
- font-family: FontAwesome;
2821
- color: #ed552d;
2822
- font-size: 18px;
2823
- width: 100%;
2824
- height: 100%;
2825
- }
2826
-
2827
- .wlb-marker-style-1 .wlb_image_pointer {
2828
- position: absolute;
2829
- left: 66%;
2830
- top: 15%;
2831
- }
2832
-
2833
- /*Marker Style 02*/
2834
- .wlb-marker-style-2 {
2835
- padding: 245px 0;
2836
- }
2837
-
2838
- .wlb-marker-style-2 .wlb_image_pointer {
2839
- width: 46px;
2840
- height: 46px;
2841
- border-radius: 100%;
2842
- border: 5px solid #dddddd;
2843
- background-color: #fff;
2844
- position: relative;
2845
- display: inline-block;
2846
- text-align: center;
2847
- cursor: pointer;
2848
- line-height: 38px;
2849
- }
2850
-
2851
- .wlb-marker-style-2 .wlb_image_pointer .wlb_pointer_box {
2852
- background: #fff;
2853
- width: 240px;
2854
- position: absolute;
2855
- top: 0;
2856
- right: 50%;
2857
- -webkit-transform: translate3d(50%, -100%, 0);
2858
- transform: translate3d(50%, -100%, 0);
2859
- border-radius: 5px;
2860
- opacity: 0;
2861
- visibility: hidden;
2862
- -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
2863
- transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
2864
- z-index: 10;
2865
- padding: 20px;
2866
- -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
2867
- box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
2868
- text-align: center;
2869
- }
2870
-
2871
- .wlb-marker-style-2 .wlb_image_pointer .wlb_pointer_box h4 {
2872
- font-size: 20px;
2873
- margin-bottom: 7px;
2874
- }
2875
-
2876
- .wlb-marker-style-2 .wlb_image_pointer .wlb_pointer_box p {
2877
- font-size: 13px;
2878
- line-height: 24px;
2879
- margin: 0;
2880
- }
2881
-
2882
- .wlb-marker-style-2 .wlb_image_pointer:hover .wlb_pointer_box {
2883
- visibility: visible;
2884
- opacity: 1;
2885
- -webkit-transition-delay: 0s;
2886
- transition-delay: 0s;
2887
- -webkit-transform: translateY(-110%) translateX(50%);
2888
- transform: translateY(-110%) translateX(50%);
2889
- }
2890
-
2891
- .wlb-marker-style-2 .wlb_image_pointer::before {
2892
- content: "\f067";
2893
- position: absolute;
2894
- left: 50%;
2895
- top: 50%;
2896
- transform: translateX(-50%) translateY(-50%);
2897
- font-family: FontAwesome;
2898
- color: #ed552d;
2899
- font-size: 18px;
2900
- width: 100%;
2901
- height: 100%;
2902
- transition: 0.4s ease-in-out;
2903
- }
2904
-
2905
- .wlb-marker-style-2 .wlb_image_pointer:hover::before {
2906
- transform: translateX(-50%) translateY(-50%) rotate(47deg);
2907
- }
2908
-
2909
- .wlb-marker-style-2 .wlb_image_pointer {
2910
- position: absolute;
2911
- left: 50%;
2912
- top: 26%;
2913
- }
2914
-
2915
- /*Marker Style 03*/
2916
- .wlb-marker-style-3 {
2917
- padding: 245px 0;
2918
- }
2919
-
2920
- .wlb-marker-style-3 .wlb_image_pointer {
2921
- width: 46px;
2922
- height: 46px;
2923
- border-radius: 100%;
2924
- background-color: #000000;
2925
- position: relative;
2926
- display: inline-block;
2927
- text-align: center;
2928
- cursor: pointer;
2929
- line-height: 49px;
2930
- z-index: 2;
2931
- }
2932
-
2933
- .wlb-marker-style-3 .wlb_image_pointer .wlb_pointer_box {
2934
- background: #000000;
2935
- width: 240px;
2936
- position: absolute;
2937
- top: 0;
2938
- right: 50%;
2939
- -webkit-transform: translate3d(50%, -100%, 0);
2940
- transform: translate3d(50%, -100%, 0);
2941
- border-radius: 5px;
2942
- opacity: 0;
2943
- visibility: hidden;
2944
- -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
2945
- transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
2946
- z-index: 10;
2947
- padding: 20px;
2948
- -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
2949
- box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
2950
- text-align: center;
2951
- }
2952
-
2953
- .wlb-marker-style-3 .wlb_image_pointer .wlb_pointer_box h4 {
2954
- font-size: 20px;
2955
- margin-bottom: 7px;
2956
- color: #ffffff;
2957
- }
2958
-
2959
- .wlb-marker-style-3 .wlb_image_pointer .wlb_pointer_box p {
2960
- font-size: 13px;
2961
- line-height: 24px;
2962
- margin: 0;
2963
- color: #ffffff;
2964
- }
2965
-
2966
- .wlb-marker-style-3 .wlb_image_pointer:hover .wlb_pointer_box {
2967
- visibility: visible;
2968
- opacity: 1;
2969
- -webkit-transition-delay: 0s;
2970
- transition-delay: 0s;
2971
- -webkit-transform: translateY(-110%) translateX(50%);
2972
- transform: translateY(-110%) translateX(50%);
2973
- }
2974
-
2975
- .wlb-marker-style-3 .wlb_image_pointer::before {
2976
- content: "\f067";
2977
- position: absolute;
2978
- left: 50%;
2979
- top: 50%;
2980
- transform: translateX(-50%) translateY(-50%);
2981
- font-family: FontAwesome;
2982
- color: #ffffff;
2983
- font-size: 18px;
2984
- width: 100%;
2985
- height: 100%;
2986
- transition: 0.4s ease-in-out;
2987
- }
2988
-
2989
- .wlb-marker-style-3 .wlb_image_pointer::after {
2990
- position: absolute;
2991
- left: 2px;
2992
- background: #000;
2993
- content: "";
2994
- right: 2px;
2995
- top: 2px;
2996
- bottom: 2px;
2997
- border-radius: 100%;
2998
- border: 2px solid #fff;
2999
- z-index: -1;
3000
- }
3001
-
3002
- .wlb-marker-style-3 .wlb_image_pointer:hover::before {
3003
- transform: translateX(-50%) translateY(-50%) rotate(47deg);
3004
- }
3005
-
3006
- .wlb-marker-style-3 .wlb_image_pointer {
3007
- position: absolute;
3008
- left: 50%;
3009
- top: 26%;
3010
- }
3011
-
3012
- /*Marker Style 04*/
3013
- .wlb-marker-style-4 {
3014
- padding: 245px 0;
3015
- }
3016
-
3017
- .wlb-marker-style-4 .wlb_image_pointer {
3018
- width: 46px;
3019
- height: 46px;
3020
- border-radius: 100%;
3021
- background-position: center center;
3022
- background-size: cover;
3023
- background-repeat: no-repeat;
3024
- position: relative;
3025
- display: inline-block;
3026
- text-align: center;
3027
- cursor: pointer;
3028
- line-height: 38px;
3029
- border: 5px solid #d88d78;
3030
- z-index: 2;
3031
- }
3032
-
3033
- .wlb-marker-style-4 .wlb_image_pointer .wlb_pointer_box {
3034
- background-position: center center;
3035
- background-size: cover;
3036
- background-repeat: no-repeat;
3037
- width: 240px;
3038
- position: absolute;
3039
- top: 0;
3040
- right: 50%;
3041
- -webkit-transform: translate3d(50%, -100%, 0);
3042
- transform: translate3d(50%, -100%, 0);
3043
- border-radius: 5px;
3044
- opacity: 0;
3045
- visibility: hidden;
3046
- -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
3047
- transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
3048
- z-index: 10;
3049
- padding: 20px;
3050
- -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
3051
- box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
3052
- text-align: center;
3053
- }
3054
-
3055
- .wlb-marker-style-4 .wlb_image_pointer .wlb_pointer_box h4 {
3056
- font-size: 20px;
3057
- margin-bottom: 7px;
3058
- }
3059
-
3060
- .wlb-marker-style-4 .wlb_image_pointer .wlb_pointer_box p {
3061
- font-size: 13px;
3062
- line-height: 24px;
3063
- margin: 0;
3064
- color: #18012c;
3065
- }
3066
-
3067
- .wlb-marker-style-4 .wlb_image_pointer:hover .wlb_pointer_box {
3068
- visibility: visible;
3069
- opacity: 1;
3070
- -webkit-transition-delay: 0s;
3071
- transition-delay: 0s;
3072
- -webkit-transform: translateY(-110%) translateX(50%);
3073
- transform: translateY(-110%) translateX(50%);
3074
- }
3075
-
3076
- .wlb-marker-style-4 .wlb_image_pointer::before {
3077
- content: "\f067";
3078
- position: absolute;
3079
- left: 50%;
3080
- top: 50%;
3081
- transform: translateX(-50%) translateY(-50%);
3082
- font-family: FontAwesome;
3083
- color: #d88d78;
3084
- font-size: 18px;
3085
- width: 100%;
3086
- height: 100%;
3087
- transition: 0.4s ease-in-out;
3088
- }
3089
-
3090
- .wlb-marker-style-4 .wlb_image_pointer:hover::before {
3091
- transform: translateX(-50%) translateY(-50%) rotate(47deg);
3092
- }
3093
-
3094
- .wlb-marker-style-4 .wlb_image_pointer {
3095
- position: absolute;
3096
- left: 83%;
3097
- top: 37%;
3098
- }
3099
-
3100
- /*Marker Style 05*/
3101
- .wlb-marker-style-5 {
3102
- padding: 245px 0;
3103
- }
3104
-
3105
- .wlb-marker-style-5 .wlb_image_pointer {
3106
- width: 46px;
3107
- height: 46px;
3108
- border-radius: 4px;
3109
- background: #000;
3110
- position: relative;
3111
- display: inline-block;
3112
- text-align: center;
3113
- cursor: pointer;
3114
- line-height: 47px;
3115
- z-index: 2;
3116
- }
3117
-
3118
- .wlb-marker-style-5 .wlb_image_pointer .effect-1 {
3119
- position: relative;
3120
- }
3121
-
3122
- .wlb-marker-style-5 .wlb_image_pointer .effect-1::before,
3123
- .wlb-marker-style-5 .wlb_image_pointer .effect-1::after {
3124
- position: absolute;
3125
- top: 50%;
3126
- left: 50%;
3127
- display: block;
3128
- content: '';
3129
- border: 1px solid #f10;
3130
- border-radius: 50%;
3131
- -webkit-transform: scale(0.35) translateY(-50%) translateX(-50%);
3132
- -ms-transform: scale(0.35) translateY(-50%) translateX(-50%);
3133
- transform: scale(0.35) translateY(-50%) translateX(-50%);
3134
- opacity: 0;
3135
- -webkit-animation: marker-ripple-animation 2.6s cubic-bezier(0.25, 0.9, 0.2, 1) 0.4s infinite;
3136
- animation: marker-ripple-animation 2.6s cubic-bezier(0.25, 0.9, 0.2, 1) 0.4s infinite;
3137
- }
3138
-
3139
- .wlb-marker-style-5 .wlb_image_pointer .effect-1::before {
3140
- width: 32px;
3141
- height: 32px;
3142
- left: 50%;
3143
- top: 50%;
3144
- z-index: -1;
3145
- }
3146
-
3147
- .wlb-marker-style-5 .wlb_image_pointer .effect-1::after {
3148
- width: 32px;
3149
- height: 32px;
3150
- z-index: -1;
3151
- border-color: rgba(255, 255, 255, 0.4);
3152
- -webkit-animation: marker-ripple-animation 2.6s cubic-bezier(0.25, 0.9, 0.2, 1) 0s infinite;
3153
- animation: marker-ripple-animation 2.6s cubic-bezier(0.25, 0.9, 0.2, 1) 0s infinite;
3154
- }
3155
-
3156
- .wlb-marker-style-5 .wlb_image_pointer .wlb_pointer_box {
3157
- background: #000000;
3158
- width: 240px;
3159
- position: absolute;
3160
- top: 0;
3161
- right: 50%;
3162
- -webkit-transform: translate3d(50%, -100%, 0);
3163
- transform: translate3d(50%, -100%, 0);
3164
- border-radius: 5px;
3165
- opacity: 0;
3166
- visibility: hidden;
3167
- -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
3168
- transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
3169
- z-index: 10;
3170
- padding: 20px;
3171
- -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
3172
- box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.07);
3173
- text-align: center;
3174
- }
3175
-
3176
- .wlb-marker-style-5 .wlb_image_pointer .wlb_pointer_box h4 {
3177
- font-size: 20px;
3178
- margin-bottom: 7px;
3179
- color: #fff;
3180
- }
3181
-
3182
- .wlb-marker-style-5 .wlb_image_pointer .wlb_pointer_box p {
3183
- font-size: 13px;
3184
- line-height: 24px;
3185
- margin: 0;
3186
- color: #fff;
3187
- }
3188
-
3189
- .wlb-marker-style-5 .wlb_image_pointer:hover .wlb_pointer_box {
3190
- visibility: visible;
3191
- opacity: 1;
3192
- -webkit-transition-delay: 0s;
3193
- transition-delay: 0s;
3194
- -webkit-transform: translateY(-110%) translateX(50%);
3195
- transform: translateY(-110%) translateX(50%);
3196
- }
3197
-
3198
- .wlb-marker-style-5 .wlb_image_pointer::before {
3199
- content: "\f067";
3200
- position: absolute;
3201
- left: 50%;
3202
- top: 50%;
3203
- transform: translateX(-50%) translateY(-50%);
3204
- font-family: FontAwesome;
3205
- color: #ffffff;
3206
- font-size: 18px;
3207
- width: 100%;
3208
- height: 100%;
3209
- transition: 0.4s ease-in-out;
3210
- }
3211
-
3212
- .wlb-marker-style-5 .wlb_image_pointer:hover::before {
3213
- transform: translateX(-50%) translateY(-50%) rotate(47deg);
3214
- }
3215
-
3216
- .wlb-marker-style-5 .wlb_image_pointer {
3217
- position: absolute;
3218
- left: 83%;
3219
- top: 37%;
3220
- }
3221
-
3222
- /* Marker Animation Css */
3223
- @-webkit-keyframes marker-ripple-animation {
3224
- 0% {
3225
- -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
3226
- opacity: 1;
3227
- }
3228
-
3229
- 100% {
3230
- -webkit-transform: translate3d(-50%, -50%, 0) scale(1.7);
3231
- opacity: 0;
3232
- }
3233
- }
3234
-
3235
- @keyframes marker-ripple-animation {
3236
- 0% {
3237
- transform: translate3d(-50%, -50%, 0) scale(1);
3238
- opacity: 1;
3239
- }
3240
-
3241
- 100% {
3242
- transform: translate3d(-50%, -50%, 0) scale(1.7);
3243
- opacity: 0;
3244
- }
3245
- }
3246
-
3247
- /* For Empty Cart Ajax remove message */
3248
- .elementor-widget-wl-empty-cart-message .woocommerce-notices-wrapper .cart-empty + .cart-empty{
3249
- display: none;
3250
- }
3251
-
3252
- /* Product Filter Start */
3253
- .woolentor-filter-wrap{
3254
- overflow: hidden;
3255
- }
3256
-
3257
- h2.wl_filter_title {
3258
- margin: 0 0 10px 0;
3259
- color: #2d2a2a;
3260
- font-weight: 600;
3261
- font-size: 20px;
3262
- padding: 0 0 15px 0;
3263
- border-bottom: 1px solid #eee;
3264
- }
3265
-
3266
- .woolentor-filter-wrap form.wl_product_search_form {
3267
- border: 2px solid rgba(129, 129, 129, 0.2);
3268
- display: -webkit-box;
3269
- display: -webkit-flex;
3270
- display: -ms-flexbox;
3271
- display: flex;
3272
- }
3273
-
3274
- .woolentor-filter-wrap form.wl_product_search_form input[type="search"]{
3275
- box-sizing:inherit;
3276
- padding: 0 15px;
3277
- height: 42px;
3278
- border-radius: 0;
3279
- background-color: transparent;
3280
- -webkit-box-shadow: none;
3281
- box-shadow: none;
3282
- vertical-align: middle;
3283
- font-size: 14px;
3284
- -webkit-transition: border-color .5s ease;
3285
- transition: border-color .5s ease;
3286
- border:0;
3287
- width: calc( 100% - 50px );
3288
- }
3289
-
3290
- .woolentor-filter-wrap form.wl_product_search_form button {
3291
- width: 50px;
3292
- padding: 0;
3293
- height: 42px;
3294
- text-align: center;
3295
- background: transparent;
3296
- transition: 0.4s;
3297
- color: #222;
3298
- border: none;
3299
- }
3300
-
3301
- .woolentor-filter-wrap ul{
3302
- margin: 0;
3303
- padding: 0;
3304
- list-style: none;
3305
- }
3306
- .woolentor-filter-wrap ul li {
3307
- border-bottom: 1px solid #eee;
3308
- margin: 0;
3309
- }
3310
- .woolentor-filter-wrap ul li:last-child{
3311
- border-bottom: 0;
3312
- }
3313
- .woolentor-filter-wrap ul li a{
3314
- padding: 12px 0;
3315
- display: inline-block;
3316
- color: #464646;
3317
- font-weight: 400;
3318
- font-size: 14px;
3319
- transition: 0.4s;
3320
- }
3321
- .woolentor-filter-wrap ul > li:hover > i,.woolentor-filter-wrap ul li a:hover{
3322
- color: #f05b64;
3323
- }
3324
- .woolentor-filter-wrap ul li i{
3325
- margin-right: 10px;
3326
- }
3327
- .woolentor-filter-wrap ul li ul{
3328
- padding-left: 20px;
3329
- border-top: 1px solid #eee;
3330
- }
3331
-
3332
- .woolentor-filter-wrap ul li.wlchosen i{
3333
- display: none;
3334
- }
3335
-
3336
- .woolentor-filter-wrap ul li.wlchosen a{
3337
- position: relative;
3338
- padding-left: 15px;
3339
- }
3340
-
3341
- .woolentor-filter-wrap ul li.wlchosen > a::before, .woolentor-filter-wrap ul li.wlchosen > a::after {
3342
- position: absolute;
3343
- top: calc(50% - 1px);
3344
- left: 0;
3345
- width: 12px;
3346
- height: 2px;
3347
- content: "";
3348
- -webkit-transition: all .5s ease 0s;
3349
- -o-transition: all .5s ease 0s;
3350
- transition: all .5s ease 0s;
3351
- -webkit-transform: rotate(45deg);
3352
- -ms-transform: rotate(45deg);
3353
- transform: rotate(45deg);
3354
- background-color: #f05b64;
3355
- }
3356
-
3357
- .woolentor-filter-wrap ul li.wlchosen a:after{
3358
- -webkit-transform: rotate(-45deg);
3359
- -ms-transform: rotate(-45deg);
3360
- transform: rotate(-45deg);
3361
- }
3362
-
3363
- .woolentor-filter-wrap select {
3364
- padding-right: 30px;
3365
- background-position: right 10px top 50%;
3366
- background-size: auto 18px;
3367
- background-repeat: no-repeat;
3368
- background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9IiNiYmIiPjxwYXRoIGQ9Ik02IDlsNiA2IDYtNiIvPjwvc3ZnPg==");
3369
- padding: 0 15px;
3370
- max-width: 100%;
3371
- width: 100%;
3372
- height: 42px;
3373
- border: 2px solid rgba(129, 129, 129, 0.2);
3374
- border-radius: 0;
3375
- background-color: transparent;
3376
- -webkit-box-shadow: none;
3377
- box-shadow: none;
3378
- vertical-align: middle;
3379
- font-size: 14px;
3380
- -webkit-transition: border-color .5s ease;
3381
- transition: border-color .5s ease;
3382
- -webkit-appearance: none;
3383
- appearance: none;
3384
- }
3385
-
3386
- .woolentor_slider_range.ui-slider {
3387
- position: relative;
3388
- background: #dbdbdb none repeat scroll 0 0;
3389
- border: medium none;
3390
- border-radius: 50px;
3391
- height: 5px;
3392
- margin-bottom: 12px;
3393
- margin-left: auto;
3394
- margin-right: 0;
3395
- }
3396
- .woolentor_slider_range .ui-slider-range.ui-widget-header.ui-corner-all {
3397
- height: 100%;
3398
- position: absolute;
3399
- display: block;
3400
- border: 0;
3401
- background: #fa6bff none repeat scroll 0 0;
3402
- border: none;
3403
- -webkit-transition: all 0s ease 0s;
3404
- -o-transition: all 0s ease 0s;
3405
- transition: all 0s ease 0s;
3406
- }
3407
-
3408
- .woolentor_slider_range .ui-slider-handle.ui-state-default.ui-corner-all {
3409
- position: absolute;
3410
- background: #fff none repeat scroll 0 0;
3411
- border: medium none;
3412
- border-radius: 50%;
3413
- height: 15px;
3414
- margin-left: 0;
3415
- width: 15px;
3416
- border: 4px solid #fa6bff;
3417
- z-index: 2;
3418
- width: 1em;
3419
- height: 1em;
3420
- cursor: ew-resize;
3421
- outline: 0;
3422
- top: -.3em;
3423
- margin-left: -.5em;
3424
- }
3425
-
3426
- .wl_button_price{
3427
- margin-top: 10px;
3428
- display: -webkit-box;
3429
- display: -webkit-flex;
3430
- display: -ms-flexbox;
3431
- display: flex;
3432
- -webkit-box-align:center;
3433
- -ms-flex-align:center;
3434
- align-items:center;
3435
- -webkit-box-pack: justify;
3436
- -ms-flex-pack: justify;
3437
- justify-content: space-between;
3438
- }
3439
- .wl_button_price button {
3440
- background: #29d8db;
3441
- padding: 5px 12px;
3442
- border-radius: 3px;
3443
- border: none;
3444
- }
3445
-
3446
- .wl_button_price button:hover{
3447
- background: #fa6bff;
3448
- text-decoration: none;
3449
- }
3450
-
3451
- /*=============================================
3452
- Accordions Css
3453
- =============================================*/
3454
- .wl_product-accordion {
3455
- width: 100%;
3456
- }
3457
- .wl_product-accordion .panel.panel-default {
3458
- margin-bottom: 20px;
3459
- }
3460
-
3461
- .wl_product-accordion .wl_product-accordion-card {
3462
- margin-bottom: 20px;
3463
- border-radius: 35px;
3464
- background: -webkit-linear-gradient(349deg, #612CF6 0, #BA73FA 65%);
3465
- background: -o-linear-gradient(349deg, #612CF6 0, #BA73FA 65%);
3466
- background: linear-gradient(-259deg, #612CF6 0, #BA73FA 65%);
3467
- }
3468
- .wl_product-accordion.wl_product-accordion-two .wl_product-accordion-card {
3469
- background: #3951E1;
3470
- }
3471
-
3472
- .wl_product-accordion .wl_product-accordion-card .wl_product-accordion-head {
3473
- border: none;
3474
- width: 100%;
3475
- text-align: left;
3476
- color: #ffffff;
3477
- padding: 20px 30px;
3478
- position: relative;
3479
- overflow-wrap: break-word;
3480
- white-space: normal;
3481
- font-size: 18px;
3482
- line-height: 1.2;
3483
- font-weight: 500;
3484
- border-radius: 35px;
3485
- border-bottom: 1px solid transparent;
3486
- position: relative;
3487
- cursor: pointer;
3488
- }
3489
-
3490
- @media only screen and (max-width: 479px) {
3491
- .wl_product-accordion .wl_product-accordion-card .wl_product-accordion-head {
3492
- padding-left: 15px;
3493
- padding-right: 20px;
3494
- }
3495
- }
3496
-
3497
- .wl_product-accordion .wl_product-accordion-card .wl_product-accordion-head-indicator {
3498
- position: absolute;
3499
- right: 35px;
3500
- top: 50%;
3501
- -webkit-transform: translateY(-50%);
3502
- -ms-transform: translateY(-50%);
3503
- transform: translateY(-50%);
3504
- width: 30px;
3505
- height: 30px;
3506
- padding-top: 6px;
3507
- text-align: center;
3508
- background: #fff;
3509
- border-radius: 50%;
3510
- color: #BA73FA;
3511
- }
3512
-
3513
- @media only screen and (max-width: 479px) {
3514
- .wl_product-accordion .wl_product-accordion-card .wl_product-accordion-head-indicator {
3515
- right: 15px;
3516
- }
3517
- }
3518
-
3519
- .wl_product-accordion .wl_product-accordion-card .wl_product-accordion-head-indicator i {
3520
- visibility: hidden;
3521
- opacity: 0;
3522
- display: none;
3523
- color: #BA73FA;
3524
- }
3525
-
3526
- .wl_product-accordion .wl_product-accordion-card .wl_product-accordion-head-indicator i:nth-child(2) {
3527
- visibility: visible;
3528
- opacity: 1;
3529
- display: block;
3530
- }
3531
-
3532
- .wl_product-accordion .wl_product-accordion-card.active .wl_product-accordion-head-indicator i {
3533
- visibility: hidden;
3534
- opacity: 0;
3535
- display: none;
3536
- color: #BA73FA;
3537
- }
3538
-
3539
- .wl_product-accordion .wl_product-accordion-card.active .wl_product-accordion-head-indicator i:nth-child(1) {
3540
- visibility: visible;
3541
- opacity: 1;
3542
- display: block;
3543
- }
3544
-
3545
- .wl_product-accordion .wl_product-accordion-content {
3546
- border-bottom: none;
3547
- margin-bottom: 20px;
3548
- border: none;
3549
- border-radius: 35px;
3550
- }
3551
- .wl_product-accordion .wl_product-accordion-content img {
3552
- border-radius: 15px;
3553
- }
3554
- .wl_product-accordion .wl_product-accordion-content:last-child {
3555
- margin-bottom: 0;
3556
- }
3557
-
3558
- .wl_product-accordion .card-body {
3559
- padding: 15px 30px 29px;
3560
- display: -webkit-box;
3561
- display: -webkit-flex;
3562
- display: -ms-flexbox;
3563
- display: flex;
3564
- }
3565
-
3566
- @media only screen and (max-width: 575px) {
3567
- .wl_product-accordion .card-body {
3568
- -webkit-box-orient: vertical;
3569
- -webkit-box-direction: normal;
3570
- -webkit-flex-direction: column;
3571
- -ms-flex-direction: column;
3572
- flex-direction: column;
3573
- }
3574
- }
3575
-
3576
- .wl_product-accordion .card-body .product-thumbnail {
3577
- width: 260px;
3578
- }
3579
-
3580
- .wl_product-accordion .card-body .product-content {
3581
- margin-left: 20px;
3582
- width: 100%;
3583
- }
3584
-
3585
- @media only screen and (max-width: 575px) {
3586
- .wl_product-accordion .card-body .product-content {
3587
- margin-left: 0px;
3588
- }
3589
- }
3590
-
3591
- .wl_product-accordion .card-body .product-content .product-content-top {
3592
- border-top: 1px solid #ffffff;
3593
- padding-top: 30px;
3594
- }
3595
-
3596
- @media only screen and (max-width: 575px) {
3597
- .wl_product-accordion .card-body .product-content .product-content-top {
3598
- border-top: 1px solid transparent;
3599
- }
3600
- }
3601
-
3602
- .wl_product-accordion .card-body .product-content .product-content-top p {
3603
- color: #ffffff;
3604
- }
3605
-
3606
- .wl_product-accordion .card-body .product-content .product-content-top .reading {
3607
- display: -webkit-box;
3608
- display: -webkit-flex;
3609
- display: -ms-flexbox;
3610
- display: flex;
3611
- color: #ffffff;
3612
- }
3613
-
3614
- .wl_product-accordion .card-body .product-content .product-acontent-bottom {
3615
- display: -webkit-box;
3616
- display: -webkit-flex;
3617
- display: -ms-flexbox;
3618
- display: flex;
3619
- -webkit-box-pack: justify;
3620
- -webkit-justify-content: space-between;
3621
- -ms-flex-pack: justify;
3622
- justify-content: space-between;
3623
- -webkit-box-align: center;
3624
- -webkit-align-items: center;
3625
- -ms-flex-align: center;
3626
- align-items: center;
3627
- }
3628
-
3629
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .product-price {
3630
- color: #ffffff;
3631
- font-weight: 500;
3632
- margin-top: 10px;
3633
- }
3634
-
3635
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
3636
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .product-price {
3637
- margin-bottom: 5px;
3638
- margin-top: 5px;
3639
- }
3640
- }
3641
-
3642
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .action {
3643
- margin-top: 10px;
3644
- display: -webkit-box;
3645
- display: -webkit-flex;
3646
- display: -ms-flexbox;
3647
- display: flex;
3648
- -webkit-box-pack: justify;
3649
- -webkit-justify-content: space-between;
3650
- -ms-flex-pack: justify;
3651
- justify-content: space-between;
3652
- padding: 0px 0px;
3653
- border-radius: 0 0 5px 5px;
3654
- list-style: none;
3655
- margin: 0;
3656
- margin-right: 44px;
3657
- }
3658
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .action li {
3659
- margin: 0 5px;
3660
- }
3661
- .wl_product-accordion .action .woocommerce.product.compare-button a:before,
3662
- .wl_product-accordion .card-body .product-content .action .wishlist a,
3663
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .action-item,.wl_product-accordion .card-body .product-content .product-acontent-bottom .action .htcompare-btn,.wl_product-accordion .card-body .product-content .product-acontent-bottom .action .wishsuite-button {
3664
- font-size: 14px;
3665
- height: 34px;
3666
- padding: 0 10px;
3667
- line-height: 34px;
3668
- background: #ffffff;
3669
- text-align: center;
3670
- border-radius: 50000px;
3671
- color: #333;
3672
- margin-left: 10px;
3673
- display: inline-block;
3674
- text-align: center;
3675
- }
3676
- .wl_product-accordion .card-body .product-content .action .wishlist a,.wl_product-accordion .card-body .product-content .product-acontent-bottom .action .wishsuite-button {
3677
- padding: 3px 10px;
3678
- }
3679
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .wishsuite-button svg{
3680
- width: 15px;
3681
- height: 15px;
3682
- }
3683
- .wl_product-accordion.wl_product-accordion-two .wl_product-accordion-card .wl_product-accordion-head-indicator {
3684
- color: #3951E1;
3685
- }
3686
- .wl_single-product-item ul.action a.htcompare-btn.loading{
3687
- padding:0;
3688
- }
3689
- .wl_single-product-item ul.action a.htcompare-btn.added:after{
3690
- display: none;
3691
- }
3692
-
3693
- @media only screen and (max-width: 479px) {
3694
- .wl_product-accordion.wl_product-accordion-two .wl_product-accordion-card .wl_product-accordion-head-indicator {
3695
- right: 15px;
3696
- }
3697
- }
3698
-
3699
- .wl_product-accordion.wl_product-accordion-two .wl_product-accordion-card .wl_product-accordion-head-indicator i {
3700
- color: #3951E1;
3701
- }
3702
-
3703
- /*--style two--*/
3704
-
3705
- .wl_horizontal-hover-accordion {
3706
- width: 100%;
3707
- max-width: 1080px;
3708
- height: 600px;
3709
- overflow: hidden;
3710
- }
3711
-
3712
- .wl_horizontal-hover-accordion .accordion-ul {
3713
- width: 100%;
3714
- display: table;
3715
- table-layout: fixed;
3716
- margin: 0;
3717
- padding: 0;
3718
- }
3719
-
3720
- .wl_horizontal-hover-accordion .accordion-ul li {
3721
- display: table-cell;
3722
- vertical-align: bottom;
3723
- position: relative;
3724
- width: 16.666%;
3725
- height: 600px;
3726
- background-repeat: no-repeat;
3727
- background-position: center center;
3728
- -webkit-transition: all 500ms ease;
3729
- -o-transition: all 500ms ease;
3730
- transition: all 500ms ease;
3731
- }
3732
-
3733
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content {
3734
- display: block;
3735
- overflow: hidden;
3736
- width: 100%;
3737
- }
3738
-
3739
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item {
3740
- display: block;
3741
- height: 600px;
3742
- width: 100%;
3743
- position: relative;
3744
- z-index: 3;
3745
- padding: 50px 30px;
3746
- -webkit-box-sizing: border-box;
3747
- box-sizing: border-box;
3748
- color: #fff;
3749
- text-decoration: none;
3750
- -webkit-transition: all 200ms ease;
3751
- -o-transition: all 200ms ease;
3752
- transition: all 200ms ease;
3753
- opacity: 0;
3754
- margin: 0;
3755
- width: 100%;
3756
- -o-text-overflow: ellipsis;
3757
- text-overflow: ellipsis;
3758
- position: relative;
3759
- z-index: 5;
3760
- overflow: hidden;
3761
- -webkit-transform: translateX(-20px);
3762
- -ms-transform: translateX(-20px);
3763
- transform: translateX(-20px);
3764
- -webkit-transition: all 400ms ease;
3765
- -o-transition: all 400ms ease;
3766
- transition: all 400ms ease;
3767
- display: -webkit-box;
3768
- display: -webkit-flex;
3769
- display: -ms-flexbox;
3770
- display: flex;
3771
- -webkit-box-align: end;
3772
- -webkit-align-items: flex-end;
3773
- -ms-flex-align: end;
3774
- align-items: flex-end;
3775
- }
3776
-
3777
- @media only screen and (max-width: 767px) {
3778
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item {
3779
- padding: 30px 20px;
3780
- }
3781
- }
3782
-
3783
- @media only screen and (max-width: 575px) {
3784
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item {
3785
- padding: 30px 20px;
3786
- }
3787
- }
3788
-
3789
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content {
3790
- background: rgba(255, 255, 255, 0.9);
3791
- width: 250px;
3792
- padding: 20px;
3793
- }
3794
-
3795
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .sub-title {
3796
- margin-bottom: 0;
3797
- }
3798
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .sub-title a{
3799
- font-size: 12px;
3800
- color: #000000;
3801
- }
3802
-
3803
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .title {
3804
- margin: 0;
3805
- }
3806
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .title a{
3807
- color: #333;
3808
- margin: 0;
3809
- }
3810
-
3811
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .product-price {
3812
- color: #0A3ACA;
3813
- font-weight: 500;
3814
- margin-bottom: 15px;
3815
- margin-top: 10px;
3816
- }
3817
-
3818
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
3819
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .product-price {
3820
- margin-bottom: 5px;
3821
- margin-top: 5px;
3822
- }
3823
- }
3824
-
3825
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .reading {
3826
- margin-top: 20px;
3827
- color: #75828E;
3828
- }
3829
-
3830
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action {
3831
- margin-top: 5px;
3832
- display: -webkit-box;
3833
- display: -webkit-flex;
3834
- display: -ms-flexbox;
3835
- display: flex;
3836
- }
3837
-
3838
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a.action-item,.wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a.htcompare-btn,.wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a.wishsuite-button,
3839
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a {
3840
- height: 35px;
3841
- padding: 0 9px;
3842
- line-height: 35px;
3843
- background: transparent;
3844
- text-align: center;
3845
- border-radius: 35px;
3846
- border: 1px solid #0A3ACA;
3847
- color: #333;
3848
- margin-right: 10px;
3849
- }
3850
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a.wishsuite-button svg{
3851
- width: 15px;
3852
- height: 15px;
3853
- }
3854
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .action-item i{
3855
- margin-right: 5px;
3856
- }
3857
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a {
3858
- padding: 2PX 9px;
3859
- display: inline-block;
3860
- }
3861
-
3862
- .wl_shop-accordion-wrap .card-body .product-content .product-acontent-bottom .action .yith-wcwl-add-button>a i,
3863
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-button>a i{
3864
- margin-right: 0;
3865
- }
3866
-
3867
- .wl_horizontal-hover-accordion .accordion-ul:hover li {
3868
- width: 8%;
3869
- }
3870
-
3871
- .wl_horizontal-hover-accordion .accordion-ul:hover li:hover {
3872
- width: 20%;
3873
- }
3874
-
3875
- .wl_horizontal-hover-accordion .accordion-ul:hover li:hover .accordion-product-item {
3876
- background: rgba(0, 0, 0, 0);
3877
- opacity: 1;
3878
- -webkit-transform: translateX(0);
3879
- -ms-transform: translateX(0);
3880
- transform: translateX(0);
3881
- }
3882
-
3883
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .star-rating{
3884
- float: none;
3885
- }
3886
-
3887
- @media only screen and (max-width: 575px) {
3888
- .wl_horizontal-hover-accordion .accordion-ul:hover li:hover {
3889
- width: 114%;
3890
- }
3891
- }
3892
-
3893
- .va-title {
3894
- font-size: 20px;
3895
- }
3896
-
3897
- .va-content {
3898
- display: none;
3899
- margin-left: 25px;
3900
- }
3901
-
3902
- /*--button--*/
3903
- .wl_product-accordion .wishlist.button-default i {
3904
- margin-right: 0;
3905
- }
3906
- .wl_product-accordion .action .woocommerce.product.compare-button {
3907
- position: relative;
3908
- }
3909
-
3910
- .wl_product-accordion .ht-product-action-tooltip,
3911
- .wl_horizontal-hover-accordion .ht-product-action-tooltip {
3912
- display: none;
3913
- }
3914
- .wl_product-accordion .yith-wcwl-add-to-wishlist,
3915
- .wl_horizontal-hover-accordion .yith-wcwl-add-to-wishlist {
3916
- margin-top: 0;
3917
- }
3918
-
3919
- .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button {
3920
- position: relative;
3921
- margin-top: -3px;
3922
- }
3923
- .wl_product-accordion .woocommerce.product.compare-button a{
3924
- font-size: 0;
3925
- font-weight: 400;
3926
- position: absolute;
3927
- padding: 0;
3928
- }
3929
- .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a {
3930
- text-indent: -9999px;
3931
- background: inherit;
3932
- margin-bottom: -10px;
3933
- padding: 0;
3934
- }
3935
-
3936
- .wl_product-accordion .action .woocommerce.product.compare-button a:before,
3937
- .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a:before,
3938
- .wl_single-product-item .action li .woolentor-compare.compare::before {
3939
- content: "\f0ec";
3940
- position: absolute;
3941
- font-family: FontAwesome;
3942
- font-size: 18px;
3943
- }
3944
- .wl_product-accordion .action .woocommerce.product.compare-button a:before {
3945
- top: 0;
3946
- }
3947
- .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a:before {
3948
- text-indent: 0;
3949
- left: 0;
3950
- right: 0;
3951
- color: #000;
3952
- border: 1px solid #0A3ACA;
3953
- width: 37px;
3954
- height: 37px;
3955
- line-height: 35px;
3956
- border-radius: 50%;
3957
- text-align: center;
3958
- }
3959
-
3960
- .wl_product-accordion-content .price ins{
3961
- background: transparent;
3962
- }
3963
- /*=================================
3964
- = Product Css =
3965
- ==================================*/
3966
-
3967
- .wl_single-product-item a {
3968
- color: inherit;
3969
- display: inline-block;
3970
- line-height: inherit;
3971
- text-decoration: none;
3972
- cursor: pointer;
3973
- }
3974
-
3975
- .wl_single-product-item {
3976
- margin-top: 30px;
3977
- margin-left: auto;
3978
- margin-right: auto;
3979
- border: 1px solid #eeeffb;
3980
- border-radius: 10000px 10000px 20px 20px;
3981
- background: #f7f7f7;
3982
- }
3983
-
3984
- .wl_single-product-item .product-thumbnail {
3985
- border: 15px solid #fff;
3986
- text-align: center;
3987
- border-radius: 50000px;
3988
- width: 100%;
3989
- position: relative;
3990
- z-index: 9;
3991
- background: #fff;
3992
- }
3993
-
3994
- .wl_single-product-item .product-thumbnail .images {
3995
- height: 100%;
3996
- width: 100%;
3997
- -webkit-box-shadow: 0 0px 6px rgba(112, 112, 112, 0.2);
3998
- box-shadow: 0 0px 6px rgba(112, 112, 112, 0.2);
3999
- border-radius: 50%;
4000
- }
4001
- .wl_single-product-item .product-thumbnail .images img {
4002
- display: inline-block;
4003
- border-radius: 100%;
4004
- width: 100%;
4005
- }
4006
-
4007
- @media only screen and (max-width: 767px) {
4008
- .wl_single-product-item .product-thumbnail {
4009
- height: 235px;
4010
- }
4011
- }
4012
-
4013
- @media only screen and (max-width: 575px) {
4014
- .wl_single-product-item .product-thumbnail {
4015
- height: 270px;
4016
- }
4017
- }
4018
-
4019
- .wl_single-product-item .product-content {
4020
- margin-top: -124px;
4021
- display: -webkit-box;
4022
- display: -webkit-flex;
4023
- display: -ms-flexbox;
4024
- display: flex;
4025
- -webkit-box-orient: vertical;
4026
- -webkit-box-direction: normal;
4027
- -webkit-flex-direction: column;
4028
- -ms-flex-direction: column;
4029
- flex-direction: column;
4030
- -webkit-box-pack: justify;
4031
- -webkit-justify-content: space-between;
4032
- -ms-flex-pack: justify;
4033
- justify-content: space-between;
4034
- }
4035
-
4036
- .wl_single-product-item .product-content .product-content-top {
4037
- padding: 140px 20px 10px;
4038
- }
4039
-
4040
- .wl_single-product-item .product-content .product-content-top .title {
4041
- font-weight: 600;
4042
- font-size: 18px;
4043
- margin: 0;
4044
- text-transform: inherit;
4045
- }
4046
-
4047
- .wl_single-product-item.wl_dark-item .product-content .product-content-top .title a {
4048
- color: #fff
4049
- }
4050
- .wl_single-product-item.wl_dark-item .product-content .product-content-top p {
4051
- font-weight: 400;
4052
- font-size: 14px;
4053
- }
4054
-
4055
- .wl_single-product-item .product-content .product-content-top .title a {
4056
- color: #333
4057
- }
4058
- .wl_single-product-item .product-content .product-content-top .title a:hover {
4059
- color: #0A3ACA
4060
- }
4061
-
4062
- .wl_single-product-item .product-content .product-content-top .product-price {
4063
- color: #0A3ACA;
4064
- font-weight: 500;
4065
- margin-bottom: 15px;
4066
- margin-top: 10px;
4067
- font-size: 15px;
4068
- }
4069
-
4070
- @media only screen and (min-width: 992px) and (max-width: 1199px) {
4071
- .wl_single-product-item .product-content .product-content-top .product-price {
4072
- margin-bottom: 5px;
4073
- margin-top: 5px;
4074
- }
4075
- }
4076
-
4077
- .wl_single-product-item .product-content .product-content-top .reading {
4078
- display: -webkit-box;
4079
- display: -webkit-flex;
4080
- display: -ms-flexbox;
4081
- display: flex;
4082
- }
4083
-
4084
- .wl_single-product-item .product-content .action {
4085
- margin-top: 10px;
4086
- display: -webkit-box;
4087
- display: -webkit-flex;
4088
- display: -ms-flexbox;
4089
- display: flex;
4090
- -webkit-box-pack: justify;
4091
- -webkit-justify-content: space-between;
4092
- -ms-flex-pack: justify;
4093
- justify-content: space-between;
4094
- background: #4E7CFF;
4095
- padding: 10px 30px;
4096
- border-radius: 0 0 5px 5px;
4097
- margin: 0;
4098
- list-style: none;
4099
- }
4100
-
4101
- .wl_single-product-item .product-content .action li {
4102
- margin: 0;
4103
- position: relative;
4104
- line-height: 0
4105
- }
4106
-
4107
- .wl_single-product-item .product-content .action li a,
4108
- .wl_single-product-item .product-content .action .action-item {
4109
- width: 40px;
4110
- height: 40px;
4111
- line-height: 40px;
4112
- background: #285FFC;
4113
- text-align: center;
4114
- border-radius: 5px;
4115
- color: #ffffff;
4116
- }
4117
- .wl_single-product-item .product-content .action li .yith-wcwl-wishlistaddedbrowse.hide a,
4118
- .wl_single-product-item .product-content .action li a.add_to_wishlist {
4119
- padding: 3px;
4120
- }
4121
- .wl_single-product-item .product-content .action .action-item:hover {
4122
- background: #2B2B4C;
4123
- }
4124
-
4125
- .wl_single-product-item.wl_left-item {
4126
- display: -webkit-box;
4127
- display: -webkit-flex;
4128
- display: -ms-flexbox;
4129
- display: flex;
4130
- max-width: 100%;
4131
- border-radius: 500px 0 0 500px;
4132
- }
4133
-
4134
- @media only screen and (max-width: 575px) {
4135
- .wl_single-product-item.wl_left-item {
4136
- display: inherit;
4137
- border-radius: 500px 500px 5px 5px;
4138
- max-width: 270px;
4139
- margin-left: auto;
4140
- margin-right: auto;
4141
- }
4142
- }
4143
-
4144
- .wl_single-product-item.wl_left-item .product-thumbnail {
4145
- height: 270px;
4146
- width: 340px;
4147
- line-height: 200px;
4148
- }
4149
-
4150
- .wl_single-product-item.wl_left-item .product-thumbnail .images {
4151
- height: 100%;
4152
- width: 100%;
4153
- -webkit-box-shadow: 0 0px 6px rgba(112, 112, 112, 0.2);
4154
- box-shadow: 0 0px 6px rgba(112, 112, 112, 0.2);
4155
- border-radius: 50%;
4156
- }
4157
-
4158
- @media only screen and (max-width: 575px) {
4159
- .wl_single-product-item.wl_left-item .product-thumbnail {
4160
- height: 270px;
4161
- width: 270px;
4162
- }
4163
- }
4164
-
4165
- .wl_single-product-item.wl_left-item .product-content {
4166
- margin-top: 0px;
4167
- margin-left: -144px;
4168
- width: 100%;
4169
- }
4170
-
4171
- @media only screen and (max-width: 575px) {
4172
- .wl_single-product-item.wl_left-item .product-content {
4173
- margin-top: 0px;
4174
- margin-left: 0px;
4175
- }
4176
- }
4177
-
4178
- .wl_single-product-item.wl_left-item .product-content .product-price {
4179
- margin-bottom: 5px;
4180
- margin-top: 5px;
4181
- }
4182
-
4183
- .wl_single-product-item.wl_left-item .product-content .product-content-top {
4184
- padding: 30px 20px 12px 165px;
4185
- }
4186
-
4187
- @media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (max-width: 767px) {
4188
- .wl_single-product-item.wl_left-item .product-content .product-content-top {
4189
- padding: 10px 20px 10px 170px;
4190
- }
4191
- }
4192
-
4193
- @media only screen and (max-width: 575px) {
4194
- .wl_single-product-item.wl_left-item .product-content .product-content-top {
4195
- padding: 10px 20px 12px 10px;
4196
- }
4197
- }
4198
-
4199
- .wl_single-product-item.wl_left-item .product-content .action {
4200
- padding: 10px 30px 10px 150px;
4201
- border-radius: 0 0 5px 5px;
4202
- }
4203
-
4204
- @media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (max-width: 767px) {
4205
- .wl_single-product-item.wl_left-item .product-content .action {
4206
- padding: 10px 20px 10px 150px;
4207
- }
4208
- }
4209
-
4210
- @media only screen and (max-width: 575px) {
4211
- .wl_single-product-item.wl_left-item .product-content .action {
4212
- padding: 10px 20px;
4213
- }
4214
- }
4215
-
4216
- .wl_single-product-item.wl_dark-item .product-thumbnail {
4217
- border: 15px solid #707070;
4218
- }
4219
-
4220
- .wl_single-product-item.wl_dark-item .product-thumbnail .images {
4221
- -webkit-box-shadow: 0 0px 6px rgba(112, 112, 112, 0.2);
4222
- box-shadow: 0 0px 6px rgba(112, 112, 112, 0.2);
4223
- }
4224
-
4225
- .wl_single-product-item.wl_dark-item .product-content {
4226
- background: #2B2B4C;
4227
- color: #ffffff;
4228
- }
4229
-
4230
- .wl_single-product-item.wl_dark-item .product-content .product-content-top {
4231
- padding: 140px 20px 10px;
4232
- }
4233
-
4234
- .wl_single-product-item.wl_dark-item .product-content .product-content-top .title {
4235
- color: #ffffff;
4236
- }
4237
-
4238
- .wl_single-product-item.wl_dark-item .product-content .product-content-top .product-price {
4239
- color: #ffffff;
4240
- }
4241
-
4242
- .wl_single-product-item.wl_dark-item .product-content .product-content-top .reading {
4243
- display: -webkit-box;
4244
- display: -webkit-flex;
4245
- display: -ms-flexbox;
4246
- display: flex;
4247
- color: #75828E;
4248
- }
4249
-
4250
- .ht-products .wl_single-product-item .product-content .product-content-top .reading .top-rated-rating .ht-product-ratting,
4251
- .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting {
4252
- display: -webkit-box;
4253
- display: -webkit-flex;
4254
- display: -ms-flexbox;
4255
- display: flex;
4256
- position: relative;
4257
- margin-left: -3px;
4258
- margin-right: -3px;
4259
- }
4260
-
4261
- .ht-products .wl_single-product-item .product-content .product-content-top .reading .top-rated-rating .ht-product-ratting .ht-product-user-ratting,
4262
- .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting {
4263
- display: -webkit-box;
4264
- display: -webkit-flex;
4265
- display: -ms-flexbox;
4266
- display: flex;
4267
- overflow: hidden;
4268
- position: absolute;
4269
- left: 5px;
4270
- top: 0;
4271
- z-index: 3;
4272
- margin-left: -5px;
4273
- margin-right: -5px;
4274
- }
4275
- .ht-products .ht-product.ht-product-content-allcenter .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting,
4276
- .ht-products .ht-product.ht-product-ratting-top-right .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting {
4277
- position: inherit;
4278
- }
4279
- .ht-products .ht-product.ht-product-category-right-bottom .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-price{
4280
- margin-bottom: 25px;
4281
- }
4282
- .ht-products .ht-product.ht-product-category-right-bottom .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting{
4283
- margin-top: 8px;
4284
- }
4285
-
4286
- .ht-products .wl_single-product-item .product-content .product-content-top .reading .top-rated-rating .ht-product-ratting .ht-product-user-ratting i,
4287
- .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting i {
4288
- color: #dc9a0e;
4289
- }
4290
-
4291
- .ht-products .wl_single-product-item .product-content .product-content-top .reading .top-rated-rating .ht-product-ratting i,
4292
- .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting i {
4293
- color: #aaaaaa;
4294
- }
4295
-
4296
- .wl_single-product-item .action li .woolentor-compare.compare::before {
4297
- left: 50%;
4298
- top: 60%;
4299
- transform: translateX(-50%) translateY(-50%);
4300
- color: #fff;
4301
- font-size: 18px;
4302
- width: 100%;
4303
- height: 100%;
4304
- }
4305
-
4306
- .wl_single-product-item .product-content .action li a:hover {
4307
- background: #2B2B4C;
4308
- }
4309
-
4310
- .wl_single-product-item .product-content .action span.ht-product-action-tooltip {
4311
- display: none;
4312
- }
4313
-
4314
- .wl_single-product-item .product-content .yith-wcwl-add-to-wishlist {
4315
- margin-top: 0;
4316
- }
4317
- .wl_single-product-item .product-content .yith-wcwl-add-button>a i {
4318
- margin-right: 0;
4319
- }
4320
-
4321
-
4322
- /*--button--*/
4323
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .btn_cart {
4324
- position: relative;
4325
- }
4326
-
4327
- .wl_shop-accordion-wrap .card-body .product-content .product-acontent-bottom .action a.action-item.added,
4328
- .wl_single-product-item .product-content .action .action-item.added {
4329
- display: none;
4330
- }
4331
-
4332
-
4333
- .wl_shop-accordion-wrap .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward{
4334
- font-size: 0;
4335
- margin-right: 30px;
4336
- }
4337
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward {
4338
- font-size: 0;
4339
- margin-right: 30px;
4340
- }
4341
- .wl_single-product-item .product-content .action a.added_to_cart.wc-forward {
4342
- text-indent: -9999px;
4343
- }
4344
-
4345
- .wl_single-product-item .product-content .action .action-item.loading:before {
4346
- position: absolute;
4347
- text-indent: 0;
4348
- content: "\e01c";
4349
- font-family: WooCommerce;
4350
- left: 0;
4351
- right: 0;
4352
- }
4353
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward:after,
4354
- .wl_shop-accordion-wrap .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward:after,
4355
- .wl_single-product-item .product-content .action a.added_to_cart.wc-forward:after {
4356
- position: absolute;
4357
- text-indent: 0;
4358
- content: "\e017";
4359
- font-family: WooCommerce;
4360
- left: 0;
4361
- right: 0;
4362
- font-size: 18px;
4363
- }
4364
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward:after,
4365
- .wl_shop-accordion-wrap .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward:after {
4366
- font-size: 18px;
4367
- background: #fff;
4368
- display: inline-table;
4369
- height: 34px;
4370
- line-height: 34px;
4371
- border-radius: 50%;
4372
- padding: 0 9px;
4373
- margin-right: 70px;
4374
- color: #333;
4375
- }
4376
- .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .action-item.added,
4377
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .action-item.added {
4378
- display: none;
4379
- }
4380
- .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a.added_to_cart.wc-forward {
4381
- height: 35px;
4382
- padding: 0 9px;
4383
- line-height: 35px;
4384
- background: transparent;
4385
- text-align: center;
4386
- border-radius: 35px;
4387
- border: 1px solid #0A3ACA;
4388
- color: #333;
4389
- margin-right: 10px
4390
- }
4391
- /* Product curvy end */
4392
-
4393
- /* Product Horizontal Filter Start */
4394
- .woolentor-horizontal-filter-wrap {}
4395
-
4396
- .woolentor-horizontal-filter-wrap .woolentor-heaer-box-area {
4397
- padding: 40px 50px;
4398
- background-color: #ffffff;
4399
- border-radius: 5px;
4400
- margin-bottom: 30px;
4401
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
4402
- }
4403
-
4404
- @media only screen and (max-width: 767px) {
4405
- .woolentor-horizontal-filter-wrap .woolentor-heaer-box-area {
4406
- padding: 40px 20px;
4407
- }
4408
- }
4409
-
4410
- @media only screen and (min-width: 768px) and (max-width: 991px) {
4411
- .woolentor-horizontal-filter-wrap .woolentor-heaer-box-area {
4412
- padding: 40px 20px;
4413
- }
4414
- }
4415
-
4416
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area {
4417
- display: -webkit-box;
4418
- display: -webkit-flex;
4419
- display: -ms-flexbox;
4420
- display: flex;
4421
- -webkit-box-align: center;
4422
- -webkit-align-items: center;
4423
- -ms-flex-align: center;
4424
- align-items: center;
4425
- -webkit-box-pack: justify;
4426
- -webkit-justify-content: space-between;
4427
- -ms-flex-pack: justify;
4428
- justify-content: space-between;
4429
- }
4430
-
4431
- @media only screen and (max-width: 767px) {
4432
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area {
4433
- -webkit-box-orient: vertical;
4434
- -webkit-box-direction: normal;
4435
- -webkit-flex-direction: column;
4436
- -ms-flex-direction: column;
4437
- flex-direction: column;
4438
- }
4439
- }
4440
-
4441
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side {
4442
- display: -webkit-box;
4443
- display: -webkit-flex;
4444
- display: -ms-flexbox;
4445
- display: flex;
4446
- -webkit-box-align: center;
4447
- -webkit-align-items: center;
4448
- -ms-flex-align: center;
4449
- align-items: center;
4450
- }
4451
-
4452
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side h2 {
4453
- margin: 0;
4454
- font-size: 24px;
4455
- font-weight: 500;
4456
- }
4457
-
4458
- @media only screen and (max-width: 767px) {
4459
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side {
4460
- margin-bottom: 20px;
4461
- }
4462
- }
4463
-
4464
- @media only screen and (max-width: 575px) {
4465
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side {
4466
- margin-bottom: 0px;
4467
- }
4468
- }
4469
-
4470
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side .htpt-check-all-area {
4471
- margin-right: 20px;
4472
- }
4473
-
4474
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side .htpt-all-cart {
4475
- background-color: #3326AE;
4476
- color: #ffffff;
4477
- padding: 8px 25px;
4478
- border-radius: 25px;
4479
- }
4480
-
4481
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side .htpt-all-cart i {
4482
- margin-right: 10px;
4483
- }
4484
-
4485
- @media only screen and (max-width: 575px) {
4486
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side {
4487
- -webkit-box-orient: vertical;
4488
- -webkit-box-direction: normal;
4489
- -webkit-flex-direction: column;
4490
- -ms-flex-direction: column;
4491
- flex-direction: column;
4492
- -webkit-box-pack: center;
4493
- -webkit-justify-content: center;
4494
- -ms-flex-pack: center;
4495
- justify-content: center;
4496
- }
4497
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side .htpt-check-all-area {
4498
- margin-right: 0px;
4499
- margin-bottom: 10px;
4500
- }
4501
- }
4502
-
4503
- @media only screen and (max-width: 575px) {
4504
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-left-side .htpt-label-for-checkbox {
4505
- margin-bottom: 5px;
4506
- }
4507
- }
4508
-
4509
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-right-side {
4510
- display: -webkit-box;
4511
- display: -webkit-flex;
4512
- display: -ms-flexbox;
4513
- display: flex;
4514
- -webkit-box-align: center;
4515
- -webkit-align-items: center;
4516
- -ms-flex-align: center;
4517
- align-items: center;
4518
- }
4519
-
4520
- @media only screen and (max-width: 575px) {
4521
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-header-right-side {
4522
- margin-top: 20px;
4523
- }
4524
- }
4525
-
4526
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box {
4527
- position: relative;
4528
- }
4529
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-filter-custom{
4530
- margin-left: 20px;
4531
- }
4532
-
4533
- @media only screen and (max-width: 575px) {
4534
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box {
4535
- margin-right: 10px;
4536
- }
4537
- }
4538
-
4539
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-box {
4540
- border: none;
4541
- background: #EEEFFB;
4542
- padding: 10px 36px 10px 20px;
4543
- border-radius: 25px;
4544
- height: 40px;
4545
- position: relative;
4546
- }
4547
-
4548
- @media only screen and (max-width: 575px) {
4549
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-box {
4550
- padding: 10px 36px 10px 10px;
4551
- }
4552
- }
4553
-
4554
- .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-inner-btn {
4555
- position: absolute;
4556
- background: transparent;
4557
- right: 10px;
4558
- top: 50%;
4559
- -webkit-transform: translateY(-50%);
4560
- -ms-transform: translateY(-50%);
4561
- transform: translateY(-50%);
4562
- border: none;
4563
- font-size: 16px;
4564
- padding: 0;
4565
- color: #222222;
4566
- }
4567
-
4568
- .woolentor-horizontal-filter-wrap .woolentor-search-filter-custom .filter-icon {
4569
- height: 40px;
4570
- width: 40px;
4571
- line-height: 40px;
4572
- text-align: center;
4573
- background: #EEEFFB;
4574
- border-radius: 50%;
4575
- display: inline-block;
4576
- color: #222222;
4577
- }
4578
-
4579
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-area {
4580
- border-top: 1px solid #EFF6FF;
4581
- padding-top: 20px;
4582
- margin-top: 20px;
4583
- }
4584
-
4585
- @media only screen and (max-width: 575px) {
4586
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-area {
4587
- -webkit-box-orient: vertical;
4588
- -webkit-box-direction: normal;
4589
- -webkit-flex-direction: column;
4590
- -ms-flex-direction: column;
4591
- flex-direction: column;
4592
- }
4593
- }
4594
-
4595
- .woolentor-horizontal-filter-wrap #filter-item {}
4596
-
4597
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap {
4598
- display: -webkit-box;
4599
- display: -webkit-flex;
4600
- display: -ms-flexbox;
4601
- display: flex;
4602
- -webkit-flex-wrap: wrap;
4603
- -ms-flex-wrap: wrap;
4604
- flex-wrap: wrap;
4605
- -webkit-box-align: center;
4606
- -webkit-align-items: center;
4607
- -ms-flex-align: center;
4608
- align-items: center;
4609
- }
4610
-
4611
- @media only screen and (min-width: 768px) and (max-width: 991px) {
4612
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap {
4613
- -webkit-box-pack: center;
4614
- -webkit-justify-content: center;
4615
- -ms-flex-pack: center;
4616
- justify-content: center;
4617
- }
4618
- }
4619
-
4620
- @media only screen and (max-width: 575px) {
4621
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap {
4622
- -webkit-box-pack: center;
4623
- -webkit-justify-content: center;
4624
- -ms-flex-pack: center;
4625
- justify-content: center;
4626
- }
4627
- }
4628
-
4629
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item {
4630
- margin-left: 20px;
4631
- margin-top: 10px;
4632
- }
4633
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item:first-child{
4634
- margin-left: 0;
4635
- }
4636
-
4637
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item label {
4638
- display: block;
4639
- margin-bottom: 10px;
4640
- }
4641
-
4642
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item .select2-container {
4643
- width: 120px !important;
4644
- height: 40px;
4645
- }
4646
-
4647
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .clear-filter {
4648
- margin-top: 10px;
4649
- }
4650
-
4651
- @media only screen and (max-width: 767px) {
4652
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .clear-filter {
4653
- width: 100%;
4654
- }
4655
- }
4656
-
4657
- .woolentor-horizontal-filter-wrap .select2-container .select2-selection--single {
4658
- border-radius: 25px;
4659
- height: 40px;
4660
- padding: 5px 25px 5px 10px;
4661
- align-items: center;
4662
- display: -webkit-box;
4663
- display: -webkit-flex;
4664
- display: -ms-flexbox;
4665
- display: flex;
4666
- outline: none;
4667
- }
4668
-
4669
- .woolentor-horizontal-filter-wrap .select2-container .select2-selection--multiple{
4670
- outline: none;
4671
- }
4672
-
4673
- .woolentor-horizontal-filter-wrap .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .woolentor-horizontal-filter-wrap .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
4674
- border-bottom-left-radius: 25px;
4675
- border-bottom-right-radius: 25px;
4676
- }
4677
-
4678
- .woolentor-horizontal-filter-wrap .select2-container.select2-container--default .selection .select2-selection {
4679
- background: transparent url(../images/selector-icon.png) no-repeat center right 10px;
4680
- }
4681
-
4682
- .woolentor-horizontal-filter-wrap .select2-container.select2-container--default .selection .select2-selection--multiple {
4683
- display: -webkit-box;
4684
- display: -webkit-flex;
4685
- display: -ms-flexbox;
4686
- display: flex;
4687
- min-height: 40px;
4688
- padding: 5px;
4689
- height: 40px;
4690
- border-radius: 25px;
4691
- }
4692
-
4693
- .woolentor-horizontal-filter-wrap .select2-container.select2-container--default .selection .select2-selection__rendered {
4694
- display: inline;
4695
- list-style: none;
4696
- padding: 0;
4697
- display: -webkit-box;
4698
- display: -webkit-flex;
4699
- display: -ms-flexbox;
4700
- display: flex;
4701
- margin: 0;
4702
- }
4703
-
4704
- .woolentor-horizontal-filter-wrap .select2-container.select2-container--default .selection .select2-selection__choice {
4705
- background-color: transparent;
4706
- border: none;
4707
- border-radius: 25px;
4708
- display: inline-block;
4709
- margin-left: 5px;
4710
- margin-top: 0;
4711
- padding: 0;
4712
- font-size: 14px;
4713
- }
4714
-
4715
- .woolentor-horizontal-filter-wrap .select2-container.select2-container--default .selection .select2-selection .select2-selection__rendered {
4716
- white-space: nowrap;
4717
- overflow: hidden;
4718
- padding-left: 8px;
4719
- -o-text-overflow: ellipsis;
4720
- text-overflow: ellipsis;
4721
- display: -webkit-box;
4722
- display: -webkit-flex;
4723
- display: -ms-flexbox;
4724
- display: flex;
4725
- font-size: 16px;
4726
- align-items: center;
4727
- width: auto;
4728
- }
4729
-
4730
- .woolentor-horizontal-filter-wrap .select2-container.select2-container--default .selection .select2-selection .select2-results__option {
4731
- padding-right: 20px;
4732
- vertical-align: middle;
4733
- font-size: 16px;
4734
- padding: 3px 7px;
4735
- font-weight: 600;
4736
- }
4737
-
4738
- .woolentor-horizontal-filter-wrap .select2-container .select2-search--inline .select2-search__field {
4739
- font-size: 15px;
4740
- max-width: 100px;
4741
- padding-right: 13px;
4742
- height: inherit;
4743
- line-height: inherit;
4744
- margin: 0;
4745
- }
4746
-
4747
- .woolentor-horizontal-filter-wrap .htpt-label-for-checkbox {
4748
- display: -webkit-box;
4749
- display: -webkit-flex;
4750
- display: -ms-flexbox;
4751
- display: flex;
4752
- height: 16px;
4753
- margin-bottom: -5px;
4754
- margin-left: 6px;
4755
- }
4756
-
4757
- .woolentor-horizontal-filter-wrap .htpt-label-for-checkbox .input-checkbox {
4758
- opacity: 0;
4759
- line-height: 1;
4760
- height: inherit;
4761
- display: none;
4762
- }
4763
-
4764
- .woolentor-horizontal-filter-wrap .htpt-label-for-checkbox > span {
4765
- display: inline-block;
4766
- text-transform: inherit;
4767
- position: relative;
4768
- line-height: 1;
4769
- font-size: 14px;
4770
- font-weight: 400;
4771
- }
4772
-
4773
- .woolentor-horizontal-filter-wrap .clear-filter {
4774
- background: transparent;
4775
- padding: 0;
4776
- border: none;
4777
- margin-left: 20px;
4778
- color: #4E7CFF;
4779
- font-size: 14px;
4780
- }
4781
-
4782
- .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item.woolentor-states-input-auto .select2-container {
4783
- width: auto !important;
4784
- min-width: 120px;
4785
- overflow: hidden;
4786
- height: 40px;
4787
- }
4788
-
4789
- div[class*="woolentor-single-select-drop"] .select2-results__option::before{
4790
- border-radius: 100%;
4791
- }
4792
-
4793
- .woolentor-select-drop .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
4794
- background-color: #ddd;
4795
- color: white;
4796
- }
4797
-
4798
- .woolentor-filter-single-item button.select2-selection__choice__remove, .woolentor-filter-single-item .select2-selection__clear {
4799
- display: none !important;
4800
- margin-left: 0 !important;
4801
- }
4802
-
4803
- .woolentor-filter-single-item .select2-selection__choice {
4804
- position: relative;
4805
- margin-left: 0px;
4806
- }
4807
-
4808
- .woolentor-filter-single-item .select2-selection__choice::after {
4809
- position: absolute;
4810
- content: ",";
4811
- right: 0;
4812
- }
4813
-
4814
- .woolentor-filter-single-item .select2-selection__choice:last-child::after {
4815
- content: "";
4816
- }
4817
-
4818
- .woolentor-select-drop .select2-results__option[role="alert"] {
4819
- border-radius: 10px 10px 10px 10px !important;
4820
- }
4821
-
4822
- .woolentor-select-drop .select2-results__option[role="alert"]:before {
4823
- display: none;
4824
- }
4825
-
4826
- .woolentor-select-drop .select2-results__option {
4827
- font-size: 14px;
4828
- background-color: #fff;
4829
- max-height: 300px;
4830
- font-weight: 600;
4831
- width: 100%;
4832
- }
4833
-
4834
- .woolentor-select-drop .select2-results__option:before {
4835
- content: "";
4836
- display: inline-block;
4837
- position: relative;
4838
- height: 14px;
4839
- width: 14px;
4840
- border: 1px solid #555;
4841
- border-radius: 2px;
4842
- background-color: #fff;
4843
- margin-right: 10px;
4844
- vertical-align: middle;
4845
- top: -2px;
4846
- }
4847
-
4848
- .woolentor-select-drop .select2-results__option--selected:before {
4849
- content: "";
4850
- color: #fff;
4851
- border-color: transparent;
4852
- background-image: url(../images/check.png);
4853
- background-repeat: no-repeat;
4854
- background-position: center center;
4855
- border: 0;
4856
- display: inline-block;
4857
- padding-left: 3px;
4858
- background-color: #00426E;
4859
- }
4860
-
4861
- .woolentor-select-drop .select2-results__options {
4862
- width: 200px;
4863
- margin: 0;
4864
- }
4865
-
4866
- .woolentor-select-drop .select2-results__options li{
4867
- margin: 0;
4868
- }
4869
-
4870
- .woolentor-select-drop .select2-results__options li:first-child {
4871
- border-radius: 10px 10px 0 0;
4872
- }
4873
-
4874
- .woolentor-select-drop .select2-results__options li:last-child {
4875
- border-radius: 0 0 10px 10px;
4876
- }
4877
-
4878
- .woolentor-select-drop .select2-container--default .select2-results__option--highlighted[aria-selected="true"] {
4879
- background-color: #C4C7E0;
4880
- color: #272727;
4881
- }
4882
-
4883
- .woolentor-select-drop .select2-container--default .select2-results > .select2-results__options {
4884
- max-height: 300px;
4885
- }
4886
-
4887
- .woolentor-select-drop .select2-container--default .select2-selection--multiple {
4888
- margin-bottom: 10px;
4889
- }
4890
-
4891
- .woolentor-select-drop .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
4892
- border-radius: 25px;
4893
- height: 20px;
4894
- }
4895
-
4896
- .woolentor-filter-single-item .select2-container--default.select2-container--focus .select2-selection--multiple {
4897
- border-color: #C4C7E0;
4898
- border-width: 1px;
4899
- outline: none;
4900
- }
4901
-
4902
- .woolentor-filter-single-item .select2-container--default .select2-selection--single .select2-selection__arrow {
4903
- display: none;
4904
- }
4905
-
4906
- .woolentor-select-drop .select2-container--open .select2-dropdown--below {
4907
- border-radius: 10px;
4908
- top: 10px;
4909
- border: 1px solid #ddd;
4910
- width: 202px !important;
4911
- }
4912
- /* Product Horizontal Filter End */
4913
-
4914
- /**
4915
- * Theme support
4916
- */
4917
-
4918
- /* Hello Elementor */
4919
- .woolentor_current_theme_hello-elementor.woocommerce .quantity .qty {
4920
- padding-left: inherit;
4921
- padding-right: inherit;
4922
- text-align: center;
4923
- }
4924
-
4925
- /* twentytwentyone */
4926
- .woolentor_current_theme_twentytwentyone.woocommerce span.onsale, .woolentor_current_theme_twentytwentyone span.onsale{
4927
- left: auto;
4928
- }
4929
-
4930
- /**
4931
- * Thirdparty plugin support
4932
- */
4933
- .woocommerce-cart .woolentor-page-template .woocommerce {
4934
- -webkit-box-orient: vertical;
4935
- -webkit-box-direction: normal;
4936
- -ms-flex-flow: column;
4937
- flex-flow: column;
4938
- }
4939
-
4940
- /* Normal :1366px. */
4941
- @media (min-width: 1200px) and (max-width: 1400px) {
4942
-
4943
- }
4944
-
4945
- /* Normal desktop :992px. */
4946
- @media (min-width: 992px) and (max-width: 1200px) {
4947
- .cus-col-5.ht-col-md-6 {
4948
- flex: 0 0 33.333%;
4949
- max-width: 33.333%;
4950
- }
4951
- .elementor-section .elementor-container {
4952
- padding: 0 15px;
4953
- }
4954
- .elementor-section.elementor-section-full_width .elementor-container {
4955
- padding: 0;
4956
- }
4957
- }
4958
-
4959
- /* Tablet desktop :768px. */
4960
- @media (min-width: 768px) and (max-width: 991px) {
4961
- .cus-col-5.ht-col-md-6 {
4962
- flex: 0 0 50%;
4963
- max-width: 50%;
4964
- }
4965
- .elementor-section .elementor-container {
4966
- padding: 0 15px;
4967
- }
4968
- .elementor-section.elementor-section-full_width .elementor-container {
4969
- padding: 0;
4970
- }
4971
-
4972
- .wl-columns-tablet-1 .wl-row > [class*="col-"]{
4973
- -webkit-box-flex: 0;
4974
- -webkit-flex: 0 0 100%;
4975
- -ms-flex: 0 0 100%;
4976
- flex: 0 0 100%;
4977
- max-width: 100%;
4978
- }
4979
- .wl-columns-tablet-2 .wl-row > [class*="col-"]{
4980
- -webkit-box-flex: 0;
4981
- -webkit-flex: 0 0 50%;
4982
- -ms-flex: 0 0 50%;
4983
- flex: 0 0 50%;
4984
- max-width: 50%;
4985
- }
4986
- .wl-columns-tablet-3 .wl-row > [class*="col-"]{
4987
- -webkit-box-flex: 0;
4988
- -webkit-flex: 0 0 33.333%;
4989
- -ms-flex: 0 0 33.333%;
4990
- flex: 0 0 33.333%;
4991
- max-width: 33.333%;
4992
- }
4993
- .wl-columns-tablet-4 .wl-row > [class*="col-"]{
4994
- -webkit-box-flex: 0;
4995
- -webkit-flex: 0 0 25%;
4996
- -ms-flex: 0 0 25%;
4997
- flex: 0 0 25%;
4998
- max-width: 25%;
4999
- }
5000
- .wl-columns-tablet-5 .wl-row > [class*="col-"]{
5001
- -webkit-box-flex: 0;
5002
- -webkit-flex: 0 0 20%;
5003
- -ms-flex: 0 0 20%;
5004
- flex: 0 0 20%;
5005
- max-width: 20%;
5006
- }
5007
- .wl-columns-tablet-6 .wl-row > [class*="col-"]{
5008
- -webkit-box-flex: 0;
5009
- -webkit-flex: 0 0 16.666%;
5010
- -ms-flex: 0 0 16.666%;
5011
- flex: 0 0 16.666%;
5012
- max-width: 16.666%;
5013
- }
5014
- .wl-columns-tablet-7 .wl-row > [class*="col-"]{
5015
- -webkit-box-flex: 0;
5016
- -webkit-flex: 0 0 14.285%;
5017
- -ms-flex: 0 0 14.285%;
5018
- flex: 0 0 14.285%;
5019
- max-width: 14.285%;
5020
- }
5021
- .wl-columns-tablet-8 .wl-row > [class*="col-"]{
5022
- -webkit-box-flex: 0;
5023
- -webkit-flex: 0 0 12.5%;
5024
- -ms-flex: 0 0 12.5%;
5025
- flex: 0 0 12.5%;
5026
- max-width: 12.5%;
5027
- }
5028
- .wl-columns-tablet-9 .wl-row > [class*="col-"]{
5029
- -webkit-box-flex: 0;
5030
- -webkit-flex: 0 0 11.111%;
5031
- -ms-flex: 0 0 11.111%;
5032
- flex: 0 0 11.111%;
5033
- max-width: 11.111%;
5034
- }
5035
- .wl-columns-tablet-10 .wl-row > [class*="col-"]{
5036
- -webkit-box-flex: 0;
5037
- -webkit-flex: 0 0 10%;
5038
- -ms-flex: 0 0 10%;
5039
- flex: 0 0 10%;
5040
- max-width: 10%;
5041
- }
5042
-
5043
- [class*="woolentorducts-columns-"] ul.products li.product{
5044
- width: calc(50% - 15px) !important;
5045
- margin-right: 15px !important;
5046
- }
5047
- .woolentorducts-columns-tablet-1 ul.products li.product{
5048
- width: 100% !important;
5049
- margin-right: 0 !important;
5050
- }
5051
- .woolentorducts-columns-tablet-2 ul.products li.product{
5052
- width: calc(50% - 15px) !important;
5053
- margin-right: 15px !important;
5054
- float: left;
5055
- }
5056
- .woolentorducts-columns-tablet-3 ul.products li.product{
5057
- width: calc(33.33% - 15px) !important;
5058
- margin-right: 15px !important;
5059
- float: left;
5060
- }
5061
- .woolentorducts-columns-tablet-4 ul.products li.product{
5062
- width: calc(25% - 15px) !important;
5063
- margin-right: 15px !important;
5064
- float: left;
5065
- }
5066
- .woolentorducts-columns-tablet-5 ul.products li.product{
5067
- width: calc(19% - 15px) !important;
5068
- margin-right: 15px !important;
5069
- float: left;
5070
- }
5071
- .woolentorducts-columns-tablet-6 ul.products li.product{
5072
- width: calc(16% - 15px) !important;
5073
- margin-right: 15px !important;
5074
- float: left;
5075
- }
5076
-
5077
- [class*="woolentorducts-columns-tablet-"] ul.products li.product.first{
5078
- clear: none !important;
5079
- }
5080
- .woolentorducts-columns-tablet-6 ul.products li.product:nth-child(6n),
5081
- .woolentorducts-columns-tablet-5 ul.products li.product:nth-child(5n),
5082
- .woolentorducts-columns-tablet-4 ul.products li.product:nth-child(4n),
5083
- .woolentorducts-columns-tablet-3 ul.products li.product:nth-child(3n),
5084
- .woolentorducts-columns-tablet-2 ul.products li.product:nth-child(2n),
5085
- .woolentorducts-columns-tablet-1 ul.products li.product{
5086
- margin-right: 0 !important;
5087
- }
5088
-
5089
- }
5090
-
5091
- /* small mobile :320px. */
5092
- @media (max-width: 767px) {
5093
- .cus-col-5.ht-col-md-6 {
5094
- flex: 0 0 100%;
5095
- max-width: 100%;
5096
- }
5097
- .woolentor-banner-img,.woolentor-content{
5098
- float: none;
5099
- }
5100
- .product-tab-list .nav a {
5101
- margin-bottom: 10px;
5102
- margin-right: 10px;
5103
- padding: 5px 10px;
5104
- }
5105
- .elementor-section .elementor-container {
5106
- padding: 0 15px;
5107
- }
5108
- .elementor-section.elementor-section-full_width .elementor-container {
5109
- padding: 0;
5110
- }
5111
 
5112
  .woolentor-notification-content {
5113
  width: 90%;
@@ -5187,69 +2576,9 @@ div[class*="woolentor-single-select-drop"] .select2-results__option::before{
5187
  max-width: 10%;
5188
  }
5189
 
5190
- .product-slider .slick-arrow.slick-next{
5191
- right:0;
5192
- }
5193
- .product-slider .slick-arrow{
5194
- left:0;
5195
- }
5196
-
5197
- .content-woolentorquickview.entry-summary,.ht-qwick-view-left {
5198
- padding-right: 15px;
5199
- }
5200
-
5201
- [class*="woolentorducts-columns-"] ul.products li.product{
5202
- width: 100% !important;
5203
- }
5204
- .woolentorducts-columns-mobile-1 ul.products li.product{
5205
- width: 100% !important;
5206
- margin-right: 0 !important;
5207
- }
5208
- .woolentorducts-columns-mobile-2 ul.products li.product{
5209
- width: calc(50% - 15px) !important;
5210
- margin-right: 15px !important;
5211
- float: left;
5212
- }
5213
- .woolentorducts-columns-mobile-3 ul.products li.product{
5214
- width: calc(33.33% - 15px) !important;
5215
- margin-right: 15px !important;
5216
- float: left;
5217
- }
5218
- .woolentorducts-columns-mobile-4 ul.products li.product{
5219
- width: calc(25% - 15px) !important;
5220
- margin-right: 15px !important;
5221
- float: left;
5222
- }
5223
- .woolentorducts-columns-mobile-5 ul.products li.product{
5224
- width: calc(19% - 15px) !important;
5225
- margin-right: 15px !important;
5226
- float: left;
5227
- }
5228
- .woolentorducts-columns-mobile-6 ul.products li.product{
5229
- width: calc(16% - 15px) !important;
5230
- margin-right: 15px !important;
5231
- float: left;
5232
- }
5233
-
5234
- [class*="woolentorducts-columns-mobile-"] ul.products li.product.first{
5235
- clear: none !important;
5236
- }
5237
- .woolentorducts-columns-mobile-6 ul.products li.product:nth-child(6n),
5238
- .woolentorducts-columns-mobile-5 ul.products li.product:nth-child(5n),
5239
- .woolentorducts-columns-mobile-4 ul.products li.product:nth-child(4n),
5240
- .woolentorducts-columns-mobile-3 ul.products li.product:nth-child(3n),
5241
- .woolentorducts-columns-mobile-2 ul.products li.product:nth-child(2n),
5242
- .woolentorducts-columns-mobile-1 ul.products li.product{
5243
- margin-right: 0 !important;
5244
- }
5245
-
5246
  }
5247
 
5248
  /* Large Mobile :480px. */
5249
  @media only screen and (min-width: 480px) and (max-width: 767px) {
5250
 
5251
  }
5252
-
5253
- .woolentor-qrcode img{
5254
- display:inline-block;
5255
- }
94
  margin-left: 0;
95
  top: 11px;
96
  }
97
+ .product-item .woocommerce.product.compare-button {
98
  border-left: 1px solid #999;
99
  }
 
 
 
100
  .product-item:hover .actions{
101
  opacity: 1;
102
  transform: translateX(-50%) translateY(-50%);
123
  top: 5px;
124
  width: 100%;
125
  }
126
+ .product-item .actions .compare-button a::before{
127
  content: "\f021";
128
  }
129
  .product-item .product-inner .image-wrap .style_two .wishlist a::before{
191
  font-size: 14px;
192
  font-weight: 500;
193
  left: 15px;
 
194
  line-height: 1;
195
  min-height: inherit;
196
  min-width: inherit;
197
  padding: 5px 10px;
198
+ top: 15px;
199
  position: absolute;
200
  }
 
201
  .product-item a.button.added {
202
  display: none !important;
203
  }
 
 
 
 
 
 
 
 
 
204
  .product-item .product-inner .image-wrap .actions a.added_to_cart {
205
  text-indent: -99999px;
206
  }
343
  display: block;
344
  }
345
 
346
+ .slick-prev::before, .slick-next::before{
347
  display: none;
348
  }
349
 
447
  right: 30px;
448
  }
449
 
450
+
451
  .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image img {
452
  width: 100%;
453
  }
665
  -o-transition: all 0.3s ease;
666
  transition: all 0.3s ease;
667
  }
 
 
 
 
 
 
 
 
 
668
 
669
  .ht-products .ht-product .ht-product-inner .ht-product-action ul li a i {
670
  font-size: 20px;
681
  .woolentor-compare.compare::before, .ht-product-action ul li.woolentor-cart a::before {
682
  content: "";
683
  display: flex;
684
+ font-family: simple-line-icons;
685
  font-size: 20px;
686
  height: 100%;
687
  justify-content: center;
716
  display: none !important;
717
  }
718
 
719
+ .ht-products .ht-product .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,span.woolentor-tip {
720
  position: absolute;
721
  left: 100%;
722
  top: 50%;
738
  -o-transition: all 0.5s ease;
739
  transition: all 0.5s ease;
740
  }
741
+ .ht-products .ht-product.ht-product-action-right span.woolentor-tip{
 
 
 
 
 
 
742
  left: auto;
743
  right: 35px;
744
  }
754
  color: #dc9a0e !important;
755
  }
756
 
757
+ .ht-products .ht-product .ht-product-inner .ht-product-action ul li a:hover .ht-product-action-tooltip,.ht-products .ht-product .ht-product-inner .ht-product-action ul li:hover span.woolentor-tip {
758
  opacity: 1;
759
  visibility: visible;
760
  margin-left: 0;
 
761
  }
762
 
763
  .ht-products .ht-product .ht-product-inner .ht-product-content {
818
  line-height: 1.2;
819
  font-weight: 400;
820
  margin-bottom: 10px;
 
 
 
 
821
  }
822
 
823
  .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-title a {
869
  display: -ms-flexbox;
870
  display: flex;
871
  }
 
 
 
872
 
873
  .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting {
874
  display: -webkit-box;
883
  .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting i {
884
  font-size: 13px;
885
  line-height: 14px;
886
+ font-weight: 400;
887
  padding-left: 3px;
888
  padding-right: 3px;
889
  color: #aaaaaa;
1090
  padding: 10px;
1091
  }
1092
 
1093
+ .ht-products .ht-product.ht-product-action-bottom .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-bottom span.woolentor-tip {
1094
  left: 50%;
1095
  right: auto;
1096
  top: auto;
1102
  margin-right: 0;
1103
  }
1104
 
1105
+ .ht-products .ht-product.ht-product-action-bottom .ht-product-inner .ht-product-action ul li a:hover .ht-product-action-tooltip {
1106
  -webkit-transform: translateX(-50%) translateY(0);
1107
  -ms-transform: translateX(-50%) translateY(0);
1108
  transform: translateX(-50%) translateY(0);
1130
  padding: 10px;
1131
  }
1132
 
1133
+ .ht-products .ht-product.ht-product-action-middle .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-middle span.woolentor-tip {
1134
  left: 50%;
1135
  right: auto;
1136
  top: auto;
1142
  margin-right: 0;
1143
  }
1144
 
1145
+ .ht-products .ht-product.ht-product-action-middle .ht-product-inner .ht-product-action ul li a:hover .ht-product-action-tooltip {
1146
  -webkit-transform: translateX(-50%) translateY(0);
1147
  -ms-transform: translateX(-50%) translateY(0);
1148
  transform: translateX(-50%) translateY(0);
1157
  -ms-flex-pack: start;
1158
  justify-content: flex-start;
1159
  position: static;
1160
+ margin-top: 20px;
 
 
1161
  }
1162
 
1163
  .ht-products .ht-product.ht-product-action-bottom-content .ht-product-inner .ht-product-action ul {
1177
  padding: 10px;
1178
  }
1179
 
1180
+ .ht-products .ht-product.ht-product-action-bottom-content .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,.ht-products .ht-product.ht-product-action-bottom-content span.woolentor-tip {
1181
  left: 50%;
1182
  right: auto;
1183
  top: auto;
1189
  margin-right: 0;
1190
  }
1191
 
1192
+ .ht-products .ht-product.ht-product-action-bottom-content .ht-product-inner .ht-product-action ul li a:hover .ht-product-action-tooltip {
1193
  -webkit-transform: translateX(-50%) translateY(0);
1194
  -ms-transform: translateX(-50%) translateY(0);
1195
  transform: translateX(-50%) translateY(0);
1367
  .ht-products .ht-product.ht-product-category-right-bottom .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-categories {
1368
  position: absolute;
1369
  right: 0;
1370
+ bottom: 0;
1371
  margin: 0;
 
 
 
 
 
1372
  }
1373
+
1374
  .ht-products .ht-product.ht-product-ratting-top-right .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-price {
1375
  margin: 0;
1376
  }
1399
  opacity: 1;
1400
  }
1401
 
 
 
 
 
1402
  /* Ads Banner */
1403
  .woolentor-banner {
1404
  align-items: center;
1609
  }
1610
 
1611
  /* Category List */
 
 
 
 
 
 
 
1612
  .wl-row{
1613
  display: -ms-flexbox;
1614
  display: -webkit-box;
1624
  margin-right: 0;
1625
  margin-left: 0;
1626
  }
 
 
 
 
 
 
1627
  .wl-row > [class*="col-"] {
1628
  min-height: 1px;
1629
  position: relative;
1782
  display: inline-block;
1783
  }
1784
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1785
  /* Quick view */
1786
  #htwlquick-viewmodal {
1787
  position: fixed;
1792
  display: flex;
1793
  align-items: center;
1794
  justify-content: center;
1795
+ z-index: 99999;
1796
  opacity: 0;
1797
  visibility: hidden;
1798
  background-color: transparent;
1969
  display: block;
1970
  }
1971
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1972
  .woocommerce #content div.product .woolentor-woo-template-builder div.images,.woocommerce div.product .woolentor-woo-template-builder div.images {
1973
  width: 100%;
1974
  }
2008
  height: auto;
2009
  }
2010
 
 
 
 
 
2011
  /* Product Video Gallery */
2012
  .video-cus-tab-pane{
2013
  display: none;
2271
  font-size: 18px;
2272
  }
2273
  .woolentor-addtocart-content .price {
2274
+ text-align: right;
2275
  font-size: 14px;
2276
  }
2277
  .woolentor-sticky-btn-area {
2278
  display: flex;
2279
  align-items: center;
2280
  flex-direction: row;
2281
+ justify-content: end;
2282
  }
2283
  .woolentor-sticky-btn-area .yith-wcwl-add-to-wishlist{
2284
  display: none;
2370
  .ht-products .ht-product .ht-product-inner .ht-product-action ul[class*="woolentor-btn-text"] li a:hover .ht-product-action-tooltip, .ht-products .ht-product .ht-product-inner .ht-product-action ul[class*="woolentor-btn-text"] li:hover span.woolentor-tip{
2371
  z-index: 999;
2372
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2373
 
 
 
 
 
 
 
 
2374
 
2375
+ /* Normal :1366px. */
2376
+ @media (min-width: 1200px) and (max-width: 1400px) {
 
 
 
 
 
2377
 
 
 
 
 
 
2378
  }
2379
 
2380
+ /* Normal desktop :992px. */
2381
+ @media (min-width: 992px) and (max-width: 1200px) {
2382
+ .cus-col-5.ht-col-md-6 {
2383
+ flex: 0 0 33.333%;
2384
+ max-width: 33.333%;
2385
+ }
2386
+ .elementor-section .elementor-container {
2387
+ padding: 0 15px;
2388
+ }
2389
+ .elementor-section.elementor-section-full_width .elementor-container {
2390
+ padding: 0;
2391
+ }
2392
  }
2393
 
2394
+ /* Tablet desktop :768px. */
2395
+ @media (min-width: 768px) and (max-width: 991px) {
2396
+ .cus-col-5.ht-col-md-6 {
2397
+ flex: 0 0 50%;
2398
+ max-width: 50%;
2399
+ }
2400
+ .elementor-section .elementor-container {
2401
+ padding: 0 15px;
2402
+ }
2403
+ .elementor-section.elementor-section-full_width .elementor-container {
2404
+ padding: 0;
2405
+ }
 
 
 
 
 
 
 
 
 
 
2406
 
2407
+ .wl-columns-tablet-1 .wl-row > [class*="col-"]{
2408
+ -webkit-box-flex: 0;
2409
+ -webkit-flex: 0 0 100%;
2410
+ -ms-flex: 0 0 100%;
2411
+ flex: 0 0 100%;
2412
+ max-width: 100%;
2413
+ }
2414
+ .wl-columns-tablet-2 .wl-row > [class*="col-"]{
2415
+ -webkit-box-flex: 0;
2416
+ -webkit-flex: 0 0 50%;
2417
+ -ms-flex: 0 0 50%;
2418
+ flex: 0 0 50%;
2419
+ max-width: 50%;
2420
+ }
2421
+ .wl-columns-tablet-3 .wl-row > [class*="col-"]{
2422
+ -webkit-box-flex: 0;
2423
+ -webkit-flex: 0 0 33.333%;
2424
+ -ms-flex: 0 0 33.333%;
2425
+ flex: 0 0 33.333%;
2426
+ max-width: 33.333%;
2427
+ }
2428
+ .wl-columns-tablet-4 .wl-row > [class*="col-"]{
2429
+ -webkit-box-flex: 0;
2430
+ -webkit-flex: 0 0 25%;
2431
+ -ms-flex: 0 0 25%;
2432
+ flex: 0 0 25%;
2433
+ max-width: 25%;
2434
+ }
2435
+ .wl-columns-tablet-5 .wl-row > [class*="col-"]{
2436
+ -webkit-box-flex: 0;
2437
+ -webkit-flex: 0 0 20%;
2438
+ -ms-flex: 0 0 20%;
2439
+ flex: 0 0 20%;
2440
+ max-width: 20%;
2441
+ }
2442
+ .wl-columns-tablet-6 .wl-row > [class*="col-"]{
2443
+ -webkit-box-flex: 0;
2444
+ -webkit-flex: 0 0 16.666%;
2445
+ -ms-flex: 0 0 16.666%;
2446
+ flex: 0 0 16.666%;
2447
+ max-width: 16.666%;
2448
+ }
2449
+ .wl-columns-tablet-7 .wl-row > [class*="col-"]{
2450
+ -webkit-box-flex: 0;
2451
+ -webkit-flex: 0 0 14.285%;
2452
+ -ms-flex: 0 0 14.285%;
2453
+ flex: 0 0 14.285%;
2454
+ max-width: 14.285%;
2455
+ }
2456
+ .wl-columns-tablet-8 .wl-row > [class*="col-"]{
2457
+ -webkit-box-flex: 0;
2458
+ -webkit-flex: 0 0 12.5%;
2459
+ -ms-flex: 0 0 12.5%;
2460
+ flex: 0 0 12.5%;
2461
+ max-width: 12.5%;
2462
+ }
2463
+ .wl-columns-tablet-9 .wl-row > [class*="col-"]{
2464
+ -webkit-box-flex: 0;
2465
+ -webkit-flex: 0 0 11.111%;
2466
+ -ms-flex: 0 0 11.111%;
2467
+ flex: 0 0 11.111%;
2468
+ max-width: 11.111%;
2469
+ }
2470
+ .wl-columns-tablet-10 .wl-row > [class*="col-"]{
2471
+ -webkit-box-flex: 0;
2472
+ -webkit-flex: 0 0 10%;
2473
+ -ms-flex: 0 0 10%;
2474
+ flex: 0 0 10%;
2475
+ max-width: 10%;
2476
+ }
2477
 
 
 
 
2478
  }
2479
 
2480
+ /* small mobile :320px. */
2481
+ @media (max-width: 767px) {
2482
+ .cus-col-5.ht-col-md-6 {
2483
+ flex: 0 0 100%;
2484
+ max-width: 100%;
2485
+ }
2486
+ .woolentor-banner-img,.woolentor-content{
2487
+ float: none;
2488
+ }
2489
+ .product-tab-list .nav a {
2490
+ margin-bottom: 10px;
2491
+ margin-right: 10px;
2492
+ padding: 5px 10px;
2493
+ }
2494
+ .elementor-section .elementor-container {
2495
+ padding: 0 15px;
2496
+ }
2497
+ .elementor-section.elementor-section-full_width .elementor-container {
2498
+ padding: 0;
2499
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2500
 
2501
  .woolentor-notification-content {
2502
  width: 90%;
2576
  max-width: 10%;
2577
  }
2578
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2579
  }
2580
 
2581
  /* Large Mobile :480px. */
2582
  @media only screen and (min-width: 480px) and (max-width: 767px) {
2583
 
2584
  }
 
 
 
 
assets/images/check.png DELETED
Binary file
assets/images/selector-icon.png DELETED
Binary file
assets/js/accordion.min.js DELETED
@@ -1,9 +0,0 @@
1
- /*!
2
- * Accordion v2.8.0
3
- * Simple accordion created in pure Javascript.
4
- * https://github.com/michu2k/Accordion
5
- *
6
- * Copyright 2017-2019 Michał Strumpf
7
- * Published under MIT License
8
- */
9
- "use strict";!function(i){function u(o,l){var c=this,t={init:function(){if(Array.isArray(o))return o.length&&o.map(function(e){return new u(e,l)}),!1;this.options=h({duration:600,itemNumber:0,aria:!0,closeOthers:!0,showItem:!1,elementClass:"ac",questionClass:"ac-q",answerClass:"ac-a",targetClass:"ac-target",onToggle:function(){}},l),this.container=document.querySelector(o),this.elements=this.container.querySelectorAll("."+this.options.elementClass);var e=this.options,t=e.aria,n=e.showItem,i=e.itemNumber;t&&this.container.setAttribute("role","tablist");for(var s=0;s<this.elements.length;s++){var r=this.elements[s];r.classList.add("js-enabled"),this.hideElement(r),this.setTransition(r),this.generateID(r),t&&this.setARIA(r)}if(n){var a=this.elements[0];"number"==typeof i&&i<this.elements.length&&(a=this.elements[i]),this.toggleElement(a,!1)}c.attachEvents()},setTransition:function(e){var t=this.options,n=t.duration,i=t.answerClass,s=e.querySelector("."+i),r=a("transition");s.style[r]=n+"ms"},generateID:function(e){e.setAttribute("id","ac-".concat(s)),s++},setARIA:function(e){var t=this.options,n=t.questionClass,i=t.answerClass,s=e.querySelector("."+n),r=e.querySelector("."+i);s.setAttribute("role","tab"),s.setAttribute("aria-expanded","false"),r.setAttribute("role","tabpanel")},updateARIA:function(e,t){var n=this.options.questionClass;e.querySelector("."+n).setAttribute("aria-expanded",t)},callSpecificElement:function(e){for(var t=e.target,n=this.options,i=n.questionClass,s=n.targetClass,r=n.closeOthers,a=0;a<this.elements.length;a++)if(this.elements[a].contains(t)){(t.className.match(i)||t.className.match(s))&&(e.preventDefault(),r&&this.closeAllElements(a),this.toggleElement(this.elements[a]));break}},hideElement:function(e){var t=this.options.answerClass;e.querySelector("."+t).style.height=0},toggleElement:function(e,t){var n,i=!(1<arguments.length&&void 0!==t)||t,s=this.options,r=s.answerClass,a=s.aria,o=s.onToggle,l=e.querySelector("."+r),c=l.scrollHeight;e.classList.toggle("is-active"),i||(l.style.height="auto"),0<parseInt(l.style.height)?(n=!1,requestAnimationFrame(function(){l.style.height=0})):(n=!0,requestAnimationFrame(function(){l.style.height=c+"px"})),a&&this.updateARIA(e,n),i&&o(e,this.elements)},closeAllElements:function(e){for(var t=this.options.aria,n=this.elements.length,i=0;i<n;i++)if(i!=e){var s=this.elements[i];s.classList.contains("is-active")&&s.classList.remove("is-active"),t&&this.updateARIA(s,!1),this.hideElement(s)}},resizeHandler:function(){for(var e,t,n=this.options,i=n.elementClass,s=n.answerClass,r=this.container.querySelectorAll("."+i+".is-active"),a=0;a<r.length;a++)t=r[a].querySelector("."+s),requestAnimationFrame(function(){t.style.height="auto",e=t.offsetHeight,requestAnimationFrame(function(){t.style.height=e+"px"})})},clickHandler:function(e){this.callSpecificElement(e)},keydownHandler:function(e){13===e.keyCode&&this.callSpecificElement(e)}};this.attachEvents=function(){var e=t;e.clickHandler=e.clickHandler.bind(e),e.keydownHandler=e.keydownHandler.bind(e),e.resizeHandler=e.resizeHandler.bind(e),e.container.addEventListener("click",e.clickHandler),e.container.addEventListener("keydown",e.keydownHandler),i.addEventListener("resize",e.resizeHandler)},this.detachEvents=function(){var e=t;e.container.removeEventListener("click",e.clickHandler),e.container.removeEventListener("keydown",e.keydownHandler),i.removeEventListener("resize",e.resizeHandler)};var a=function(e){return"string"==typeof document.documentElement.style[e]?e:(e=n(e),e="webkit".concat(e))},n=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},h=function(e,t){for(var n in t)e[n]=t[n];return e};i.requestAnimationFrame=i.requestAnimationFrame||i.webkitRequestAnimationFrame||function(e){i.setTimeout(e,1e3/60)},t.init()}var s=0;"undefined"!=typeof module&&void 0!==module.exports?module.exports=u:i.Accordion=u}(window);
 
 
 
 
 
 
 
 
 
assets/js/select2.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! Select2 4.1.0-beta.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
- !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,i,h,s,o,f,g,m,v,y,_,r,a,b;function w(e,t){return r.call(e,t)}function l(e,t){var n,i,r,s,o,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(o=(e=e.split("/")).length-1,y.nodeIdCompat&&b.test(e[o])&&(e[o]=e[o].replace(b,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(i=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(r=(r=f[h.slice(0,d).join("/")])&&r[i]){s=r,a=u;break}if(s)break;!l&&g&&g[i]&&(l=g[i],c=u)}!s&&l&&(s=l,a=c),s&&(n.splice(0,a,s),e=n.join("/"))}return e}function x(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),o.apply(h,e.concat([t,n]))}}function A(t){return function(e){m[t]=e}}function D(e){if(w(v,e)){var t=v[e];delete v[e],_[e]=!0,s.apply(h,t)}if(!w(m,e)&&!w(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},r=Object.prototype.hasOwnProperty,a=[].slice,b=/\.js$/,f=function(e,t){var n,i=c(e),r=i[0],s=t[1];return e=i[1],r&&(n=D(r=l(r,s))),r?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return l(e,t)}}(s)):l(e,s):(r=(i=c(e=l(e,s)))[0],e=i[1],r&&(n=D(r))),{f:r?r+"!"+e:e,n:e,pr:r,p:n}},g={require:function(e){return x(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},s=function(e,t,n,i){var r,s,o,a,l,c,u,d=[],p=typeof n;if(c=S(i=i||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(s=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===s)d[l]=g.exports(e),u=!0;else if("module"===s)r=d[l]=g.module(e);else if(w(m,s)||w(v,s)||w(_,s))d[l]=D(s);else{if(!a.p)throw new Error(e+" missing "+s);a.p.load(a.n,x(i,!0),A(s),{}),d[l]=m[s]}o=n?n.apply(m[e],d):void 0,e&&(r&&r.exports!==h&&r.exports!==m[e]?m[e]=r.exports:o===h&&u||(m[e]=o))}else e&&(m[e]=n)},t=n=o=function(e,t,n,i,r){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&o(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=i,i=r),i?s(h,e,t,n):setTimeout(function(){s(h,e,t,n)},4),o},o.config=function(e){return o(e)},t._defined=m,(i=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),w(m,e)||w(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=i),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(s){var r={};function u(e){var t=e.prototype,n=[];for(var i in t){"function"==typeof t[i]&&"constructor"!==i&&n.push(i)}return n}r.Extend=function(e,t){var n={}.hasOwnProperty;function i(){this.constructor=e}for(var r in t)n.call(t,r)&&(e[r]=t[r]);return i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype,e},r.Decorate=function(i,r){var e=u(r),t=u(i);function s(){var e=Array.prototype.unshift,t=r.prototype.constructor.length,n=i.prototype.constructor;0<t&&(e.call(arguments,i.prototype.constructor),n=r.prototype.constructor),n.apply(this,arguments)}r.displayName=i.displayName,s.prototype=new function(){this.constructor=s};for(var n=0;n<t.length;n++){var o=t[n];s.prototype[o]=i.prototype[o]}function a(e){var t=function(){};e in s.prototype&&(t=s.prototype[e]);var n=r.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];s.prototype[c]=a(c)}return s};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,i=e.length;n<i;n++)e[n].apply(this,t)},r.Observable=e,r.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},r.bind=function(e,t){return function(){e.apply(t,arguments)}},r._convertData=function(e){for(var t in e){var n=t.split("-"),i=e;if(1!==n.length){for(var r=0;r<n.length;r++){var s=n[r];(s=s.substring(0,1).toLowerCase()+s.substring(1))in i||(i[s]={}),r==n.length-1&&(i[s]=e[t]),i=i[s]}delete e[t]}}return e},r.hasScroll=function(e,t){var n=s(t),i=t.style.overflowX,r=t.style.overflowY;return(i!==r||"hidden"!==r&&"visible"!==r)&&("scroll"===i||"scroll"===r||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},r.escapeMarkup=function(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},r.__cache={};var n=0;return r.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null!=t||(t=e.id?"select2-data-"+e.id:"select2-data-"+(++n).toString()+"-"+r.generateChars(4),e.setAttribute("data-select2-id",t)),t},r.StoreData=function(e,t,n){var i=r.GetUniqueElementId(e);r.__cache[i]||(r.__cache[i]={}),r.__cache[i][t]=n},r.GetData=function(e,t){var n=r.GetUniqueElementId(e);return t?r.__cache[n]&&null!=r.__cache[n][t]?r.__cache[n][t]:s(e).data(t):r.__cache[n]},r.RemoveData=function(e){var t=r.GetUniqueElementId(e);null!=r.__cache[t]&&delete r.__cache[t],e.removeAttribute("data-select2-id")},r.copyNonInternalCssClasses=function(e,t){var n=e.getAttribute("class").trim().split(/\s+/);n=n.filter(function(e){return 0===e.indexOf("select2-")});var i=t.getAttribute("class").trim().split(/\s+/);i=i.filter(function(e){return 0!==e.indexOf("select2-")});var r=n.concat(i);e.setAttribute("class",r.join(" "))},r}),e.define("select2/results",["jquery","./utils"],function(h,f){function i(e,t,n){this.$element=e,this.data=n,this.options=t,i.__super__.constructor.call(this)}return f.Extend(i,f.Observable),i.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},i.prototype.clear=function(){this.$results.empty()},i.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),i=this.options.get("translations").get(e.message);n.append(t(i(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},i.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},i.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var i=e.results[n],r=this.option(i);t.push(r)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},i.prototype.position=function(e,t){t.find(".select2-results").append(e)},i.prototype.sort=function(e){return this.options.get("sorter")(e)},i.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option--selectable"),t=e.filter(".select2-results__option--selected");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},i.prototype.setClasses=function(){var t=this;this.data.current(function(e){var i=e.map(function(e){return e.id.toString()});t.$results.find(".select2-results__option--selectable").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<i.indexOf(n)?(this.classList.add("select2-results__option--selected"),e.attr("aria-selected","true")):(this.classList.remove("select2-results__option--selected"),e.attr("aria-selected","false"))})})},i.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},i.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},i.prototype.option=function(e){var t=document.createElement("li");t.classList.add("select2-results__option"),t.classList.add("select2-results__option--selectable");var n={role:"option"},i=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var r in(null!=e.element&&i.call(e.element,":disabled")||null==e.element&&e.disabled)&&(n["aria-disabled"]="true",t.classList.remove("select2-results__option--selectable"),t.classList.add("select2-results__option--disabled")),null==e.id&&t.classList.remove("select2-results__option--selectable"),null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,t.classList.remove("select2-results__option--selectable"),t.classList.add("select2-results__option--group")),n){var s=n[r];t.setAttribute(r,s)}if(e.children){var o=h(t),a=document.createElement("strong");a.className="select2-results__group",this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),o.append(a),o.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},i.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");e.hasClass("select2-results__option--selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find(".select2-results__option--selectable"),n=t.index(e);if(!(n<=0)){var i=n-1;0===e.length&&(i=0);var r=t.eq(i);r.trigger("mouseenter");var s=l.$results.offset().top,o=r.offset().top,a=l.$results.scrollTop()+(o-s);0===i?l.$results.scrollTop(0):o-s<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find(".select2-results__option--selectable"),n=t.index(e)+1;if(!(n>=t.length)){var i=t.eq(n);i.trigger("mouseenter");var r=l.$results.offset().top+l.$results.outerHeight(!1),s=i.offset().top+i.outerHeight(!1),o=l.$results.scrollTop()+s-r;0===n?l.$results.scrollTop(0):r<s&&l.$results.scrollTop(o)}}),t.on("results:focus",function(e){e.element[0].classList.add("select2-results__option--highlighted"),e.element[0].setAttribute("aria-selected","true")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,i=0<e.deltaY&&t-e.deltaY<=0,r=e.deltaY<0&&n<=l.$results.height();i?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):r&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option--selectable",function(e){var t=h(this),n=f.GetData(this,"data");t.hasClass("select2-results__option--selected")?l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{}):l.trigger("select",{originalEvent:e,data:n})}),this.$results.on("mouseenter",".select2-results__option--selectable",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted").attr("aria-selected","false"),l.trigger("results:focus",{data:t,element:h(this)})})},i.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},i.prototype.destroy=function(){this.$results.remove()},i.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find(".select2-results__option--selectable").index(e),n=this.$results.offset().top,i=e.offset().top,r=this.$results.scrollTop()+(i-n),s=i-n;r-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(s>this.$results.outerHeight()||s<0)&&this.$results.scrollTop(r)}},i.prototype.template=function(e,t){var n=this.options.get("templateResult"),i=this.options.get("escapeMarkup"),r=n(e,t);null==r?t.style.display="none":"string"==typeof r?t.innerHTML=i(r):h(t).append(r)},i}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,i,r){function s(e,t){this.$element=e,this.options=t,s.__super__.constructor.call(this)}return i.Extend(s,i.Observable),s.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=i.GetData(this.$element[0],"old-tabindex")?this._tabindex=i.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},s.prototype.bind=function(e,t){var n=this,i=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===r.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",i),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},s.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},s.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&i.GetData(this,"element").select2("close")})})},s.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},s.prototype.position=function(e,t){t.find(".selection").append(e)},s.prototype.destroy=function(){this._detachCloseHandler(this.container)},s.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},s.prototype.isEnabled=function(){return!this.isDisabled()},s.prototype.isDisabled=function(){return this.options.get("disabled")},s}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,i){function r(){r.__super__.constructor.apply(this,arguments)}return n.Extend(r,t),r.prototype.render=function(){var e=r.__super__.render.call(this);return e[0].classList.add("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},r.prototype.bind=function(t,e){var n=this;r.__super__.bind.apply(this,arguments);var i=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",i),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},r.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},r.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},r.prototype.selectionContainer=function(){return e("<span></span>")},r.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),i=this.display(t,n);n.empty().append(i);var r=t.title||t.text;r?n.attr("title",r):n.removeAttr("title")}else this.clear()},r}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(r,e,d){function s(e,t){s.__super__.constructor.apply(this,arguments)}return d.Extend(s,e),s.prototype.render=function(){var e=s.__super__.render.call(this);return e[0].classList.add("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},s.prototype.bind=function(e,t){var i=this;s.__super__.bind.apply(this,arguments);var n=e.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",n),this.$selection.on("click",function(e){i.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!i.isDisabled()){var t=r(this).parent(),n=d.GetData(t[0],"data");i.trigger("unselect",{originalEvent:e,data:n})}}),this.$selection.on("keydown",".select2-selection__choice__remove",function(e){i.isDisabled()||e.stopPropagation()})},s.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},s.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},s.prototype.selectionContainer=function(){return r('<li class="select2-selection__choice"><button type="button" class="select2-selection__choice__remove" tabindex="-1"><span aria-hidden="true">&times;</span></button><span class="select2-selection__choice__display"></span></li>')},s.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=this.$selection.find(".select2-selection__rendered").attr("id")+"-choice-",i=0;i<e.length;i++){var r=e[i],s=this.selectionContainer(),o=this.display(r,s),a=n+d.generateChars(4)+"-";r.id?a+=r.id:a+=d.generateChars(4),s.find(".select2-selection__choice__display").append(o).attr("id",a);var l=r.title||r.text;l&&s.attr("title",l);var c=this.options.get("translations").get("removeItem"),u=s.find(".select2-selection__choice__remove");u.attr("title",c()),u.attr("aria-label",c()),u.attr("aria-describedby",a),d.StoreData(s[0],"data",r),t.push(s)}this.$selection.find(".select2-selection__rendered").append(t)}},s}),e.define("select2/selection/placeholder",[],function(){function e(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n[0].classList.add("select2-selection__placeholder"),n[0].classList.remove("select2-selection__choice"),n},e.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var i=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(i)},e}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(s,i,a){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var i=a.GetData(n[0],"data"),r=this.$element.val();this.$element.val(this.placeholder.id);var s={data:i};if(this.trigger("clear",s),s.prevented)this.$element.val(r);else{for(var o=0;o<i.length;o++)if(s={data:i[o]},this.trigger("unselect",s),s.prevented)return void this.$element.val(r);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=i.DELETE&&t.which!=i.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),this.$selection.find(".select2-selection__clear").remove(),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.$selection.find(".select2-selection__rendered").attr("id"),i=this.options.get("translations").get("removeAllItems"),r=s('<button type="button" class="select2-selection__clear" tabindex="-1"><span aria-hidden="true">&times;</span></button>');r.attr("title",i()),r.attr("aria-label",i()),r.attr("aria-describedby",n),a.StoreData(r[0],"data",t),this.$selection.prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(i,l,c){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=i('<span class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');this.$searchContainer=t,this.$search=t.find("input"),this.$search.prop("autocomplete",this.options.get("autocomplete"));var n=e.call(this);return this._transferTabIndex(),n.append(this.$searchContainer),n},e.prototype.bind=function(e,t,n){var i=this,r=t.id+"-results",s=t.id+"-container";e.call(this,t,n),i.$search.attr("aria-describedby",s),t.on("open",function(){i.$search.attr("aria-controls",r),i.$search.trigger("focus")}),t.on("close",function(){i.$search.val(""),i.resizeSearch(),i.$search.removeAttr("aria-controls"),i.$search.removeAttr("aria-activedescendant"),i.$search.trigger("focus")}),t.on("enable",function(){i.$search.prop("disabled",!1),i._transferTabIndex()}),t.on("disable",function(){i.$search.prop("disabled",!0)}),t.on("focus",function(e){i.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?i.$search.attr("aria-activedescendant",e.data._resultId):i.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){i.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){i._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),i.trigger("keypress",e),i._keyUpPrevented=e.isDefaultPrevented(),e.which===c.BACKSPACE&&""===i.$search.val()){var t=i.$selection.find(".select2-selection__choice").last();if(0<t.length){var n=l.GetData(t[0],"data");i.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){i.$search.val()&&e.stopPropagation()});var o=document.documentMode,a=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){a?i.$selection.off("input.search input.searchcheck"):i.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(a&&"input"===e.type)i.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=c.SHIFT&&t!=c.CTRL&&t!=c.ALT&&t!=c.TAB&&i.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="100%";""===this.$search.attr("placeholder")&&(e=.75*(this.$search.val().length+1)+"em");this.$search.css("width",e)},e}),e.define("select2/selection/selectionCss",["../utils"],function(i){function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("selectionCssClass")||"";return-1!==n.indexOf(":all:")&&(n=n.replace(":all:",""),i.copyNonInternalCssClasses(t[0],this.$element[0])),t.addClass(n),t},e}),e.define("select2/selection/eventRelay",["jquery"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var i=this,r=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],s=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==r.indexOf(e)){t=t||{};var n=o.Event("select2:"+e,{params:t});i.$element.trigger(n),-1!==s.indexOf(e)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function i(e){this.dict=e||{}}return i.prototype.all=function(){return this.dict},i.prototype.get=function(e){return this.dict[e]},i.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},i._cache={},i.loadPath=function(e){if(!(e in i._cache)){var t=n(e);i._cache[e]=t}return new i(i._cache[e])},i}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(i){function n(e,t){n.__super__.constructor.call(this)}return i.Extend(n,i.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=i.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+i.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,l,c){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return l.Extend(n,e),n.prototype.current=function(e){var t=this;e(Array.prototype.map.call(this.$element[0].querySelectorAll(":checked"),function(e){return t.item(c(e))}))},n.prototype.select=function(r){var s=this;if(r.selected=!0,null!=r.element&&"option"===r.element.tagName.toLowerCase())return r.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(r=[r]).push.apply(r,e);for(var n=0;n<r.length;n++){var i=r[n].id;-1===t.indexOf(i)&&t.push(i)}s.$element.val(t),s.$element.trigger("input").trigger("change")});else{var e=r.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(r){var s=this;if(this.$element.prop("multiple")){if(r.selected=!1,null!=r.element&&"option"===r.element.tagName.toLowerCase())return r.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n].id;i!==r.id&&-1===t.indexOf(i)&&t.push(i)}s.$element.val(t),s.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){l.RemoveData(this)})},n.prototype.query=function(i,e){var r=[],s=this;this.$element.children().each(function(){if("option"===this.tagName.toLowerCase()||"optgroup"===this.tagName.toLowerCase()){var e=c(this),t=s.item(e),n=s.matches(i,t);null!==n&&r.push(n)}}),e({results:r})},n.prototype.addOptions=function(e){this.$element.append(e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=this._normalizeItem(e);return n.element=t,l.StoreData(t,"data",n),c(t)},n.prototype.item=function(e){var t={};if(null!=(t=l.GetData(e[0],"data")))return t;var n=e[0];if("option"===n.tagName.toLowerCase())t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if("optgroup"===n.tagName.toLowerCase()){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var i=e.children("option"),r=[],s=0;s<i.length;s++){var o=c(i[s]),a=this.item(o);r.push(a)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],l.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=c.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),c.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,t,f){function i(e,t){this._dataToConvert=t.get("data")||[],i.__super__.constructor.call(this,e,t)}return t.Extend(i,e),i.prototype.bind=function(e,t){i.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},i.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),i.__super__.select.call(this,n)},i.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),i=n.map(function(){return t.item(f(this)).id}).get(),r=[];function s(e){return function(){return f(this).val()==e.id}}for(var o=0;o<e.length;o++){var a=this._normalizeItem(e[o]);if(0<=i.indexOf(a.id)){var l=n.filter(s(a)),c=this.item(l),u=f.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);p.append(h)}r.push(p)}}return r},i}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,s){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return s.extend({},e,{q:e.term})},transport:function(e,t,n){var i=s.ajax(e);return i.then(t),i.fail(n),i}};return s.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,i){var r=this;null!=this._request&&(s.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=s.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=r.processResults(e,n);r.options.get("debug")&&window.console&&console.error&&(t&&t.results&&Array.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),i(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||r.trigger("results:message",{message:"errorLoading"})});r._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(t){function e(e,t,n){var i=n.get("tags"),r=n.get("createTag");void 0!==r&&(this.createTag=r);var s=n.get("insertTag");if(void 0!==s&&(this.insertTag=s),e.call(this,t,n),Array.isArray(i))for(var o=0;o<i.length;o++){var a=i[o],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var i=t.results,r=0;r<i.length;r++){var s=i[r],o=null!=s.children&&!e({results:s.children},!0);if((s.text||"").toUpperCase()===(c.term||"").toUpperCase()||o)return!n&&(t.data=i,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(i,a)}t.results=i,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){if(null==t.term)return null;var n=t.term.trim();return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||t(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var i=n.get("tokenizer");void 0!==i&&(this.tokenizer=i),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var i=this;t.term=t.term||"";var r=this.tokenizer(t,this.options,function(e){var t=i._normalizeItem(e);if(!i.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=i.option(t);n.attr("data-select2-tag",!0),i._removeOldTags(),i.addOptions([n])}!function(e){i.trigger("select",{data:e})}(t)});r.term!==t.term&&(this.$search.length&&(this.$search.val(r.term),this.$search.trigger("focus")),t.term=r.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,i){for(var r=n.get("tokenSeparators")||[],s=t.term,o=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};o<s.length;){var l=s[o];if(-1!==r.indexOf(l)){var c=s.substr(0,o),u=a(d.extend({},t,{term:c}));null!=u?(i(u),s=s.substr(o+1)||"",o=0):o++}else o++}return{term:s}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(){i._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var i=this;this._checkIfMaximumSelected(function(){e.call(i,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var i=this;this.current(function(e){var t=null!=e?e.length:0;0<i.maximumSelectionLength&&t>=i.maximumSelectionLength?i.trigger("results:message",{message:"maximumSelected",args:{maximum:i.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery"],function(s){function e(){}return e.prototype.render=function(e){var t=e.call(this),n=s('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),this.$search.prop("autocomplete",this.options.get("autocomplete")),t.prepend(n),t},e.prototype.bind=function(e,t,n){var i=this,r=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){i.trigger("keypress",e),i._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){s(this).off("keyup")}),this.$search.on("keyup input",function(e){i.handleSearch(e)}),t.on("open",function(){i.$search.attr("tabindex",0),i.$search.attr("aria-controls",r),i.$search.trigger("focus"),window.setTimeout(function(){i.$search.trigger("focus")},0)}),t.on("close",function(){i.$search.attr("tabindex",-1),i.$search.removeAttr("aria-controls"),i.$search.removeAttr("aria-activedescendant"),i.$search.val(""),i.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||i.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(i.showSearch(e)?i.$searchContainer[0].classList.remove("select2-search--hide"):i.$searchContainer[0].classList.add("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?i.$search.attr("aria-activedescendant",e.data._resultId):i.$search.removeAttr("aria-activedescendant")})},e.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},e.prototype.showSearch=function(e,t){return!0},e}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;0<=i;i--){var r=t[i];this.placeholder.id===r.id&&n.splice(i,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("query",function(e){i.lastParams=e,i.loading=!0}),t.on("query:append",function(e){i.lastParams=e,i.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),i._bindContainerResultHandlers(t)}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t[0].classList.remove("select2"),t[0].classList.add("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,i="scroll.select2."+t.id,r="resize.select2."+t.id,s="orientationchange.select2."+t.id,o=this.$container.parents().filter(a.hasScroll);o.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),o.on(i,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(i+" "+r+" "+s,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,i="resize.select2."+t.id,r="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+i+" "+r)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown[0].classList.contains("select2-dropdown--above"),n=this.$dropdown[0].classList.contains("select2-dropdown--below"),i=null,r=this.$container.offset();r.bottom=r.top+this.$container.outerHeight(!1);var s={height:this.$container.outerHeight(!1)};s.top=r.top,s.bottom=r.top+s.height;var o=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<r.top-o,u=l>r.bottom+o,d={left:r.left,top:s.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(i="below"),u||!c||t?!c&&u&&t&&(i="below"):i="above",("above"==i||t&&"below"!==i)&&(d.top=s.top-h.top-o),null!=i&&(this.$dropdown[0].classList.remove("select2-dropdown--below"),this.$dropdown[0].classList.remove("select2-dropdown--above"),this.$dropdown[0].classList.add("select2-dropdown--"+i),this.$container[0].classList.remove("select2-container--below"),this.$container[0].classList.remove("select2-container--above"),this.$container[0].classList.add("select2-container--"+i)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,i){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,i)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,i=0;i<t.length;i++){var r=t[i];r.children?n+=e(r.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("close",function(e){i._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var i=this.getHighlightedResults();if(!(i.length<1)){var r=s.GetData(i[0],"data");null!=r.element&&r.element.selected||null==r.element&&r.selected||this.trigger("select",{data:r})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(e){i._selectTriggered(e)}),t.on("unselect",function(e){i._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/dropdown/dropdownCss",["../utils"],function(i){function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("dropdownCssClass")||"";return-1!==n.indexOf(":all:")&&(n=n.replace(":all:",""),i.copyNonInternalCssClasses(t[0],this.$element[0])),t.addClass(n),t},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"},removeItem:function(){return"Remove item"}}}),e.define("select2/defaults",["jquery","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/selectionCss","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./dropdown/dropdownCss","./i18n/en"],function(l,s,o,a,c,u,d,p,h,f,g,t,m,v,y,_,b,$,w,x,A,D,S,E,O,C,L,T,q,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=l.extend(!0,{},this.defaults,e)).dataAdapter&&(null!=e.ajax?e.dataAdapter=y:null!=e.data?e.dataAdapter=v:e.dataAdapter=m,0<e.minimumInputLength&&(e.dataAdapter=f.Decorate(e.dataAdapter,$)),0<e.maximumInputLength&&(e.dataAdapter=f.Decorate(e.dataAdapter,w)),0<e.maximumSelectionLength&&(e.dataAdapter=f.Decorate(e.dataAdapter,x)),e.tags&&(e.dataAdapter=f.Decorate(e.dataAdapter,_)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=f.Decorate(e.dataAdapter,b))),null==e.resultsAdapter&&(e.resultsAdapter=s,null!=e.ajax&&(e.resultsAdapter=f.Decorate(e.resultsAdapter,E)),null!=e.placeholder&&(e.resultsAdapter=f.Decorate(e.resultsAdapter,S)),e.selectOnClose&&(e.resultsAdapter=f.Decorate(e.resultsAdapter,L))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=A;else{var t=f.Decorate(A,D);e.dropdownAdapter=t}0!==e.minimumResultsForSearch&&(e.dropdownAdapter=f.Decorate(e.dropdownAdapter,C)),e.closeOnSelect&&(e.dropdownAdapter=f.Decorate(e.dropdownAdapter,T)),null!=e.dropdownCssClass&&(e.dropdownAdapter=f.Decorate(e.dropdownAdapter,q)),e.dropdownAdapter=f.Decorate(e.dropdownAdapter,O)}null==e.selectionAdapter&&(e.multiple?e.selectionAdapter=a:e.selectionAdapter=o,null!=e.placeholder&&(e.selectionAdapter=f.Decorate(e.selectionAdapter,c)),e.allowClear&&(e.selectionAdapter=f.Decorate(e.selectionAdapter,u)),e.multiple&&(e.selectionAdapter=f.Decorate(e.selectionAdapter,d)),null!=e.selectionCssClass&&(e.selectionAdapter=f.Decorate(e.selectionAdapter,p)),e.selectionAdapter=f.Decorate(e.selectionAdapter,h)),e.language=this._resolveLanguage(e.language),e.language.push("en");for(var n=[],i=0;i<e.language.length;i++){var r=e.language[i];-1===n.indexOf(r)&&n.push(r)}return e.language=n,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdLanguageBase:"./i18n/",autocomplete:"off",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:f.escapeMarkup,language:{},matcher:function e(t,n){if(null==t.term||""===t.term.trim())return n;if(n.children&&0<n.children.length){for(var i=l.extend(!0,{},n),r=n.children.length-1;0<=r;r--)null==e(t,n.children[r])&&i.children.splice(r,1);return 0<i.children.length?i:e(t,i)}var s=a(n.text).toUpperCase(),o=a(t.term).toUpperCase();return-1<s.indexOf(o)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,i=this.defaults.language,r=t.prop("lang"),s=t.closest("[lang]").prop("lang"),o=Array.prototype.concat.call(this._resolveLanguage(r),this._resolveLanguage(n),this._resolveLanguage(i),this._resolveLanguage(s));return e.language=o,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(l.isEmptyObject(e))return[];if(l.isPlainObject(e))return[e];var t;t=Array.isArray(e)?e:[e];for(var n=[],i=0;i<t.length;i++)if(n.push(t[i]),"string"==typeof t[i]&&0<t[i].indexOf("-")){var r=t[i].split("-")[0];n.push(r)}return n},n.prototype._processTranslations=function(e,t){for(var n=new g,i=0;i<e.length;i++){var r=new g,s=e[i];if("string"==typeof s)try{r=g.loadPath(s)}catch(e){try{s=this.defaults.amdLanguageBase+s,r=g.loadPath(s)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+s+'" could not be automatically loaded. A fallback will be used instead.')}}else r=l.isPlainObject(s)?new g(s):s;n.extend(r)}return n},n.prototype.set=function(e,t){var n={};n[l.camelCase(e)]=t;var i=f._convertData(n);l.extend(!0,this.defaults,i)},new n}),e.define("select2/options",["jquery","./defaults","./utils"],function(d,n,p){function e(e,t){this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=n.applyFromElement(this.options,t)),this.options=n.apply(this.options)}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.autocomplete&&e.prop("autocomplete")&&(this.options.autocomplete=e.prop("autocomplete")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function i(e,t){return t.toUpperCase()}for(var r=0;r<e[0].attributes.length;r++){var s=e[0].attributes[r].name,o="data-";if(s.substr(0,o.length)==o){var a=s.substring(o.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,i)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<t.indexOf(u)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(t,c,u,i){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var i=this.options.get("dataAdapter");this.dataAdapter=new i(e,this.options);var r=this.render();this._placeContainer(r);var s=this.options.get("selectionAdapter");this.selection=new s(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,r);var o=this.options.get("dropdownAdapter");this.dropdown=new o(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,r);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e[0].classList.add("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var i=this._resolveWidth(e,"style");return null!=i?i:this._resolveWidth(e,"element")}if("element"==t){var r=e.outerWidth(!1);return r<=0?"auto":r+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var s=e.attr("style");if("string"!=typeof s)return null;for(var o=s.split(";"),a=0,l=o.length;a<l;a+=1){var c=o[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this._observer=new window.MutationObserver(function(e){t._syncA(),t._syncS(e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,i=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===i.indexOf(e)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container[0].classList.add("select2-container--open")}),this.on("close",function(){n.$container[0].classList.remove("select2-container--open")}),this.on("enable",function(){n.$container[0].classList.remove("select2-container--disabled")}),this.on("disable",function(){n.$container[0].classList.add("select2-container--disabled")}),this.on("blur",function(){n.$container[0].classList.remove("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===i.ESC||t===i.TAB||t===i.UP&&e.altKey?(n.close(e),e.preventDefault()):t===i.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===i.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===i.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===i.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===i.ENTER||t===i.SPACE||t===i.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e){var t=this;if(e.addedNodes&&0<e.addedNodes.length)for(var n=0;n<e.addedNodes.length;n++){if(e.addedNodes[n].selected)return!0}else{if(e.removedNodes&&0<e.removedNodes.length)return!0;if(Array.isArray(e))return e.some(function(e){return t._isChangeMutation(e)})}return!1},d.prototype._syncSubtree=function(e){var t=this._isChangeMutation(e),n=this;t&&this.dataAdapter.current(function(e){n.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in i){var r=i[e],s={prevented:!1,name:e,args:t};if(n.call(this,r,s),s.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container[0].classList.contains("select2-container--open")},d.prototype.hasFocus=function(){return this.$container[0].classList.contains("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container[0].classList.add("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];Array.isArray(t)&&(t=t.map(function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this._observer.disconnect(),this._observer=null,this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element[0].classList.remove("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=t('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container[0].classList.add("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(r,e,s,t,o){if(null==r.fn.select2){var a=["open","close","destroy"];r.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=r.extend(!0,{},t);new s(r(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,i=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=o.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,i)}),-1<a.indexOf(t)?this:n}}return null==r.fn.select2.defaults&&(r.fn.select2.defaults=t),s}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t});
 
 
assets/js/single_product_ajax_add_to_cart.js CHANGED
@@ -6,55 +6,24 @@
6
 
7
  var $this = $(this),
8
  $form = $this.closest('form.cart'),
9
- all_data = $form.serialize(),
10
  product_qty = $form.find('input[name=quantity]').val() || 1,
11
  product_id = $form.find('input[name=product_id]').val() || $this.val(),
12
  variation_id = $form.find('input[name=variation_id]').val() || 0;
13
 
14
- /* For Variation product */
15
- var item = {},
16
- variations = $form.find( 'select[name^=attribute]' );
17
- if ( !variations.length) {
18
- variations = $form.find( '[name^=attribute]:checked' );
19
- }
20
- if ( !variations.length) {
21
- variations = $form.find( 'input[name^=attribute]' );
22
- }
23
-
24
- variations.each( function() {
25
- var $thisitem = $( this ),
26
- attributeName = $thisitem.attr( 'name' ),
27
- attributevalue = $thisitem.val(),
28
- index,
29
- attributeTaxName;
30
- $thisitem.removeClass( 'error' );
31
- if ( attributevalue.length === 0 ) {
32
- index = attributeName.lastIndexOf( '_' );
33
- attributeTaxName = attributeName.substring( index + 1 );
34
- $thisitem.addClass( 'required error' );
35
- } else {
36
- item[attributeName] = attributevalue;
37
- }
38
- });
39
-
40
  var data = {
41
- // action: 'woolentor_insert_to_cart',
42
  product_id: product_id,
43
  product_sku: '',
44
  quantity: product_qty,
45
  variation_id: variation_id,
46
- variations: item,
47
- all_data: all_data,
48
  };
49
 
50
- var alldata = data.all_data + '&product_id='+ data.product_id + '&product_sku='+ data.product_sku + '&quantity='+ data.quantity + '&variation_id='+ data.variation_id + '&variations='+ JSON.stringify( data.variations ) +'&action=woolentor_single_insert_to_cart';
51
-
52
  $( document.body ).trigger('adding_to_cart', [$this, data]);
53
 
54
  $.ajax({
55
  type: 'post',
56
  url: wc_add_to_cart_params.ajax_url,
57
- data: alldata,
58
 
59
  beforeSend: function (response) {
60
  $this.removeClass('added').addClass('loading');
6
 
7
  var $this = $(this),
8
  $form = $this.closest('form.cart'),
 
9
  product_qty = $form.find('input[name=quantity]').val() || 1,
10
  product_id = $form.find('input[name=product_id]').val() || $this.val(),
11
  variation_id = $form.find('input[name=variation_id]').val() || 0;
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  var data = {
14
+ action: 'wl_singleproduct_ajax_add_to_cart',
15
  product_id: product_id,
16
  product_sku: '',
17
  quantity: product_qty,
18
  variation_id: variation_id,
 
 
19
  };
20
 
 
 
21
  $( document.body ).trigger('adding_to_cart', [$this, data]);
22
 
23
  $.ajax({
24
  type: 'post',
25
  url: wc_add_to_cart_params.ajax_url,
26
+ data: data,
27
 
28
  beforeSend: function (response) {
29
  $this.removeClass('added').addClass('loading');
assets/js/woolentor-widgets-active.js CHANGED
@@ -28,7 +28,7 @@
28
  var mobile_display_columns = parseInt(settings['mobile_display_columns']) || 1;
29
  var mobile_scroll_columns = parseInt(settings['mobile_scroll_columns']) || 1;
30
 
31
- slider_elem.not('.slick-initialized').slick({
32
  arrows: arrows,
33
  prevArrow: '<button type="button" class="slick-prev"><i class="fa fa-angle-left"></i></button>',
34
  nextArrow: '<button type="button" class="slick-next"><i class="fa fa-angle-right"></i></button>',
@@ -171,81 +171,6 @@
171
  });
172
  }
173
 
174
- /* Quick View ajax Add to cart */
175
- function woolentorquickviewAjaxCart( $selector ){
176
-
177
- $(document).on('click', $selector, function (e) {
178
- e.preventDefault();
179
-
180
- var $thisbutton = $(this),
181
- $form = $thisbutton.closest('form.cart'),
182
- product_qty = $form.find('input[name=quantity]').val() || 1,
183
- product_id = $form.find('input[name=product_id]').val() || $thisbutton.val(),
184
- variation_id = $form.find('input[name=variation_id]').val() || 0;
185
-
186
- /* For Variation product */
187
- var item = {},
188
- variations = $form.find( 'select[name^=attribute]' );
189
- if ( !variations.length) {
190
- variations = $form.find( '[name^=attribute]:checked' );
191
- }
192
- if ( !variations.length) {
193
- variations = $form.find( 'input[name^=attribute]' );
194
- }
195
-
196
- variations.each( function() {
197
- var $thisitem = $( this ),
198
- attributeName = $thisitem.attr( 'name' ),
199
- attributevalue = $thisitem.val(),
200
- index,
201
- attributeTaxName;
202
- $thisitem.removeClass( 'error' );
203
- if ( attributevalue.length === 0 ) {
204
- index = attributeName.lastIndexOf( '_' );
205
- attributeTaxName = attributeName.substring( index + 1 );
206
- $thisitem.addClass( 'required error' );
207
- } else {
208
- item[attributeName] = attributevalue;
209
- }
210
- });
211
-
212
- var data = {
213
- action: 'woolentor_insert_to_cart',
214
- product_id: product_id,
215
- product_sku: '',
216
- quantity: product_qty,
217
- variation_id: variation_id,
218
- variations: item,
219
- };
220
-
221
- $(document.body).trigger('adding_to_cart', [$thisbutton, data]);
222
-
223
- $.ajax({
224
- type: 'post',
225
- url: woolentor_addons.woolentorajaxurl,
226
- data: data,
227
- beforeSend: function (response) {
228
- $thisbutton.removeClass('added').addClass('loading');
229
- },
230
- complete: function (response) {
231
- $thisbutton.addClass('added').removeClass('loading');
232
- },
233
- success: function (response) {
234
- if (response.error && response.product_url) {
235
- window.location = response.product_url;
236
- return;
237
- } else {
238
- $(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, $thisbutton]);
239
- }
240
- },
241
- });
242
-
243
- return false;
244
- });
245
-
246
-
247
- }
248
-
249
  /*
250
  * Quick view
251
  */
@@ -274,8 +199,6 @@
274
  $('#htwlquick-viewmodal .htcloseqv').show();
275
  woolentorquickviewMainImageSlider();
276
  woolentorquickviewThumb();
277
- woolentor_render_variation_quick_view_data( $('.woolentorquickview-open') );
278
- woolentorquickviewAjaxCart( ".htwl-modal-content .single_add_to_cart_button:not(.disabled)" );
279
  }, 300 );
280
  },
281
  complete: function () {
@@ -294,46 +217,6 @@
294
  $('.htwl-modal-dialog').css("background-color","transparent");
295
  });
296
 
297
- function woolentor_render_variation_quick_view_data( $product ) {
298
- $product.find('.variations_form').wc_variation_form().find('.variations select:eq(0)').change();
299
- $product.find('.variations_form').trigger('wc_variation_form');
300
-
301
- var $default_data = {
302
- src:'',
303
- srcfull:'',
304
- srcset:'',
305
- sizes:'',
306
- width:'',
307
- height:'',
308
- };
309
- $product.find( '.single_variation_wrap' ).on( 'show_variation', function ( event, variation ) {
310
-
311
- // Get First image data
312
- if( $default_data.src.length === 0 ){
313
- $default_data.src = $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').attr('src');
314
- $default_data.srcset = $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').attr('srcset');
315
- $default_data.srcfull = $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').attr('data-src');
316
- }
317
-
318
- $('.ht-qwick-view-left').find('.ht-quick-view-learg-img').slick('slickGoTo', 0);
319
-
320
- $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').wc_set_variation_attr('src',variation.image.full_src);
321
- $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').wc_set_variation_attr('srcset',variation.image.srcset);
322
- $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').wc_set_variation_attr('data-src',variation.image.full_src);
323
- $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').wc_set_variation_attr('data-large_image',variation.image.full_src);
324
-
325
- // Reset data
326
- $('.variations').find('.reset_variations').on('click', function(e){
327
- $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').wc_set_variation_attr('src', $default_data.src );
328
- $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').wc_set_variation_attr('srcset', $default_data.srcset);
329
- $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').wc_set_variation_attr('data-src', $default_data.srcfull );
330
- $('.ht-quick-view-learg-img').find('.wl-quickview-first-image .wp-post-image').wc_set_variation_attr('data-large_image', $default_data.srcfull );
331
- });
332
-
333
- });
334
-
335
- }
336
-
337
  /*
338
  * Product Tab
339
  */
@@ -346,76 +229,10 @@
346
  woolentor_tabs( $(".woolentor-product-video-tabs"), '.video-cus-tab-pane' );
347
  }
348
 
349
- /**
350
- * WoolentorAccordion
351
- */
352
- var WoolentorAccordion = function ( $scope, $ ){
353
- var accordion_elem = $scope.find('.htwoolentor-faq').eq(0);
354
-
355
- var data_opt = accordion_elem.data('settings');
356
-
357
- if ( accordion_elem.length > 0 ) {
358
- var $id = accordion_elem.attr('id');
359
- new Accordion('#' + $id, {
360
- duration: 500,
361
- showItem: data_opt.showitem,
362
- elementClass: 'htwoolentor-faq-card',
363
- questionClass: 'htwoolentor-faq-head',
364
- answerClass: 'htwoolentor-faq-body',
365
- });
366
- }
367
-
368
- };
369
-
370
-
371
- /**
372
- * WoolentorOnePageSlider
373
- */
374
- var WoolentorOnePageSlider = function ( $scope, $ ){
375
-
376
- var slider_elem = $scope.find('.ht-full-slider-area').eq(0);
377
-
378
- if ( slider_elem.length > 0 ) {
379
-
380
- /* Jarallax active */
381
- $('.ht-parallax-active').jarallax({
382
- speed: 0.4,
383
- });
384
-
385
- $('#ht-nav').onePageNav({
386
- currentClass: 'current',
387
- changeHash: false,
388
- scrollSpeed: 750,
389
- scrollThreshold: 0.5,
390
- filter: '',
391
- easing: 'swing',
392
- });
393
-
394
- /*------ Wow Active ----*/
395
- new WOW().init();
396
-
397
- /*---------------------
398
- Video popup
399
- --------------------- */
400
- $('.ht-video-popup').magnificPopup({
401
- type: 'iframe',
402
- mainClass: 'mfp-fade',
403
- removalDelay: 160,
404
- preloader: false,
405
- zoom: {
406
- enabled: true,
407
- }
408
- });
409
-
410
- }
411
-
412
- };
413
-
414
  /*
415
  * Run this code under Elementor.
416
  */
417
  $(window).on('elementor/frontend/init', function () {
418
-
419
  elementorFrontend.hooks.addAction( 'frontend/element_ready/woolentor-product-tab.default', WidgetProductSliderHandler);
420
  elementorFrontend.hooks.addAction( 'frontend/element_ready/woolentor-product-tab.default', WidgetProducttabsHandler);
421
 
@@ -438,13 +255,6 @@
438
  elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-product-video-gallery.default', WidgetProductVideoGallery );
439
 
440
  elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-brand-logo.default', WidgetProductSliderHandler );
441
- elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-faq.default', WoolentorAccordion );
442
-
443
- elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-category-grid.default', WidgetProductSliderHandler );
444
- elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-testimonial.default', WidgetProductSliderHandler );
445
- elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-product-grid.default', WidgetProductSliderHandler );
446
- elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-onepage-slider.default', WoolentorOnePageSlider );
447
-
448
  });
449
 
450
 
28
  var mobile_display_columns = parseInt(settings['mobile_display_columns']) || 1;
29
  var mobile_scroll_columns = parseInt(settings['mobile_scroll_columns']) || 1;
30
 
31
+ slider_elem.slick({
32
  arrows: arrows,
33
  prevArrow: '<button type="button" class="slick-prev"><i class="fa fa-angle-left"></i></button>',
34
  nextArrow: '<button type="button" class="slick-next"><i class="fa fa-angle-right"></i></button>',
171
  });
172
  }
173
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  /*
175
  * Quick view
176
  */
199
  $('#htwlquick-viewmodal .htcloseqv').show();
200
  woolentorquickviewMainImageSlider();
201
  woolentorquickviewThumb();
 
 
202
  }, 300 );
203
  },
204
  complete: function () {
217
  $('.htwl-modal-dialog').css("background-color","transparent");
218
  });
219
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
220
  /*
221
  * Product Tab
222
  */
229
  woolentor_tabs( $(".woolentor-product-video-tabs"), '.video-cus-tab-pane' );
230
  }
231
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
  /*
233
  * Run this code under Elementor.
234
  */
235
  $(window).on('elementor/frontend/init', function () {
 
236
  elementorFrontend.hooks.addAction( 'frontend/element_ready/woolentor-product-tab.default', WidgetProductSliderHandler);
237
  elementorFrontend.hooks.addAction( 'frontend/element_ready/woolentor-product-tab.default', WidgetProducttabsHandler);
238
 
255
  elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-product-video-gallery.default', WidgetProductVideoGallery );
256
 
257
  elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-brand-logo.default', WidgetProductSliderHandler );
 
 
 
 
 
 
 
258
  });
259
 
260
 
assets/lib/css/magnific-popup.css DELETED
@@ -1,4 +0,0 @@
1
- /*! Magnific Popup - v1.1.0 - 2016-02-20
2
- * http://dimsemenov.com/plugins/magnific-popup/
3
- * Copyright (c) 2016 Dmitry Semenov; */
4
- .mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:none!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-inline-holder .mfp-content,.mfp-ajax-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#CCC;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#CCC}.mfp-preloader a:hover{color:#FFF}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:none;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#FFF;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:hover,.mfp-close:focus{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close{color:#FFF;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#CCC;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:hover,.mfp-arrow:focus{opacity:1}.mfp-arrow:before,.mfp-arrow:after{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #FFF;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3F3F3F}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #FFF;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3F3F3F}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#BDBDBD;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#F3F3F3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}
 
 
 
 
assets/lib/iconpicker/css/iconpicker.eot DELETED
Binary file
assets/lib/iconpicker/css/iconpicker.svg DELETED
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata>Copyright (C) 2014 by original authors @ fontello.com</metadata>
5
- <defs>
6
- <font id="iconpicker" horiz-adv-x="1000" >
7
- <font-face font-family="iconpicker" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
8
- <missing-glyph horiz-adv-x="1000" />
9
- <glyph glyph-name="spin3" unicode="&#xe815;" d="m494 850c-266 0-483-210-494-472c-1-19 13-20 13-20l84 0c16 0 19 10 19 18c10 199 176 358 378 358c107 0 205-45 273-118l-58-57c-11-12-11-27 5-31l247-50c21-5 46 11 37 44l-58 227c-2 9-16 22-29 13l-65-60c-89 91-214 148-352 148z m409-508c-16 0-19-10-19-18c-10-199-176-358-377-358c-108 0-205 45-274 118l59 57c10 12 10 27-5 31l-248 50c-21 5-46-11-37-44l58-227c2-9 16-22 30-13l64 60c89-91 214-148 353-148c265 0 482 210 493 473c1 18-13 19-13 19l-84 0z" horiz-adv-x="1000" />
10
- <glyph glyph-name="search" unicode="&#xe812;" d="m643 386q0 103-74 176t-176 74t-177-74t-73-176t73-177t177-73t176 73t74 177z m286-465q0-29-22-50t-50-21q-30 0-50 21l-191 191q-100-69-223-69q-80 0-153 31t-125 84t-84 125t-31 153t31 152t84 126t125 84t153 31t152-31t126-84t84-126t31-152q0-123-69-223l191-191q21-21 21-51z" horiz-adv-x="928.6" />
11
- <glyph glyph-name="cancel" unicode="&#xe814;" d="m724 112q0-22-15-38l-76-76q-16-15-38-15t-38 15l-164 165l-164-165q-16-15-38-15t-38 15l-76 76q-16 16-16 38t16 38l164 164l-164 164q-16 16-16 38t16 38l76 76q16 16 38 16t38-16l164-164l164 164q16 16 38 16t38-16l76-76q15-15 15-38t-15-38l-164-164l164-164q15-15 15-38z" horiz-adv-x="785.7" />
12
- <glyph glyph-name="block" unicode="&#xe84e;" d="m732 352q0 90-48 164l-421-420q76-50 166-50q62 0 118 25t96 65t65 97t24 119z m-557-167l421 421q-75 50-167 50q-83 0-153-40t-110-112t-41-152q0-91 50-167z m682 167q0-88-34-168t-91-137t-137-92t-166-34t-167 34t-137 92t-91 137t-34 168t34 167t91 137t137 91t167 34t166-34t137-91t91-137t34-167z" horiz-adv-x="857.1" />
13
- <glyph glyph-name="down-dir" unicode="&#xe800;" d="m571 457q0-14-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 11-11 25t11 25t25 11h500q14 0 25-11t10-25z" horiz-adv-x="571.4" />
14
- <glyph glyph-name="up-dir" unicode="&#xe813;" d="m571 171q0-14-10-25t-25-10h-500q-15 0-25 10t-11 25t11 26l250 250q10 10 25 10t25-10l250-250q10-11 10-26z" horiz-adv-x="571.4" />
15
- <glyph glyph-name="left-dir" unicode="&#xe801;" d="m357 600v-500q0-14-10-25t-26-11t-25 11l-250 250q-10 11-10 25t10 25l250 250q11 11 25 11t26-11t10-25z" horiz-adv-x="357.1" />
16
- <glyph glyph-name="right-dir" unicode="&#xe802;" d="m321 350q0-14-10-25l-250-250q-11-11-25-11t-25 11t-11 25v500q0 15 11 25t25 11t25-11l250-250q10-10 10-25z" horiz-adv-x="357.1" />
17
- </font>
18
- </defs>
19
- </svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/lib/iconpicker/css/iconpicker.ttf DELETED
Binary file
assets/lib/iconpicker/css/iconpicker.woff DELETED
Binary file
assets/lib/iconpicker/css/jquery.fonticonpicker.bootstrap.min.css DELETED
@@ -1,2 +0,0 @@
1
- /* fontIconPicker Bootstrap Theme {@link https://github.com/micc83/fontIconPicker} */
2
- .fip-bootstrap.icons-selector{font-size:16px}.fip-bootstrap.icons-selector .selector{border:0 none;background-color:#fff;width:102px}.fip-bootstrap.icons-selector .selector-button{background-color:#fff;border:1px solid #ccc;border-radius:0 4px 4px 0;background-image:-webkit-linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-image:-moz-linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:41px;background-repeat:repeat-x}.fip-bootstrap.icons-selector .selector-button:hover{background-color:#e0e0e0;background-position:0 -15px}.fip-bootstrap.icons-selector .selector-button:active{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.125)inset;-moz-box-shadow:0 3px 5px rgba(0,0,0,.125)inset;box-shadow:0 3px 5px rgba(0,0,0,.125)inset}.fip-bootstrap.icons-selector .selector-button:hover i{color:#999}.fip-bootstrap.icons-selector .selector-button i{color:#aaa;text-shadow:0 1px 0 #FFF}.fip-bootstrap.icons-selector .selected-icon{border:1px solid #ccc;border-right:0 none;background-color:#fff;border-radius:4px 0 0 4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fip-bootstrap.icons-selector .selected-icon i{color:#404040}.fip-bootstrap.icons-selector .selector-popup{-moz-box-shadow:0 6px 12px rgba(0,0,0,.176);-webkit-box-shadow:0 6px 12px rgba(0,0,0,.176);box-shadow:0 6px 12px rgba(0,0,0,.176);border:1px solid rgba(0,0,0,.15);border-radius:4px;background-color:#fff}.fip-bootstrap.icons-selector .selector-category select,.fip-bootstrap.icons-selector .selector-search input[type=text]{border:1px solid #ccc;color:#555;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0;border-radius:4px}.fip-bootstrap.icons-selector .selector-category select:focus,.fip-bootstrap.icons-selector .selector-search input[type=text]:focus{border-color:#66AFE9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075)inset,0 0 8px rgba(102,175,233,.6);-moz-box-shadow:0 1px 1px rgba(0,0,0,.075)inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075)inset,0 0 8px rgba(102,175,233,.6)}.fip-bootstrap.icons-selector input::-webkit-input-placeholder{color:#aaa}.fip-bootstrap.icons-selector input:-moz-placeholder{color:#aaa}.fip-bootstrap.icons-selector input::-moz-placeholder{color:#aaa}.fip-bootstrap.icons-selector input:-ms-input-placeholder{color:#aaa!important}.fip-bootstrap.icons-selector .selector-search i{color:#aaa}.fip-bootstrap.icons-selector .fip-icons-container{background-color:#fff;border:1px solid #ccc;border-radius:4px}.fip-bootstrap.icons-selector .fip-icons-container .loading{color:#ddd}.fip-bootstrap.icons-selector .fip-box{border:1px solid #ccc;border-radius:2px;background-color:#eee}.fip-bootstrap.icons-selector .fip-box:hover{background-color:#fff;border-color:#66AFE9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075)inset,0 0 8px rgba(102,175,233,.6);-moz-box-shadow:0 1px 1px rgba(0,0,0,.075)inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075)inset,0 0 8px rgba(102,175,233,.6);font-size:1.6em;text-shadow:0 0 1px #fff}.fip-bootstrap.icons-selector .selector-footer,.fip-bootstrap.icons-selector .selector-footer i{color:#428BCA}.fip-bootstrap.icons-selector .selector-arrows i:hover{color:#2A6496}.fip-bootstrap.icons-selector span.current-icon,.fip-bootstrap.icons-selector span.current-icon:hover{background-color:#428BCA;color:#fff;border:1px solid #428BCA}.fip-bootstrap.icons-selector span.current-icon i,.fip-bootstrap.icons-selector span.current-icon:hover i{color:#fff}.fip-bootstrap.icons-selector .icons-picker-error i:before{color:#ccc}.fip-bootstrap.icons-selector .fip-box,.fip-bootstrap.icons-selector .selector-category select,.fip-bootstrap.icons-selector .selector-search input[type=text]{-webkit-transition:all 300ms ease-in-out;-moz-transition:all 300ms ease-in-out;-ms-transition:all 300ms ease-in-out;-o-transition:all 300ms ease-in-out;transition:all 300ms ease-in-out}
 
 
assets/lib/iconpicker/css/jquery.fonticonpicker.min.css DELETED
@@ -1,2 +0,0 @@
1
- /* fontIconPicker main CSS file {@link https://github.com/micc83/fontIconPicker} */
2
- .icons-selector:not('i.sli') *{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif}.icons-selector,.icons-selector *,.icons-selector :after,.icons-selector :before,.icons-selector:after,.icons-selector:before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.icons-selector{display:inline-block;vertical-align:middle;text-align:left}.icons-selector .selector{width:100px;height:40px}.icons-selector .selector-button{width:39px;height:100%;display:block;text-align:center;cursor:pointer;float:left}.icons-selector .selector-button i{line-height:38px;text-align:center}.icons-selector .selected-icon{display:block;width:60px;height:100%;float:left;text-align:center}.icons-selector .selected-icon i{line-height:40px;font-size:18px;cursor:default}.icons-selector .selector-popup{position:absolute;z-index:10000;background-color:#fefefe;padding:5px;height:auto;width:342px;margin-top:-1px}.icons-selector .selector-category select,.icons-selector .selector-search input[type=text]{border:0;line-height:20px;padding:10px 2.5%;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:5px;font-size:12px;display:block}.icons-selector .selector-category select{height:40px}.icons-selector .selector-category select option{padding:10px}.icons-selector input::-webkit-input-placeholder{text-transform:uppercase}.icons-selector input:-moz-placeholder{text-transform:uppercase}.icons-selector input::-moz-placeholder{text-transform:uppercase}.icons-selector input:-ms-input-placeholder{text-transform:uppercase}.icons-selector .selector-search{position:relative}.icons-selector .selector-search i{position:absolute;right:10px;top:7px}.icons-selector .fip-icons-container{width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;padding:5px}.icons-selector .fip-icons-container .loading{font-size:24px;margin:0 auto;padding:20px 0;text-align:center;width:100%}.icons-selector .fip-box{display:inline-block;margin:2px;width:60px;line-height:42px;text-align:center;cursor:pointer;vertical-align:top;height:40px}.icons-selector .selector-footer{line-height:12px;padding:5px 5px 0;text-align:center}.icons-selector .selector-footer,.icons-selector .selector-footer i{font-size:14px}.icons-selector .selector-arrows{float:right}.icons-selector .selector-pages{font-size:11px;float:left}.icons-selector .selector-arrows i{cursor:pointer}.icons-selector .selector-footer em{font-style:italic}.icons-selector .icons-picker-error i:before{color:#eee}@font-face{font-family:iconpicker;src:url(iconpicker.eot?90190138);src:url(iconpicker.eot?90190138#iefix) format('embedded-opentype'),url(iconpicker.woff?90190138) format('woff'),url(iconpicker.ttf?90190138) format('truetype'),url(iconpicker.svg?90190138#iconpicker) format('svg');font-weight:400;font-style:normal}.icons-selector [class*=" fip-icon-"]:before,.icons-selector [class^=fip-icon-]:before{font-family:iconpicker;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em}.icons-selector .fip-icon-search:before{content:'\e812';cursor:default}.icons-selector .fip-icon-cancel:before{content:'\e814';cursor:pointer}.icons-selector .fip-icon-block:before{content:'\e84e';color:#fed0d0}.icons-selector .fip-icon-down-dir:before{content:'\e800'}.icons-selector .fip-icon-up-dir:before{content:'\e813'}.icons-selector .fip-icon-left-dir:before{content:'\e801'}.icons-selector .fip-icon-right-dir:before{content:'\e802'}.icons-selector .fip-icon-spin3:before{content:'\e815'}.icons-selector .fip-icon-spin3{-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;display:inline-block}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-o-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-ms-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}
 
 
assets/lib/iconpicker/js/jquery.fonticonpicker.min.js DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * jQuery fontIconPicker - v2.0.0
3
- *
4
- * An icon picker built on top of font icons and jQuery
5
- *
6
- * http://codeb.it/fontIconPicker
7
- *
8
- * Made by Alessandro Benoit & Swashata
9
- * Under MIT License
10
- *
11
- * {@link https://github.com/micc83/fontIconPicker}
12
- */
13
- !function(a){"use strict";function c(c,d){this.element=a(c),this.settings=a.extend({},b,d),this.settings.emptyIcon&&this.settings.iconsPerPage--,this.iconPicker=a("<div/>",{"class":"icons-selector",style:"position: relative",html:'<div class="selector"><span class="selected-icon"><i class="fip-icon-block"></i></span><span class="selector-button"><i class="fip-icon-down-dir"></i></span></div><div class="selector-popup" style="display: none;">'+(this.settings.hasSearch?'<div class="selector-search"><input type="text" name="" value="" placeholder="Search icon" class="icons-search-input"/><i class="fip-icon-search"></i></div>':"")+'<div class="selector-category">'+'<select name="" class="icon-category-select" style="display: none">'+"</select>"+"</div>"+'<div class="fip-icons-container"></div>'+'<div class="selector-footer" style="display:none;">'+'<span class="selector-pages">1/2</span>'+'<span class="selector-arrows">'+'<span class="selector-arrow-left" style="display:none;">'+'<i class="fip-icon-left-dir"></i>'+"</span>"+'<span class="selector-arrow-right">'+'<i class="fip-icon-right-dir"></i>'+"</span>"+"</span>"+"</div>"+"</div>"}),this.iconContainer=this.iconPicker.find(".fip-icons-container"),this.searchIcon=this.iconPicker.find(".selector-search i"),this.iconsSearched=[],this.isSearch=!1,this.totalPage=1,this.currentPage=1,this.currentIcon=!1,this.iconsCount=0,this.open=!1,this.searchValues=[],this.availableCategoriesSearch=[],this.triggerEvent=null,this.backupSource=[],this.backupSearch=[],this.isCategorized=!1,this.selectCategory=this.iconPicker.find(".icon-category-select"),this.selectedCategory=!1,this.availableCategories=[],this.unCategorizedKey=null,this.init()}var b={theme:"fip-grey",source:!1,emptyIcon:!0,emptyIconValue:"",iconsPerPage:20,hasSearch:!0,searchSource:!1,useAttribute:!1,attributeName:"data-icon",convertToHex:!0,allCategoryText:"From all categories",unCategorizedText:"Uncategorized"};c.prototype={init:function(){this.iconPicker.addClass(this.settings.theme),this.iconPicker.css({left:-9999}).appendTo("body");var b=this.iconPicker.outerHeight(),c=this.iconPicker.outerWidth();if(this.iconPicker.css({left:""}),this.element.before(this.iconPicker),this.element.css({visibility:"hidden",top:0,position:"relative",zIndex:"-1",left:"-"+c+"px",display:"inline-block",height:b+"px",width:c+"px",padding:"0",margin:"0 -"+c+"px 0 0",border:"0 none",verticalAlign:"top"}),!this.element.is("select")){var d=function(){for(var a=3,b=document.createElement("div"),c=b.all||[];b.innerHTML="<!--[if gt IE "+ ++a+"]><br><![endif]-->",c[0];);return a>4?a:!a}(),e=document.createElement("div");this.triggerEvent=9!==d&&"oninput"in e?["input","keyup"]:["keyup"]}!this.settings.source&&this.element.is("select")?(this.settings.source=[],this.settings.searchSource=[],this.element.find("optgroup").length?(this.isCategorized=!0,this.element.find("optgroup").each(a.proxy(function(b,c){var d=this.availableCategories.length,e=a("<option />");e.attr("value",d),e.html(a(c).attr("label")),this.selectCategory.append(e),this.availableCategories[d]=[],this.availableCategoriesSearch[d]=[],a(c).find("option").each(a.proxy(function(b,c){var e=a(c).val(),f=a(c).html();e&&e!==this.settings.emptyIconValue&&(this.settings.source.push(e),this.availableCategories[d].push(e),this.searchValues.push(f),this.availableCategoriesSearch[d].push(f))},this))},this)),this.element.find("> option").length&&this.element.find("> option").each(a.proxy(function(b,c){var d=a(c).val(),e=a(c).html();return d&&""!==d&&d!=this.settings.emptyIconValue?(null===this.unCategorizedKey&&(this.unCategorizedKey=this.availableCategories.length,this.availableCategories[this.unCategorizedKey]=[],this.availableCategoriesSearch[this.unCategorizedKey]=[],a("<option />").attr("value",this.unCategorizedKey).html(this.settings.unCategorizedText).appendTo(this.selectCategory)),this.settings.source.push(d),this.availableCategories[this.unCategorizedKey].push(d),this.searchValues.push(e),this.availableCategoriesSearch[this.unCategorizedKey].push(e),void 0):!0},this))):this.element.find("option").each(a.proxy(function(b,c){var d=a(c).val(),e=a(c).html();d&&(this.settings.source.push(d),this.searchValues.push(e))},this)),this.backupSource=this.settings.source.slice(0),this.backupSearch=this.searchValues.slice(0),this.loadCategories()):this.initSourceIndex(),this.loadIcons(),this.selectCategory.on("change keyup",a.proxy(function(b){if(this.isCategorized===!1)return!1;var c=a(b.currentTarget),d=c.val();if("all"===c.val())this.settings.source=this.backupSource,this.searchValues=this.backupSearch;else{var e=parseInt(d,10);this.availableCategories[e]&&(this.settings.source=this.availableCategories[e],this.searchValues=this.availableCategoriesSearch[e])}this.resetSearch(),this.loadIcons()},this)),this.iconPicker.find(".selector-button").click(a.proxy(function(){this.toggleIconSelector()},this)),this.iconPicker.find(".selector-arrow-right").click(a.proxy(function(b){this.currentPage<this.totalPage&&(this.iconPicker.find(".selector-arrow-left").show(),this.currentPage=this.currentPage+1,this.renderIconContainer()),this.currentPage===this.totalPage&&a(b.currentTarget).hide()},this)),this.iconPicker.find(".selector-arrow-left").click(a.proxy(function(b){this.currentPage>1&&(this.iconPicker.find(".selector-arrow-right").show(),this.currentPage=this.currentPage-1,this.renderIconContainer()),1===this.currentPage&&a(b.currentTarget).hide()},this)),this.iconPicker.find(".icons-search-input").keyup(a.proxy(function(b){var c=a(b.currentTarget).val();return""===c?(this.resetSearch(),void 0):(this.searchIcon.removeClass("fip-icon-search"),this.searchIcon.addClass("fip-icon-cancel"),this.isSearch=!0,this.currentPage=1,this.iconsSearched=[],a.grep(this.searchValues,a.proxy(function(a,b){return a.toLowerCase().search(c.toLowerCase())>=0?(this.iconsSearched[this.iconsSearched.length]=this.settings.source[b],!0):void 0},this)),this.renderIconContainer(),void 0)},this)),this.iconPicker.find(".selector-search").on("click",".fip-icon-cancel",a.proxy(function(){this.iconPicker.find(".icons-search-input").focus(),this.resetSearch()},this)),this.iconContainer.on("click",".fip-box",a.proxy(function(b){this.setSelectedIcon(a(b.currentTarget).find("i").attr("data-fip-value")),this.toggleIconSelector()},this)),this.iconPicker.click(function(a){return a.stopPropagation(),!1}),a("html").click(a.proxy(function(){this.open&&this.toggleIconSelector()},this))},initSourceIndex:function(){if("object"==typeof this.settings.source){if(a.isArray(this.settings.source))this.isCategorized=!1,this.selectCategory.html("").hide(),this.settings.source=a.map(this.settings.source,function(a){return"function"==typeof a.toString?a.toString():a}),this.searchValues=a.isArray(this.settings.searchSource)?a.map(this.settings.searchSource,function(a){return"function"==typeof a.toString?a.toString():a}):this.settings.source.slice(0);else{var b=a.extend(!0,{},this.settings.source);this.settings.source=[],this.searchValues=[],this.availableCategoriesSearch=[],this.selectedCategory=!1,this.availableCategories=[],this.unCategorizedKey=null,this.isCategorized=!0,this.selectCategory.html("");for(var c in b){var d=this.availableCategories.length,e=a("<option />");e.attr("value",d),e.html(c),this.selectCategory.append(e),this.availableCategories[d]=[],this.availableCategoriesSearch[d]=[];for(var f in b[c]){var g=b[c][f],h=this.settings.searchSource&&this.settings.searchSource[c]&&this.settings.searchSource[c][f]?this.settings.searchSource[c][f]:g;"function"==typeof g.toString&&(g=g.toString()),g&&g!==this.settings.emptyIconValue&&(this.settings.source.push(g),this.availableCategories[d].push(g),this.searchValues.push(h),this.availableCategoriesSearch[d].push(h))}}}this.backupSource=this.settings.source.slice(0),this.backupSearch=this.searchValues.slice(0),this.loadCategories()}},loadCategories:function(){this.isCategorized!==!1&&(a('<option value="all">'+this.settings.allCategoryText+"</option>").prependTo(this.selectCategory),this.selectCategory.show().val("all").trigger("change"))},loadIcons:function(){this.iconContainer.html('<i class="fip-icon-spin3 animate-spin loading"></i>'),this.settings.source instanceof Array&&this.renderIconContainer()},renderIconContainer:function(){var b,c=[];if(c=this.isSearch?this.iconsSearched:this.settings.source,this.iconsCount=c.length,this.totalPage=Math.ceil(this.iconsCount/this.settings.iconsPerPage),this.totalPage>1?this.iconPicker.find(".selector-footer").show():this.iconPicker.find(".selector-footer").hide(),this.iconPicker.find(".selector-pages").html(this.currentPage+"/"+this.totalPage+" <em>("+this.iconsCount+")</em>"),b=(this.currentPage-1)*this.settings.iconsPerPage,this.settings.emptyIcon)this.iconContainer.html('<span class="fip-box"><i class="fip-icon-block" data-fip-value="fip-icon-block"></i></span>');else{if(c.length<1)return this.iconContainer.html('<span class="icons-picker-error"><i class="fip-icon-block" data-fip-value="fip-icon-block"></i></span>'),void 0;this.iconContainer.html("")}c=c.slice(b,b+this.settings.iconsPerPage);for(var e,d=0;e=c[d++];){var f=e;a.grep(this.settings.source,a.proxy(function(a,b){return a===e?(f=this.searchValues[b],!0):!1},this)),a("<span/>",{html:'<i data-fip-value="'+e+'" '+(this.settings.useAttribute?this.settings.attributeName+'="'+(this.settings.convertToHex?"&#x"+parseInt(e,10).toString(16)+";":e)+'"':'class="'+e+'"')+"></i>","class":"fip-box",title:f}).appendTo(this.iconContainer)}this.settings.emptyIcon||this.element.val()&&-1!==a.inArray(this.element.val(),this.settings.source)?-1===a.inArray(this.element.val(),this.settings.source)?this.setSelectedIcon():this.setSelectedIcon(this.element.val()):this.setSelectedIcon(c[0])},setHighlightedIcon:function(){this.iconContainer.find(".current-icon").removeClass("current-icon"),this.currentIcon&&this.iconContainer.find('[data-fip-value="'+this.currentIcon+'"]').parent("span").addClass("current-icon")},setSelectedIcon:function(a){if("fip-icon-block"===a&&(a=""),this.settings.useAttribute?a?this.iconPicker.find(".selected-icon").html("<i "+this.settings.attributeName+'="'+(this.settings.convertToHex?"&#x"+parseInt(a,10).toString(16)+";":a)+'"></i>'):this.iconPicker.find(".selected-icon").html('<i class="fip-icon-block"></i>'):this.iconPicker.find(".selected-icon").html('<i class="'+(a||"fip-icon-block")+'"></i>'),this.element.val(""===a?this.settings.emptyIconValue:a).trigger("change"),null!==this.triggerEvent)for(var b in this.triggerEvent)this.element.trigger(this.triggerEvent[b]);this.currentIcon=a,this.setHighlightedIcon()},toggleIconSelector:function(){this.open=this.open?0:1,this.iconPicker.find(".selector-popup").slideToggle(300),this.iconPicker.find(".selector-button i").toggleClass("fip-icon-down-dir"),this.iconPicker.find(".selector-button i").toggleClass("fip-icon-up-dir"),this.open&&this.iconPicker.find(".icons-search-input").focus().select()},resetSearch:function(){this.iconPicker.find(".icons-search-input").val(""),this.searchIcon.removeClass("fip-icon-cancel"),this.searchIcon.addClass("fip-icon-search"),this.iconPicker.find(".selector-arrow-left").hide(),this.currentPage=1,this.isSearch=!1,this.renderIconContainer(),this.totalPage>1&&this.iconPicker.find(".selector-arrow-right").show()}},a.fn.fontIconPicker=function(b){return this.each(function(){a.data(this,"fontIconPicker")||a.data(this,"fontIconPicker",new c(this,b))}),this.setIcons=a.proxy(function(b,c){void 0===b&&(b=!1),void 0===c&&(c=!1),this.each(function(){a.data(this,"fontIconPicker").settings.source=b,a.data(this,"fontIconPicker").settings.searchSource=c,a.data(this,"fontIconPicker").initSourceIndex(),a.data(this,"fontIconPicker").resetSearch(),a.data(this,"fontIconPicker").loadIcons()})},this),this.destroyPicker=a.proxy(function(){this.each(function(){a.data(this,"fontIconPicker")&&(a.data(this,"fontIconPicker").iconPicker.remove(),a.data(this,"fontIconPicker").element.css({visibility:"",top:"",position:"",zIndex:"",left:"",display:"",height:"",width:"",padding:"",margin:"",border:"",verticalAlign:""}),a.removeData(this,"fontIconPicker"))})},this),this.refreshPicker=a.proxy(function(d){d||(d=b),this.destroyPicker(),this.each(function(){a.data(this,"fontIconPicker")||a.data(this,"fontIconPicker",new c(this,d))})},this),this}}(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/lib/js/jarallax.js DELETED
@@ -1,6 +0,0 @@
1
- /*!
2
- * Name : Just Another Parallax [Jarallax]
3
- * Version : 1.12.5
4
- * Author : nK <https://nkdev.info>
5
- * GitHub : https://github.com/nk-o/jarallax
6
- */!function(n){var o={};function i(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=n,i.c=o,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(n,o,function(e){return t[e]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=10)}([,,function(e,t){e.exports=function(e){"complete"===document.readyState||"interactive"===document.readyState?e.call():document.attachEvent?document.attachEvent("onreadystatechange",function(){"interactive"===document.readyState&&e.call()}):document.addEventListener&&document.addEventListener("DOMContentLoaded",e)}},function(n,e,t){(function(e){var t="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{};n.exports=t}).call(this,t(4))},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=function(){return this}();try{o=o||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":n(window))&&(o=window)}e.exports=o},,,,,,function(e,t,n){e.exports=n(11)},function(e,t,n){"use strict";n.r(t);var o=n(2),i=n.n(o),a=n(3),r=n(12);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var s,c,u=a.window.jarallax;a.window.jarallax=r.default,a.window.jarallax.noConflict=function(){return a.window.jarallax=u,this},void 0!==a.jQuery&&((s=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];Array.prototype.unshift.call(t,this);var o=r.default.apply(a.window,t);return"object"!==l(o)?o:this}).constructor=r.default.constructor,c=a.jQuery.fn.jarallax,a.jQuery.fn.jarallax=s,a.jQuery.fn.jarallax.noConflict=function(){return a.jQuery.fn.jarallax=c,this}),i()(function(){Object(r.default)(document.querySelectorAll("[data-jarallax]"))})},function(e,t,n){"use strict";n.r(t);var o=n(2),i=n.n(o),b=n(3);function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],o=!0,i=!1,a=void 0;try{for(var r,l=e[Symbol.iterator]();!(o=(r=l.next()).done)&&(n.push(r.value),!t||n.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}var l,h,p=b.window.navigator,d=-1<p.userAgent.indexOf("MSIE ")||-1<p.userAgent.indexOf("Trident/")||-1<p.userAgent.indexOf("Edge/"),s=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(p.userAgent),m=function(){for(var e="transform WebkitTransform MozTransform".split(" "),t=document.createElement("div"),n=0;n<e.length;n+=1)if(t&&void 0!==t.style[e[n]])return e[n];return!1}();function f(){h=s?(!l&&document.body&&((l=document.createElement("div")).style.cssText="position: fixed; top: -9999px; left: 0; height: 100vh; width: 0;",document.body.appendChild(l)),(l?l.clientHeight:0)||b.window.innerHeight||document.documentElement.clientHeight):b.window.innerHeight||document.documentElement.clientHeight}f(),b.window.addEventListener("resize",f),b.window.addEventListener("orientationchange",f),b.window.addEventListener("load",f),i()(function(){f()});var g=[];function y(){g.length&&(g.forEach(function(e,t){var n=e.instance,o=e.oldData,i=n.$item.getBoundingClientRect(),a={width:i.width,height:i.height,top:i.top,bottom:i.bottom,wndW:b.window.innerWidth,wndH:h},r=!o||o.wndW!==a.wndW||o.wndH!==a.wndH||o.width!==a.width||o.height!==a.height,l=r||!o||o.top!==a.top||o.bottom!==a.bottom;g[t].oldData=a,r&&n.onResize(),l&&n.onScroll()}),b.window.requestAnimationFrame(y))}function v(e,t){("object"===("undefined"==typeof HTMLElement?"undefined":u(HTMLElement))?e instanceof HTMLElement:e&&"object"===u(e)&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName)&&(e=[e]);for(var n,o=e.length,i=0,a=arguments.length,r=new Array(2<a?a-2:0),l=2;l<a;l++)r[l-2]=arguments[l];for(;i<o;i+=1)if("object"===u(t)||void 0===t?e[i].jarallax||(e[i].jarallax=new w(e[i],t)):e[i].jarallax&&(n=e[i].jarallax[t].apply(e[i].jarallax,r)),void 0!==n)return n;return e}var x=0,w=function(){function s(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s);var n=this;n.instanceID=x,x+=1,n.$item=e,n.defaults={type:"scroll",speed:.5,imgSrc:null,imgElement:".jarallax-img",imgSize:"cover",imgPosition:"50% 50%",imgRepeat:"no-repeat",keepImg:!1,elementInViewport:null,zIndex:-100,disableParallax:!1,disableVideo:!1,videoSrc:null,videoStartTime:0,videoEndTime:0,videoVolume:0,videoLoop:!0,videoPlayOnlyVisible:!0,videoLazyLoading:!0,onScroll:null,onInit:null,onDestroy:null,onCoverImage:null};var o,i,a=n.$item.dataset||{},r={};Object.keys(a).forEach(function(e){var t=e.substr(0,1).toLowerCase()+e.substr(1);t&&void 0!==n.defaults[t]&&(r[t]=a[e])}),n.options=n.extend({},n.defaults,r,t),n.pureOptions=n.extend({},n.options),Object.keys(n.options).forEach(function(e){"true"===n.options[e]?n.options[e]=!0:"false"===n.options[e]&&(n.options[e]=!1)}),n.options.speed=Math.min(2,Math.max(-1,parseFloat(n.options.speed))),"string"==typeof n.options.disableParallax&&(n.options.disableParallax=new RegExp(n.options.disableParallax)),n.options.disableParallax instanceof RegExp&&(o=n.options.disableParallax,n.options.disableParallax=function(){return o.test(p.userAgent)}),"function"!=typeof n.options.disableParallax&&(n.options.disableParallax=function(){return!1}),"string"==typeof n.options.disableVideo&&(n.options.disableVideo=new RegExp(n.options.disableVideo)),n.options.disableVideo instanceof RegExp&&(i=n.options.disableVideo,n.options.disableVideo=function(){return i.test(p.userAgent)}),"function"!=typeof n.options.disableVideo&&(n.options.disableVideo=function(){return!1});var l=n.options.elementInViewport;l&&"object"===u(l)&&void 0!==l.length&&(l=c(l,1)[0]),l instanceof Element||(l=null),n.options.elementInViewport=l,n.image={src:n.options.imgSrc||null,$container:null,useImgTag:!1,position:/iPad|iPhone|iPod|Android/.test(p.userAgent)?"absolute":"fixed"},n.initImg()&&n.canInitParallax()&&n.init()}var e,t,n;return e=s,(t=[{key:"css",value:function(t,n){return"string"==typeof n?b.window.getComputedStyle(t).getPropertyValue(n):(n.transform&&m&&(n[m]=n.transform),Object.keys(n).forEach(function(e){t.style[e]=n[e]}),t)}},{key:"extend",value:function(n){for(var e=arguments.length,o=new Array(1<e?e-1:0),t=1;t<e;t++)o[t-1]=arguments[t];return n=n||{},Object.keys(o).forEach(function(t){o[t]&&Object.keys(o[t]).forEach(function(e){n[e]=o[t][e]})}),n}},{key:"getWindowData",value:function(){return{width:b.window.innerWidth||document.documentElement.clientWidth,height:h,y:document.documentElement.scrollTop}}},{key:"initImg",value:function(){var e=this,t=e.options.imgElement;return t&&"string"==typeof t&&(t=e.$item.querySelector(t)),t instanceof Element||(e.options.imgSrc?(t=new Image).src=e.options.imgSrc:t=null),t&&(e.options.keepImg?e.image.$item=t.cloneNode(!0):(e.image.$item=t,e.image.$itemParent=t.parentNode),e.image.useImgTag=!0),!!e.image.$item||(null===e.image.src&&(e.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",e.image.bgImage=e.css(e.$item,"background-image")),!(!e.image.bgImage||"none"===e.image.bgImage))}},{key:"canInitParallax",value:function(){return m&&!this.options.disableParallax()}},{key:"init",value:function(){var e,t,n,o=this,i={position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"hidden"},a={pointerEvents:"none",transformStyle:"preserve-3d",backfaceVisibility:"hidden",willChange:"transform,opacity"};o.options.keepImg||((e=o.$item.getAttribute("style"))&&o.$item.setAttribute("data-jarallax-original-styles",e),!o.image.useImgTag||(t=o.image.$item.getAttribute("style"))&&o.image.$item.setAttribute("data-jarallax-original-styles",t)),"static"===o.css(o.$item,"position")&&o.css(o.$item,{position:"relative"}),"auto"===o.css(o.$item,"z-index")&&o.css(o.$item,{zIndex:0}),o.image.$container=document.createElement("div"),o.css(o.image.$container,i),o.css(o.image.$container,{"z-index":o.options.zIndex}),d&&o.css(o.image.$container,{opacity:.9999}),o.image.$container.setAttribute("id","jarallax-container-".concat(o.instanceID)),o.$item.appendChild(o.image.$container),o.image.useImgTag?a=o.extend({"object-fit":o.options.imgSize,"object-position":o.options.imgPosition,"font-family":"object-fit: ".concat(o.options.imgSize,"; object-position: ").concat(o.options.imgPosition,";"),"max-width":"none"},i,a):(o.image.$item=document.createElement("div"),o.image.src&&(a=o.extend({"background-position":o.options.imgPosition,"background-size":o.options.imgSize,"background-repeat":o.options.imgRepeat,"background-image":o.image.bgImage||'url("'.concat(o.image.src,'")')},i,a))),"opacity"!==o.options.type&&"scale"!==o.options.type&&"scale-opacity"!==o.options.type&&1!==o.options.speed||(o.image.position="absolute"),"fixed"===o.image.position&&(n=function(e){for(var t=[];null!==e.parentElement;)1===(e=e.parentElement).nodeType&&t.push(e);return t}(o.$item).filter(function(e){var t=b.window.getComputedStyle(e),n=t["-webkit-transform"]||t["-moz-transform"]||t.transform;return n&&"none"!==n||/(auto|scroll)/.test(t.overflow+t["overflow-y"]+t["overflow-x"])}),o.image.position=n.length?"absolute":"fixed"),a.position=o.image.position,o.css(o.image.$item,a),o.image.$container.appendChild(o.image.$item),o.onResize(),o.onScroll(!0),o.options.onInit&&o.options.onInit.call(o),"none"!==o.css(o.$item,"background-image")&&o.css(o.$item,{"background-image":"none"}),o.addToParallaxList()}},{key:"addToParallaxList",value:function(){g.push({instance:this}),1===g.length&&b.window.requestAnimationFrame(y)}},{key:"removeFromParallaxList",value:function(){var n=this;g.forEach(function(e,t){e.instance.instanceID===n.instanceID&&g.splice(t,1)})}},{key:"destroy",value:function(){var e=this;e.removeFromParallaxList();var t,n=e.$item.getAttribute("data-jarallax-original-styles");e.$item.removeAttribute("data-jarallax-original-styles"),n?e.$item.setAttribute("style",n):e.$item.removeAttribute("style"),e.image.useImgTag&&(t=e.image.$item.getAttribute("data-jarallax-original-styles"),e.image.$item.removeAttribute("data-jarallax-original-styles"),t?e.image.$item.setAttribute("style",n):e.image.$item.removeAttribute("style"),e.image.$itemParent&&e.image.$itemParent.appendChild(e.image.$item)),e.$clipStyles&&e.$clipStyles.parentNode.removeChild(e.$clipStyles),e.image.$container&&e.image.$container.parentNode.removeChild(e.image.$container),e.options.onDestroy&&e.options.onDestroy.call(e),delete e.$item.jarallax}},{key:"clipContainer",value:function(){var e,t,n,o,i;"fixed"===this.image.position&&(n=(t=(e=this).image.$container.getBoundingClientRect()).width,o=t.height,e.$clipStyles||(e.$clipStyles=document.createElement("style"),e.$clipStyles.setAttribute("type","text/css"),e.$clipStyles.setAttribute("id","jarallax-clip-".concat(e.instanceID)),(document.head||document.getElementsByTagName("head")[0]).appendChild(e.$clipStyles)),i="#jarallax-container-".concat(e.instanceID," {\n clip: rect(0 ").concat(n,"px ").concat(o,"px 0);\n clip: rect(0, ").concat(n,"px, ").concat(o,"px, 0);\n -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\n clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\n }"),e.$clipStyles.styleSheet?e.$clipStyles.styleSheet.cssText=i:e.$clipStyles.innerHTML=i)}},{key:"coverImage",value:function(){var e=this,t=e.image.$container.getBoundingClientRect(),n=t.height,o=e.options.speed,i="scroll"===e.options.type||"scroll-opacity"===e.options.type,a=0,r=n,l=0;return i&&(o<0?(a=o*Math.max(n,h),h<n&&(a-=o*(n-h))):a=o*(n+h),1<o?r=Math.abs(a-h):o<0?r=a/o+Math.abs(a):r+=(h-n)*(1-o),a/=2),e.parallaxScrollDistance=a,l=i?(h-r)/2:(n-r)/2,e.css(e.image.$item,{height:"".concat(r,"px"),marginTop:"".concat(l,"px"),left:"fixed"===e.image.position?"".concat(t.left,"px"):"0",width:"".concat(t.width,"px")}),e.options.onCoverImage&&e.options.onCoverImage.call(e),{image:{height:r,marginTop:l},container:t}}},{key:"isVisible",value:function(){return this.isElementInViewport||!1}},{key:"onScroll",value:function(e){var t,n,o,i,a,r,l,s,c,u,p=this,d=p.$item.getBoundingClientRect(),m=d.top,f=d.height,g={},y=d;p.options.elementInViewport&&(y=p.options.elementInViewport.getBoundingClientRect()),p.isElementInViewport=0<=y.bottom&&0<=y.right&&y.top<=h&&y.left<=b.window.innerWidth,(e||p.isElementInViewport)&&(t=Math.max(0,m),n=Math.max(0,f+m),o=Math.max(0,-m),i=Math.max(0,m+f-h),a=Math.max(0,f-(m+f-h)),r=Math.max(0,-m+h-f),l=1-(h-m)/(h+f)*2,s=1,f<h?s=1-(o||i)/f:n<=h?s=n/h:a<=h&&(s=a/h),"opacity"!==p.options.type&&"scale-opacity"!==p.options.type&&"scroll-opacity"!==p.options.type||(g.transform="translate3d(0,0,0)",g.opacity=s),"scale"!==p.options.type&&"scale-opacity"!==p.options.type||(c=1,p.options.speed<0?c-=p.options.speed*s:c+=p.options.speed*(1-s),g.transform="scale(".concat(c,") translate3d(0,0,0)")),"scroll"!==p.options.type&&"scroll-opacity"!==p.options.type||(u=p.parallaxScrollDistance*l,"absolute"===p.image.position&&(u-=m),g.transform="translate3d(0,".concat(u,"px,0)")),p.css(p.image.$item,g),p.options.onScroll&&p.options.onScroll.call(p,{section:d,beforeTop:t,beforeTopEnd:n,afterTop:o,beforeBottom:i,beforeBottomEnd:a,afterBottom:r,visiblePercent:s,fromViewportCenter:l}))}},{key:"onResize",value:function(){this.coverImage(),this.clipContainer()}}])&&r(e.prototype,t),n&&r(e,n),s}();v.constructor=w,t.default=v}]);
 
 
 
 
 
 
assets/lib/js/magnific-popup.js DELETED
@@ -1,6 +0,0 @@
1
-
2
- /*! Magnific Popup - v1.1.0 - 2016-02-20
3
- * http://dimsemenov.com/plugins/magnific-popup/
4
- * Copyright (c) 2016 Dmitry Semenov; */
5
- !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isLowIE=b.isIE8=document.all&&!document.addEventListener,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e<h.length;e++)if(g=h[e],g.parsed&&(g=g.el[0]),g===c.el[0]){b.index=e;break}}else b.items=a.isArray(c.items)?c.items:[c.items],b.index=c.index||0;if(b.isOpen)return void b.updateItemHTML();b.types=[],f="",c.mainEl&&c.mainEl.length?b.ev=c.mainEl.eq(0):b.ev=d,c.key?(b.popupsCache[c.key]||(b.popupsCache[c.key]={}),b.currTemplate=b.popupsCache[c.key]):b.currTemplate={},b.st=a.extend(!0,{},a.magnificPopup.defaults,c),b.fixedContentPos="auto"===b.st.fixedContentPos?!b.probablyMobile:b.st.fixedContentPos,b.st.modal&&(b.st.closeOnContentClick=!1,b.st.closeOnBgClick=!1,b.st.showCloseBtn=!1,b.st.enableEscapeKey=!1),b.bgOverlay||(b.bgOverlay=x("bg").on("click"+p,function(){b.close()}),b.wrap=x("wrap").attr("tabindex",-1).on("click"+p,function(a){b._checkIfClose(a.target)&&b.close()}),b.container=x("container",b.wrap)),b.contentContainer=x("content"),b.st.preloader&&(b.preloader=x("preloader",b.container,b.st.tLoading));var i=a.magnificPopup.modules;for(e=0;e<i.length;e++){var j=i[e];j=j.charAt(0).toUpperCase()+j.slice(1),b["init"+j].call(b)}y("BeforeOpen"),b.st.showCloseBtn&&(b.st.closeBtnInside?(w(l,function(a,b,c,d){c.close_replaceWith=z(d.type)}),f+=" mfp-close-btn-in"):b.wrap.append(z())),b.st.alignTop&&(f+=" mfp-align-top"),b.fixedContentPos?b.wrap.css({overflow:b.st.overflowY,overflowX:"hidden",overflowY:b.st.overflowY}):b.wrap.css({top:v.scrollTop(),position:"absolute"}),(b.st.fixedBgPos===!1||"auto"===b.st.fixedBgPos&&!b.fixedContentPos)&&b.bgOverlay.css({height:d.height(),position:"absolute"}),b.st.enableEscapeKey&&d.on("keyup"+p,function(a){27===a.keyCode&&b.close()}),v.on("resize"+p,function(){b.updateSize()}),b.st.closeOnContentClick||(f+=" mfp-auto-cursor"),f&&b.wrap.addClass(f);var k=b.wH=v.height(),n={};if(b.fixedContentPos&&b._hasScrollBar(k)){var o=b._getScrollbarSize();o&&(n.marginRight=o)}b.fixedContentPos&&(b.isIE7?a("body, html").css("overflow","hidden"):n.overflow="hidden");var r=b.st.mainClass;return b.isIE7&&(r+=" mfp-ie7"),r&&b._addClassToMFP(r),b.updateItemHTML(),y("BuildControls"),a("html").css(n),b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo||a(document.body)),b._lastFocusedEl=document.activeElement,setTimeout(function(){b.content?(b._addClassToMFP(q),b._setFocus()):b.bgOverlay.addClass(q),d.on("focusin"+p,b._onFocusIn)},16),b.isOpen=!0,b.updateSize(k),y(m),c},close:function(){b.isOpen&&(y(i),b.isOpen=!1,b.st.removalDelay&&!b.isLowIE&&b.supportsTransition?(b._addClassToMFP(r),setTimeout(function(){b._close()},b.st.removalDelay)):b._close())},_close:function(){y(h);var c=r+" "+q+" ";if(b.bgOverlay.detach(),b.wrap.detach(),b.container.empty(),b.st.mainClass&&(c+=b.st.mainClass+" "),b._removeClassFromMFP(c),b.fixedContentPos){var e={marginRight:""};b.isIE7?a("body, html").css("overflow",""):e.overflow="",a("html").css(e)}d.off("keyup"+p+" focusin"+p),b.ev.off(p),b.wrap.attr("class","mfp-wrap").removeAttr("style"),b.bgOverlay.attr("class","mfp-bg"),b.container.attr("class","mfp-container"),!b.st.showCloseBtn||b.st.closeBtnInside&&b.currTemplate[b.currItem.type]!==!0||b.currTemplate.closeBtn&&b.currTemplate.closeBtn.detach(),b.st.autoFocusLast&&b._lastFocusedEl&&a(b._lastFocusedEl).focus(),b.currItem=null,b.content=null,b.currTemplate=null,b.prevHeight=0,y(j)},updateSize:function(a){if(b.isIOS){var c=document.documentElement.clientWidth/window.innerWidth,d=window.innerHeight*c;b.wrap.css("height",d),b.wH=d}else b.wH=a||v.height();b.fixedContentPos||b.wrap.css("height",b.wH),y("Resize")},updateItemHTML:function(){var c=b.items[b.index];b.contentContainer.detach(),b.content&&b.content.detach(),c.parsed||(c=b.parseEl(b.index));var d=c.type;if(y("BeforeChange",[b.currItem?b.currItem.type:"",d]),b.currItem=c,!b.currTemplate[d]){var f=b.st[d]?b.st[d].markup:!1;y("FirstMarkupParse",f),f?b.currTemplate[d]=a(f):b.currTemplate[d]=!0}e&&e!==c.type&&b.container.removeClass("mfp-"+e+"-holder");var g=b["get"+d.charAt(0).toUpperCase()+d.slice(1)](c,b.currTemplate[d]);b.appendContent(g,d),c.preloaded=!0,y(n,c),e=c.type,b.container.prepend(b.contentContainer),y("AfterChange")},appendContent:function(a,c){b.content=a,a?b.st.showCloseBtn&&b.st.closeBtnInside&&b.currTemplate[c]===!0?b.content.find(".mfp-close").length||b.content.append(z()):b.content=a:b.content="",y(k),b.container.addClass("mfp-"+c+"-holder"),b.contentContainer.append(b.content)},parseEl:function(c){var d,e=b.items[c];if(e.tagName?e={el:a(e)}:(d=e.type,e={data:e,src:e.src}),e.el){for(var f=b.types,g=0;g<f.length;g++)if(e.el.hasClass("mfp-"+f[g])){d=f[g];break}e.src=e.el.attr("data-mfp-src"),e.src||(e.src=e.el.attr("href"))}return e.type=d||b.st.type||"inline",e.index=c,e.parsed=!0,b.items[c]=e,y("ElementParse",e),b.items[c]},addGroup:function(a,c){var d=function(d){d.mfpEl=this,b._openClick(d,a,c)};c||(c={});var e="click.magnificPopup";c.mainEl=a,c.items?(c.isObj=!0,a.off(e).on(e,d)):(c.isObj=!1,c.delegate?a.off(e).on(e,c.delegate,d):(c.items=a,a.off(e).on(e,d)))},_openClick:function(c,d,e){var f=void 0!==e.midClick?e.midClick:a.magnificPopup.defaults.midClick;if(f||!(2===c.which||c.ctrlKey||c.metaKey||c.altKey||c.shiftKey)){var g=void 0!==e.disableOn?e.disableOn:a.magnificPopup.defaults.disableOn;if(g)if(a.isFunction(g)){if(!g.call(b))return!0}else if(v.width()<g)return!0;c.type&&(c.preventDefault(),b.isOpen&&c.stopPropagation()),e.el=a(c.mfpEl),e.delegate&&(e.items=d.find(e.delegate)),b.open(e)}},updateStatus:function(a,d){if(b.preloader){c!==a&&b.container.removeClass("mfp-s-"+c),d||"loading"!==a||(d=b.st.tLoading);var e={status:a,text:d};y("UpdateStatus",e),a=e.status,d=e.text,b.preloader.html(d),b.preloader.find("a").on("click",function(a){a.stopImmediatePropagation()}),b.container.addClass("mfp-s-"+a),c=a}},_checkIfClose:function(c){if(!a(c).hasClass(s)){var d=b.st.closeOnContentClick,e=b.st.closeOnBgClick;if(d&&e)return!0;if(!b.content||a(c).hasClass("mfp-close")||b.preloader&&c===b.preloader[0])return!0;if(c===b.content[0]||a.contains(b.content[0],c)){if(d)return!0}else if(e&&a.contains(document,c))return!0;return!1}},_addClassToMFP:function(a){b.bgOverlay.addClass(a),b.wrap.addClass(a)},_removeClassFromMFP:function(a){this.bgOverlay.removeClass(a),b.wrap.removeClass(a)},_hasScrollBar:function(a){return(b.isIE7?d.height():document.body.scrollHeight)>(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(c,d){if(void 0===d||d===!1)return!0;if(e=c.split("_"),e.length>1){var f=b.find(p+"-"+e[0]);if(f.length>0){var g=e[1];"replaceWith"===g?f[0]!==d[0]&&f.replaceWith(d):"img"===g?f.is("img")?f.attr("src",d):f.replaceWith(a("<img>").attr("src",d).attr("class",f.attr("class"))):f.attr(e[1],d)}}else b.find(p+"-"+c).html(d)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&#215;</button>',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("<div>");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery";return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('<img class="mfp-img" />').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()});
6
-
 
 
 
 
 
 
assets/lib/js/one-page-nav.js DELETED
@@ -1,227 +0,0 @@
1
-
2
- /*
3
- * jQuery One Page Nav Plugin
4
- * http://github.com/davist11/jQuery-One-Page-Nav
5
- *
6
- * Copyright (c) 2010 Trevor Davis (http://trevordavis.net)
7
- * Dual licensed under the MIT and GPL licenses.
8
- * Uses the same license as jQuery, see:
9
- * http://jquery.org/license
10
- *
11
- * @version 3.0.0
12
- *
13
- * Example usage:
14
- * $('#nav').onePageNav({
15
- * currentClass: 'current',
16
- * changeHash: false,
17
- * scrollSpeed: 750
18
- * });
19
- */
20
-
21
- ;(function($, window, document, undefined){
22
-
23
- // our plugin constructor
24
- var OnePageNav = function(elem, options){
25
- this.elem = elem;
26
- this.$elem = $(elem);
27
- this.options = options;
28
- this.metadata = this.$elem.data('plugin-options');
29
- this.$win = $(window);
30
- this.sections = {};
31
- this.didScroll = false;
32
- this.$doc = $(document);
33
- this.docHeight = this.$doc.height();
34
- };
35
-
36
- // the plugin prototype
37
- OnePageNav.prototype = {
38
- defaults: {
39
- navItems: 'a',
40
- currentClass: 'current',
41
- changeHash: false,
42
- easing: 'swing',
43
- filter: '',
44
- scrollSpeed: 750,
45
- scrollThreshold: 0.5,
46
- begin: false,
47
- end: false,
48
- scrollChange: false
49
- },
50
-
51
- init: function() {
52
- // Introduce defaults that can be extended either
53
- // globally or using an object literal.
54
- this.config = $.extend({}, this.defaults, this.options, this.metadata);
55
-
56
- this.$nav = this.$elem.find(this.config.navItems);
57
-
58
- //Filter any links out of the nav
59
- if(this.config.filter !== '') {
60
- this.$nav = this.$nav.filter(this.config.filter);
61
- }
62
-
63
- //Handle clicks on the nav
64
- this.$nav.on('click.onePageNav', $.proxy(this.handleClick, this));
65
-
66
- //Get the section positions
67
- this.getPositions();
68
-
69
- //Handle scroll changes
70
- this.bindInterval();
71
-
72
- //Update the positions on resize too
73
- this.$win.on('resize.onePageNav', $.proxy(this.getPositions, this));
74
-
75
- return this;
76
- },
77
-
78
- adjustNav: function(self, $parent) {
79
- self.$elem.find('.' + self.config.currentClass).removeClass(self.config.currentClass);
80
- $parent.addClass(self.config.currentClass);
81
- },
82
-
83
- bindInterval: function() {
84
- var self = this;
85
- var docHeight;
86
-
87
- self.$win.on('scroll.onePageNav', function() {
88
- self.didScroll = true;
89
- });
90
-
91
- self.t = setInterval(function() {
92
- docHeight = self.$doc.height();
93
-
94
- //If it was scrolled
95
- if(self.didScroll) {
96
- self.didScroll = false;
97
- self.scrollChange();
98
- }
99
-
100
- //If the document height changes
101
- if(docHeight !== self.docHeight) {
102
- self.docHeight = docHeight;
103
- self.getPositions();
104
- }
105
- }, 250);
106
- },
107
-
108
- getHash: function($link) {
109
- return $link.attr('href').split('#')[1];
110
- },
111
-
112
- getPositions: function() {
113
- var self = this;
114
- var linkHref;
115
- var topPos;
116
- var $target;
117
-
118
- self.$nav.each(function() {
119
- linkHref = self.getHash($(this));
120
- $target = $('#' + linkHref);
121
-
122
- if($target.length) {
123
- topPos = $target.offset().top;
124
- self.sections[linkHref] = Math.round(topPos);
125
- }
126
- });
127
- },
128
-
129
- getSection: function(windowPos) {
130
- var returnValue = null;
131
- var windowHeight = Math.round(this.$win.height() * this.config.scrollThreshold);
132
-
133
- for(var section in this.sections) {
134
- if((this.sections[section] - windowHeight) < windowPos) {
135
- returnValue = section;
136
- }
137
- }
138
-
139
- return returnValue;
140
- },
141
-
142
- handleClick: function(e) {
143
- var self = this;
144
- var $link = $(e.currentTarget);
145
- var $parent = $link.parent();
146
- var newLoc = '#' + self.getHash($link);
147
-
148
- if(!$parent.hasClass(self.config.currentClass)) {
149
- //Start callback
150
- if(self.config.begin) {
151
- self.config.begin();
152
- }
153
-
154
- //Change the highlighted nav item
155
- self.adjustNav(self, $parent);
156
-
157
- //Removing the auto-adjust on scroll
158
- self.unbindInterval();
159
-
160
- //Scroll to the correct position
161
- self.scrollTo(newLoc, function() {
162
- //Do we need to change the hash?
163
- if(self.config.changeHash) {
164
- window.location.hash = newLoc;
165
- }
166
-
167
- //Add the auto-adjust on scroll back in
168
- self.bindInterval();
169
-
170
- //End callback
171
- if(self.config.end) {
172
- self.config.end();
173
- }
174
- });
175
- }
176
-
177
- e.preventDefault();
178
- },
179
-
180
- scrollChange: function() {
181
- var windowTop = this.$win.scrollTop();
182
- var position = this.getSection(windowTop);
183
- var $parent;
184
-
185
- //If the position is set
186
- if(position !== null) {
187
- $parent = this.$elem.find('a[href$="#' + position + '"]').parent();
188
-
189
- //If it's not already the current section
190
- if(!$parent.hasClass(this.config.currentClass)) {
191
- //Change the highlighted nav item
192
- this.adjustNav(this, $parent);
193
-
194
- //If there is a scrollChange callback
195
- if(this.config.scrollChange) {
196
- this.config.scrollChange($parent);
197
- }
198
- }
199
- }
200
- },
201
-
202
- scrollTo: function(target, callback) {
203
- var offset = $(target).offset().top;
204
-
205
- $('html, body').animate({
206
- scrollTop: offset
207
- }, this.config.scrollSpeed, this.config.easing, callback);
208
- },
209
-
210
- unbindInterval: function() {
211
- clearInterval(this.t);
212
- this.$win.unbind('scroll.onePageNav');
213
- }
214
- };
215
-
216
- OnePageNav.defaults = OnePageNav.prototype.defaults;
217
-
218
- $.fn.onePageNav = function(options) {
219
- return this.each(function() {
220
- new OnePageNav(this, options).init();
221
- });
222
- };
223
-
224
- })( jQuery, window , document );
225
-
226
-
227
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/lib/js/wow.js DELETED
@@ -1,3 +0,0 @@
1
- /*! WOW wow.js - v1.3.0 - 2016-10-04
2
- * https://wowjs.uk
3
- * Copyright (c) 2016 Thomas Grainger; Licensed MIT */!function(a,b){if("function"==typeof define&&define.amd)define(["module","exports"],b);else if("undefined"!=typeof exports)b(module,exports);else{var c={exports:{}};b(c,c.exports),a.WOW=c.exports}}(this,function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){return b.indexOf(a)>=0}function e(a,b){for(var c in b)if(null==a[c]){var d=b[c];a[c]=d}return a}function f(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)}function g(a){var b=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],c=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],d=arguments.length<=3||void 0===arguments[3]?null:arguments[3],e=void 0;return null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e}function h(a,b){null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)&&a["on"+b]()}function i(a,b,c){null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c}function j(a,b,c){null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]}function k(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight}Object.defineProperty(b,"__esModule",{value:!0});var l,m,n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),o=window.WeakMap||window.MozWeakMap||function(){function a(){c(this,a),this.keys=[],this.values=[]}return n(a,[{key:"get",value:function(a){for(var b=0;b<this.keys.length;b++){var c=this.keys[b];if(c===a)return this.values[b]}}},{key:"set",value:function(a,b){for(var c=0;c<this.keys.length;c++){var d=this.keys[c];if(d===a)return this.values[c]=b,this}return this.keys.push(a),this.values.push(b),this}}]),a}(),p=window.MutationObserver||window.WebkitMutationObserver||window.MozMutationObserver||(m=l=function(){function a(){c(this,a),"undefined"!=typeof console&&null!==console&&(console.warn("MutationObserver is not supported by your browser."),console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content."))}return n(a,[{key:"observe",value:function(){}}]),a}(),l.notSupported=!0,m),q=window.getComputedStyle||function(a){var b=/(\-([a-z]){1})/g;return{getPropertyValue:function(c){"float"===c&&(c="styleFloat"),b.test(c)&&c.replace(b,function(a,b){return b.toUpperCase()});var d=a.currentStyle;return(null!=d?d[c]:void 0)||null}}},r=function(){function a(){var b=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];c(this,a),this.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null,scrollContainer:null,resetAnimation:!0},this.animate=function(){return"requestAnimationFrame"in window?function(a){return window.requestAnimationFrame(a)}:function(a){return a()}}(),this.vendors=["moz","webkit"],this.start=this.start.bind(this),this.resetAnimation=this.resetAnimation.bind(this),this.scrollHandler=this.scrollHandler.bind(this),this.scrollCallback=this.scrollCallback.bind(this),this.scrolled=!0,this.config=e(b,this.defaults),null!=b.scrollContainer&&(this.config.scrollContainer=document.querySelector(b.scrollContainer)),this.animationNameCache=new o,this.wowEvent=g(this.config.boxClass)}return n(a,[{key:"init",value:function(){this.element=window.document.documentElement,d(document.readyState,["interactive","complete"])?this.start():i(document,"DOMContentLoaded",this.start),this.finished=[]}},{key:"start",value:function(){var a=this;if(this.stopped=!1,this.boxes=[].slice.call(this.element.querySelectorAll("."+this.config.boxClass)),this.all=this.boxes.slice(0),this.boxes.length)if(this.disabled())this.resetStyle();else for(var b=0;b<this.boxes.length;b++){var c=this.boxes[b];this.applyStyle(c,!0)}if(this.disabled()||(i(this.config.scrollContainer||window,"scroll",this.scrollHandler),i(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live){var d=new p(function(b){for(var c=0;c<b.length;c++)for(var d=b[c],e=0;e<d.addedNodes.length;e++){var f=d.addedNodes[e];a.doSync(f)}});d.observe(document.body,{childList:!0,subtree:!0})}}},{key:"stop",value:function(){this.stopped=!0,j(this.config.scrollContainer||window,"scroll",this.scrollHandler),j(window,"resize",this.scrollHandler),null!=this.interval&&clearInterval(this.interval)}},{key:"sync",value:function(){p.notSupported&&this.doSync(this.element)}},{key:"doSync",value:function(a){if("undefined"!=typeof a&&null!==a||(a=this.element),1===a.nodeType){a=a.parentNode||a;for(var b=a.querySelectorAll("."+this.config.boxClass),c=0;c<b.length;c++){var e=b[c];d(e,this.all)||(this.boxes.push(e),this.all.push(e),this.stopped||this.disabled()?this.resetStyle():this.applyStyle(e,!0),this.scrolled=!0)}}}},{key:"show",value:function(a){return this.applyStyle(a),a.className=a.className+" "+this.config.animateClass,null!=this.config.callback&&this.config.callback(a),h(a,this.wowEvent),this.config.resetAnimation&&(i(a,"animationend",this.resetAnimation),i(a,"oanimationend",this.resetAnimation),i(a,"webkitAnimationEnd",this.resetAnimation),i(a,"MSAnimationEnd",this.resetAnimation)),a}},{key:"applyStyle",value:function(a,b){var c=this,d=a.getAttribute("data-wow-duration"),e=a.getAttribute("data-wow-delay"),f=a.getAttribute("data-wow-iteration");return this.animate(function(){return c.customStyle(a,b,d,e,f)})}},{key:"resetStyle",value:function(){for(var a=0;a<this.boxes.length;a++){var b=this.boxes[a];b.style.visibility="visible"}}},{key:"resetAnimation",value:function(a){if(a.type.toLowerCase().indexOf("animationend")>=0){var b=a.target||a.srcElement;b.className=b.className.replace(this.config.animateClass,"").trim()}}},{key:"customStyle",value:function(a,b,c,d,e){return b&&this.cacheAnimationName(a),a.style.visibility=b?"hidden":"visible",c&&this.vendorSet(a.style,{animationDuration:c}),d&&this.vendorSet(a.style,{animationDelay:d}),e&&this.vendorSet(a.style,{animationIterationCount:e}),this.vendorSet(a.style,{animationName:b?"none":this.cachedAnimationName(a)}),a}},{key:"vendorSet",value:function(a,b){for(var c in b)if(b.hasOwnProperty(c)){var d=b[c];a[""+c]=d;for(var e=0;e<this.vendors.length;e++){var f=this.vendors[e];a[""+f+c.charAt(0).toUpperCase()+c.substr(1)]=d}}}},{key:"vendorCSS",value:function(a,b){for(var c=q(a),d=c.getPropertyCSSValue(b),e=0;e<this.vendors.length;e++){var f=this.vendors[e];d=d||c.getPropertyCSSValue("-"+f+"-"+b)}return d}},{key:"animationName",value:function(a){var b=void 0;try{b=this.vendorCSS(a,"animation-name").cssText}catch(c){b=q(a).getPropertyValue("animation-name")}return"none"===b?"":b}},{key:"cacheAnimationName",value:function(a){return this.animationNameCache.set(a,this.animationName(a))}},{key:"cachedAnimationName",value:function(a){return this.animationNameCache.get(a)}},{key:"scrollHandler",value:function(){this.scrolled=!0}},{key:"scrollCallback",value:function(){if(this.scrolled){this.scrolled=!1;for(var a=[],b=0;b<this.boxes.length;b++){var c=this.boxes[b];if(c){if(this.isVisible(c)){this.show(c);continue}a.push(c)}}this.boxes=a,this.boxes.length||this.config.live||this.stop()}}},{key:"offsetTop",value:function(a){for(;void 0===a.offsetTop;)a=a.parentNode;for(var b=a.offsetTop;a.offsetParent;)a=a.offsetParent,b+=a.offsetTop;return b}},{key:"isVisible",value:function(a){var b=a.getAttribute("data-wow-offset")||this.config.offset,c=this.config.scrollContainer&&this.config.scrollContainer.scrollTop||window.pageYOffset,d=c+Math.min(this.element.clientHeight,k())-b,e=this.offsetTop(a),f=e+a.clientHeight;return d>=e&&f>=c}},{key:"disabled",value:function(){return!this.config.mobile&&f(navigator.userAgent)}}]),a}();b["default"]=r,a.exports=b["default"]});
 
 
 
classes/class.ajax_actions.php DELETED
@@ -1,135 +0,0 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
-
4
- class Woolentor_Ajax_Action{
5
-
6
- /**
7
- * [$instance]
8
- * @var null
9
- */
10
- private static $instance = null;
11
-
12
- /**
13
- * [instance]
14
- * @return [Woolentor_Ajax_Action]
15
- */
16
- public static function instance(){
17
- if( is_null( self::$instance ) ){
18
- self::$instance = new self();
19
- }
20
- return self::$instance;
21
- }
22
-
23
- /**
24
- * [__construct]
25
- */
26
- function __construct(){
27
-
28
- // For Add to cart
29
- add_action( 'wp_ajax_woolentor_insert_to_cart', [ $this, 'insert_to_cart' ] );
30
- add_action( 'wp_ajax_nopriv_woolentor_insert_to_cart', [ $this, 'insert_to_cart' ] );
31
-
32
- // For Single Product ajax add to cart
33
- add_action( 'wp_ajax_woolentor_single_insert_to_cart', [ $this, 'single_product_insert_to_cart' ] );
34
- add_action( 'wp_ajax_nopriv_woolentor_single_insert_to_cart', [ $this, 'single_product_insert_to_cart' ] );
35
-
36
- // For Quickview
37
- add_action( 'wp_ajax_woolentor_quickview', [ '\WooLentor\Quick_View_Manager', 'wc_quickview' ] );
38
- add_action( 'wp_ajax_nopriv_woolentor_quickview', [ '\WooLentor\Quick_View_Manager', 'wc_quickview' ] );
39
-
40
- // For ajax search
41
- add_action( 'wp_ajax_woolentor_ajax_search', [ $this, 'ajax_search_callback' ] );
42
- add_action( 'wp_ajax_nopriv_woolentor_ajax_search', [ $this, 'ajax_search_callback' ] );
43
-
44
- }
45
-
46
- /**
47
- * [insert_to_cart] Insert add to cart
48
- * @return [JSON]
49
- */
50
- public function insert_to_cart(){
51
-
52
- // phpcs:disable WordPress.Security.NonceVerification.Missing
53
- if ( ! isset( $_POST['product_id'] ) ) {
54
- return;
55
- }
56
-
57
- $product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_POST['product_id'] ) );
58
- $quantity = empty( $_POST['quantity'] ) ? 1 : wc_stock_amount( wp_unslash( $_POST['quantity'] ) );
59
- $variation_id = !empty( $_POST['variation_id'] ) ? absint( $_POST['variation_id'] ) : 0;
60
- $variations = !empty( $_POST['variations'] ) ? array_map( 'sanitize_text_field', $_POST['variations'] ) : array();
61
- $passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity, $variation_id, $variations );
62
- $product_status = get_post_status( $product_id );
63
-
64
- if ( $passed_validation && \WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variations ) && 'publish' === $product_status ) {
65
- do_action( 'woocommerce_ajax_added_to_cart', $product_id );
66
- if ( 'yes' === get_option('woocommerce_cart_redirect_after_add') ) {
67
- wc_add_to_cart_message( array( $product_id => $quantity ), true );
68
- }
69
- \WC_AJAX::get_refreshed_fragments();
70
- } else {
71
- $data = array(
72
- 'error' => true,
73
- 'product_url' => apply_filters('woocommerce_cart_redirect_after_error', get_permalink( $product_id ), $product_id ),
74
- );
75
- echo wp_send_json( $data );
76
- }
77
- wp_send_json_success();
78
-
79
- }
80
-
81
- /**
82
- * [single_product_insert_to_cart] Single product ajax add to cart callable function
83
- * @return [JSON]
84
- */
85
- public function single_product_insert_to_cart(){
86
-
87
- // phpcs:disable WordPress.Security.NonceVerification.Missing
88
- if ( ! isset( $_POST['product_id'] ) ) {
89
- return;
90
- }
91
-
92
- $product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_POST['product_id'] ) );
93
- $product = wc_get_product( $product_id );
94
- $quantity = empty( $_POST['quantity'] ) ? 1 : wc_stock_amount( wp_unslash( $_POST['quantity'] ) );
95
- $variation_id = !empty( $_POST['variation_id'] ) ? absint( $_POST['variation_id'] ) : 0;
96
- $variations = !empty( $_POST['variations'] ) ? array_map( 'sanitize_text_field', json_decode( stripslashes( $_POST['variations'] ), true ) ) : array();
97
- $passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity, $variation_id, $variations );
98
- $product_status = get_post_status( $product_id );
99
-
100
- $cart_item_data = $_POST;
101
-
102
- if ( $passed_validation && 'publish' === $product_status ) {
103
-
104
- if( count( $variations ) == 0 ){
105
- \WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variations, $cart_item_data );
106
- }
107
-
108
- do_action( 'woocommerce_ajax_added_to_cart', $product_id );
109
- if ( 'yes' === get_option('woocommerce_cart_redirect_after_add') ) {
110
- wc_add_to_cart_message( array( $product_id => $quantity ), true );
111
- }
112
- \WC_AJAX::get_refreshed_fragments();
113
- } else {
114
- $data = array(
115
- 'error' => true,
116
- 'product_url' => apply_filters('woocommerce_cart_redirect_after_error', get_permalink( $product_id ), $product_id ),
117
- );
118
- echo wp_send_json( $data );
119
- }
120
- wp_send_json_success();
121
-
122
- }
123
-
124
- /**
125
- * [ajax_search_callback] ajax search
126
- * @return [void]
127
- */
128
- public function ajax_search_callback(){
129
- WooLentor_Ajax_Search_Base::instance()->ajax_search_callback();
130
- }
131
-
132
-
133
- }
134
-
135
- Woolentor_Ajax_Action::instance();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class.assest_management.php CHANGED
@@ -46,21 +46,6 @@ class Assets_Management{
46
  // Frontend Scripts
47
  add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_frontend_scripts' ] );
48
 
49
- add_filter( 'body_class', [ $this, 'body_classes' ] );
50
-
51
- }
52
-
53
- /**
54
- * [body_classes]
55
- * @param [array] $classes
56
- * @return [array]
57
- */
58
- public function body_classes( $classes ){
59
-
60
- $current_theme = wp_get_theme();
61
- $classes[] = 'woolentor_current_theme_'.$current_theme->get( 'TextDomain' );
62
-
63
- return $classes;
64
  }
65
 
66
  /**
@@ -83,10 +68,6 @@ class Assets_Management{
83
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/font-awesome.min.css',
84
  'version' => WOOLENTOR_VERSION
85
  ],
86
- 'woolentor-select2' => [
87
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/select2.min.css',
88
- 'version' => WOOLENTOR_VERSION
89
- ],
90
  'woolentor-widgets' => [
91
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/woolentor-widgets.css',
92
  'version' => WOOLENTOR_VERSION
@@ -95,10 +76,6 @@ class Assets_Management{
95
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/slick.css',
96
  'version' => WOOLENTOR_VERSION
97
  ],
98
- 'magnific-popup' => [
99
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/lib/css/magnific-popup.css',
100
- 'version' => WOOLENTOR_VERSION
101
- ],
102
  'woolentor-widgets-rtl' => [
103
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/woolentor-widgets-rtl.css',
104
  'version' => WOOLENTOR_VERSION
@@ -120,33 +97,6 @@ class Assets_Management{
120
  'src' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/css/tmp-style.css',
121
  'version' => WOOLENTOR_VERSION
122
  ],
123
- 'woolentor-store-feature' => [
124
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/store-feature.css',
125
- 'version' => WOOLENTOR_VERSION
126
- ],
127
- 'woolentor-faq' => [
128
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/faq.css',
129
- 'version' => WOOLENTOR_VERSION
130
- ],
131
- 'woolentor-category-grid' => [
132
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/category-grid.css',
133
- 'version' => WOOLENTOR_VERSION
134
- ],
135
- 'woolentor-slider' => [
136
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/slider.css',
137
- 'version' => WOOLENTOR_VERSION,
138
- 'deps' => [ 'magnific-popup' ]
139
- ],
140
- 'woolentor-testimonial' => [
141
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/testimonial.css',
142
- 'version' => WOOLENTOR_VERSION,
143
- 'deps' => [ 'slick' ]
144
- ],
145
- 'woolentor-product-grid' => [
146
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/product-grid.css',
147
- 'version' => WOOLENTOR_VERSION,
148
- 'deps' => [ 'slick','simple-line-icons-wl' ]
149
- ],
150
 
151
 
152
  ];
@@ -172,41 +122,16 @@ class Assets_Management{
172
  'version' => WOOLENTOR_VERSION,
173
  'deps' => [ 'jquery' ]
174
  ],
175
- 'woolentor-accordion-min' => [
176
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/js/accordion.min.js',
177
- 'version' => WOOLENTOR_VERSION,
178
- 'deps' => [ 'jquery' ]
179
- ],
180
- 'select2-min' => [
181
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/js/select2.min.js',
182
- 'version' => WOOLENTOR_VERSION,
183
- 'deps' => [ 'jquery' ]
184
- ],
185
- 'wow' => [
186
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/lib/js/wow.js',
187
- 'version' => WOOLENTOR_VERSION,
188
- 'deps' => [ 'jquery' ]
189
- ],
190
- 'jarallax' => [
191
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/lib/js/jarallax.js',
192
  'version' => WOOLENTOR_VERSION,
193
- 'deps' => [ 'jquery' ]
194
  ],
195
- 'magnific-popup' => [
196
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/lib/js/magnific-popup.js',
197
  'version' => WOOLENTOR_VERSION,
198
  'deps' => [ 'jquery' ]
199
  ],
200
- 'one-page-nav' => [
201
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/lib/js/one-page-nav.js',
202
- 'version' => WOOLENTOR_VERSION,
203
- 'deps' => [ 'jarallax','magnific-popup','wow','jquery' ]
204
- ],
205
- 'woolentor-widgets-scripts' => [
206
- 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/js/woolentor-widgets-active.js',
207
- 'version' => WOOLENTOR_VERSION,
208
- 'deps' => [ 'jquery','slick','wc-add-to-cart-variation' ]
209
- ],
210
  'woolentor-ajax-search' => [
211
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/addons/ajax-search/js/ajax-search.js',
212
  'version' => WOOLENTOR_VERSION,
@@ -252,7 +177,7 @@ class Assets_Management{
252
  'woolentor-install-manager' => [
253
  'src' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/js/install_manager.js',
254
  'version' => WOOLENTOR_VERSION,
255
- 'deps' => [ 'wp-util', 'updates' ]
256
  ],
257
 
258
  ];
@@ -293,13 +218,7 @@ class Assets_Management{
293
  if( is_admin() ){
294
 
295
  $datalocalize = array(
296
- 'option_data'=>[
297
- 'contenttype' => woolentor_get_option( 'notification_content_type','woolentor_sales_notification_tabs', 'actual' ),
298
- 'side_mini_cart' => woolentor_get_option( 'mini_side_cart','woolentor_others_tabs', 'off' ),
299
- 'enablecustomlayout' => woolentor_get_option( 'enablecustomlayout','woolentor_woo_template_tabs', 'on' ),
300
- 'enablerenamelabel' => woolentor_get_option( 'enablerenamelabel','woolentor_rename_label_tabs', 'off' ),
301
- 'single_product_sticky_add_to_cart' => woolentor_get_option( 'single_product_sticky_add_to_cart','woolentor_others_tabs', 'off' ),
302
- ],
303
  );
304
  wp_localize_script( 'woolentor-admin-main', 'admin_wllocalize_data', $datalocalize );
305
 
@@ -311,8 +230,8 @@ class Assets_Management{
311
  'elementorURL' => admin_url( 'edit.php?post_type=elementor_library' ),
312
  'version' => WOOLENTOR_VERSION,
313
  'pluginURL' => plugin_dir_url( __FILE__ ),
314
- 'alldata' => !empty( base::$template_info['templates'] ) ? base::$template_info['templates'] : array(),
315
- 'prolink' => 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd',
316
  'prolabel' => esc_html__( 'Pro', 'woolentor' ),
317
  'loadingimg' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/images/loading.gif',
318
  'message' =>[
@@ -335,7 +254,6 @@ class Assets_Management{
335
  ],
336
  ];
337
  wp_localize_script( 'woolentor-templates', 'WLTM', $localize_data );
338
- wp_localize_script( 'woolentor-install-manager', 'WLIM', $localize_data );
339
  }
340
 
341
  }
46
  // Frontend Scripts
47
  add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_frontend_scripts' ] );
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  }
50
 
51
  /**
68
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/font-awesome.min.css',
69
  'version' => WOOLENTOR_VERSION
70
  ],
 
 
 
 
71
  'woolentor-widgets' => [
72
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/woolentor-widgets.css',
73
  'version' => WOOLENTOR_VERSION
76
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/slick.css',
77
  'version' => WOOLENTOR_VERSION
78
  ],
 
 
 
 
79
  'woolentor-widgets-rtl' => [
80
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/css/woolentor-widgets-rtl.css',
81
  'version' => WOOLENTOR_VERSION
97
  'src' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/css/tmp-style.css',
98
  'version' => WOOLENTOR_VERSION
99
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
 
101
 
102
  ];
122
  'version' => WOOLENTOR_VERSION,
123
  'deps' => [ 'jquery' ]
124
  ],
125
+ 'woolentor-widgets-scripts' => [
126
+ 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/js/woolentor-widgets-active.js',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
  'version' => WOOLENTOR_VERSION,
128
+ 'deps' => [ 'jquery','slick' ]
129
  ],
130
+ 'jquery-nicescroll' => [
131
+ 'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/addons/ajax-search/js/jquery.nicescroll.min.js',
132
  'version' => WOOLENTOR_VERSION,
133
  'deps' => [ 'jquery' ]
134
  ],
 
 
 
 
 
 
 
 
 
 
135
  'woolentor-ajax-search' => [
136
  'src' => WOOLENTOR_ADDONS_PL_URL . 'assets/addons/ajax-search/js/ajax-search.js',
137
  'version' => WOOLENTOR_VERSION,
177
  'woolentor-install-manager' => [
178
  'src' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/js/install_manager.js',
179
  'version' => WOOLENTOR_VERSION,
180
+ 'deps' => [ 'woolentor-templates', 'wp-util', 'updates' ]
181
  ],
182
 
183
  ];
218
  if( is_admin() ){
219
 
220
  $datalocalize = array(
221
+ 'contenttype' => woolentor_get_option( 'notification_content_type','woolentor_sales_notification_tabs', 'actual' ),
 
 
 
 
 
 
222
  );
223
  wp_localize_script( 'woolentor-admin-main', 'admin_wllocalize_data', $datalocalize );
224
 
230
  'elementorURL' => admin_url( 'edit.php?post_type=elementor_library' ),
231
  'version' => WOOLENTOR_VERSION,
232
  'pluginURL' => plugin_dir_url( __FILE__ ),
233
+ 'alldata' => ( !empty( \Woolentor_Template_Library::instance()->get_templates_info()['templates'] ) ? \Woolentor_Template_Library::instance()->get_templates_info()['templates']:array() ),
234
+ 'prolink' => ( !empty( \Woolentor_Template_Library::instance()->get_pro_link() ) ? \Woolentor_Template_Library::instance()->get_pro_link() : '#' ),
235
  'prolabel' => esc_html__( 'Pro', 'woolentor' ),
236
  'loadingimg' => WOOLENTOR_ADDONS_PL_URL . 'includes/admin/assets/images/loading.gif',
237
  'message' =>[
254
  ],
255
  ];
256
  wp_localize_script( 'woolentor-templates', 'WLTM', $localize_data );
 
257
  }
258
 
259
  }
classes/class.default_data.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /**
3
- * WooLentor_Default_Data
4
  */
5
  class WooLentor_Default_Data{
6
 
@@ -90,226 +90,226 @@ class WooLentor_Default_Data{
90
  }
91
  }
92
 
93
- if( $product ){
94
- switch ( $addons ){
95
-
96
- case 'wl-product-add-to-cart':
97
- ob_start();
98
- echo '<div class="product">';
99
- do_action( 'woocommerce_' . $product->get_type() . '_add_to_cart' );
100
- echo '</div>';
101
- return ob_get_clean();
102
- break;
103
-
104
- case 'wl-single-product-price':
105
- ob_start();
106
- ?>
107
- <p class="<?php echo esc_attr( apply_filters( 'woocommerce_product_price_class', 'price' ) ); ?>"><?php echo $product->get_price_html(); ?></p>
108
- <?php
109
- return ob_get_clean();
110
- break;
111
-
112
- case 'wl-single-product-short-description':
113
- ob_start();
114
- $short_description = get_the_excerpt( self::$product_id );
115
- $short_description = apply_filters( 'woocommerce_short_description', $short_description );
116
- if ( empty( $short_description ) ) { return; }
117
- ?>
118
- <div class="woocommerce-product-details__short-description"><?php echo wp_kses_post( $short_description ); ?></div>
119
- <?php
120
- return ob_get_clean();
121
- break;
122
-
123
- case 'wl-single-product-description':
124
- ob_start();
125
- $description = get_post_field( 'post_content', self::$product_id );
126
- if ( empty( $description ) ) { return; }
127
- return $description .= ob_get_clean();
128
- break;
129
-
130
- case 'wl-single-product-rating':
131
- if ( 'no' === get_option( 'woocommerce_enable_review_rating' ) ) {
132
- return;
133
- }
134
- ob_start();
135
- $rating_count = $product->get_rating_count();
136
- $review_count = $product->get_review_count();
137
- $average = $product->get_average_rating();
138
-
139
- if ( $rating_count > 0 ) : ?>
140
- <div class="product">
141
- <div class="woocommerce-product-rating">
142
- <?php echo wc_get_rating_html( $average, $rating_count ); // WPCS: XSS ok. ?>
143
- <?php if ( comments_open() ) : ?>
144
- <?php //phpcs:disable ?>
145
- <a href="#reviews" class="woocommerce-review-link" rel="nofollow">(<?php printf( _n( '%s customer review', '%s customer reviews', $review_count, 'woolentor' ), '<span class="count">' . esc_html( $review_count ) . '</span>' ); ?>)</a>
146
- <?php // phpcs:enable ?>
147
- <?php endif ?>
148
- </div>
149
  </div>
150
- <?php else:?>
151
- <?php echo '<div class="wl-nodata">'.__('No Rating Available','woolentor').'</div>';?>
152
- <?php endif;
153
- break;
154
-
155
- case 'wl-single-product-image':
156
- ob_start();
157
- $columns = apply_filters( 'woocommerce_product_thumbnails_columns', 4 );
158
- $thumbnail_id = $product->get_image_id();
159
- $wrapper_classes = apply_filters( 'woocommerce_single_product_image_gallery_classes', array(
160
- 'woocommerce-product-gallery',
161
- 'woocommerce-product-gallery--' . ( $product->get_image_id() ? 'with-images' : 'without-images' ),
162
- 'woocommerce-product-gallery--columns-' . absint( $columns ),
163
- 'images',
164
- ) );
165
-
166
- if ( function_exists( 'wc_get_gallery_image_html' ) ) {
167
- ?>
168
- <div class="product">
169
- <div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>" style="transition: opacity .25s ease-in-out;float: none;width: 100%;">
170
- <figure class="woocommerce-product-gallery__wrapper">
171
- <?php
172
- if ( $product->get_image_id() ) {
173
- $html = wc_get_gallery_image_html( $thumbnail_id, true );
174
- } else {
175
- $html = '<div class="woocommerce-product-gallery__image--placeholder">';
176
- $html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woolentor' ) );
177
- $html .= '</div>';
178
- }
179
-
180
- echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $thumbnail_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
181
-
182
- $attachment_ids = $product->get_gallery_image_ids();
183
- if ( $attachment_ids && $product->get_image_id() ) {
184
- foreach ( $attachment_ids as $attachment_id ) {
185
- echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', wc_get_gallery_image_html( $attachment_id ), $attachment_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
186
- }
 
 
 
187
  }
 
188
 
189
- ?>
190
- </figure>
191
- </div>
192
  </div>
193
- <?php
194
- }
195
- return ob_get_clean();
196
- break;
 
197
 
198
- case 'wl-single-product-meta':
199
- ob_start();
200
- ?>
201
- <div class="product">
202
- <div class="product_meta">
203
 
204
- <?php do_action( 'woocommerce_product_meta_start' ); ?>
205
 
206
- <?php if ( wc_product_sku_enabled() && ( $product->get_sku() || $product->is_type( 'variable' ) ) ) : ?>
207
 
208
- <span class="sku_wrapper"><?php esc_html_e( 'SKU:', 'woolentor' ); ?> <span class="sku"><?php echo ( $sku = $product->get_sku() ) ? $sku : esc_html__( 'N/A', 'woolentor' ); ?></span></span>
209
 
210
- <?php endif; ?>
211
 
212
- <?php echo wc_get_product_category_list( $product->get_id(), ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', count( $product->get_category_ids() ), 'woolentor' ) . ' ', '</span>' ); ?>
213
 
214
- <?php echo wc_get_product_tag_list( $product->get_id(), ', ', '<span class="tagged_as">' . _n( 'Tag:', 'Tags:', count( $product->get_tag_ids() ), 'woolentor' ) . ' ', '</span>' ); ?>
215
 
216
- <?php do_action( 'woocommerce_product_meta_end' ); ?>
217
 
218
- </div>
219
  </div>
220
- <?php
221
- return ob_get_clean();
222
- break;
223
-
224
- case 'wl-product-additional-information':
225
- ob_start();
226
- wc_get_template( 'single-product/tabs/additional-information.php' );
227
- return ob_get_clean();
228
- break;
229
-
230
- case 'wl-product-data-tabs':
231
- setup_postdata( $product->get_id() );
232
- ob_start();
233
- if( get_post_type() == 'elementor_library' ){
234
- add_filter( 'the_content', [ $this, 'product_content' ] );
235
- }
236
- wc_get_template( 'single-product/tabs/tabs.php' );
237
- return ob_get_clean();
238
- break;
239
-
240
- case 'wl-single-product-reviews':
241
- ob_start();
242
- if( comments_open() ){
243
- comments_template();
244
- }
245
- return ob_get_clean();
246
- break;
247
-
248
- case 'wl-single-product-stock':
249
- ob_start();
250
- $availability = $product->get_availability();
251
- ?>
252
- <div class="product"><p class="stock <?php echo esc_attr( $availability['class'] ); ?>"><?php echo wp_kses_post( $availability['availability'] ); ?></p></div>
253
- <?php
254
- return ob_get_clean();
255
- break;
256
-
257
- case 'wl-single-product-upsell':
258
- ob_start();
259
-
260
- $product_per_page = '-1';
261
- $columns = 4;
262
- $orderby = 'rand';
263
- $order = 'desc';
264
- if ( ! empty( $settings['columns'] ) ) {
265
- $columns = $settings['columns'];
266
- }
267
- if ( ! empty( $settings['orderby'] ) ) {
268
- $orderby = $settings['orderby'];
269
- }
270
- if ( ! empty( $settings['order'] ) ) {
271
- $order = $settings['order'];
272
- }
273
-
274
- woocommerce_upsell_display( $product_per_page, $columns, $orderby, $order );
275
-
276
- return ob_get_clean();
277
- break;
278
-
279
- case 'wl-product-related':
280
- ob_start();
281
- if ( ! $product ) { return; }
282
- $args = [
283
- 'posts_per_page' => 4,
284
- 'columns' => 4,
285
- 'orderby' => $settings['orderby'],
286
- 'order' => $settings['order'],
287
- ];
288
- if ( ! empty( $settings['posts_per_page'] ) ) {
289
- $args['posts_per_page'] = $settings['posts_per_page'];
290
- }
291
- if ( ! empty( $settings['columns'] ) ) {
292
- $args['columns'] = $settings['columns'];
293
- }
294
-
295
- $args['related_products'] = array_filter( array_map( 'wc_get_product', wc_get_related_products( $product->get_id(),
296
- $args['posts_per_page'], $product->get_upsell_ids() ) ), 'wc_products_array_filter_visible' );
297
-
298
- $args['related_products'] = wc_products_array_orderby( $args['related_products'], $args['orderby'], $args['order'] );
299
-
300
- wc_get_template( 'single-product/related.php', $args );
301
-
302
- return ob_get_clean();
303
- break;
304
-
305
- default:
306
- return '';
307
- break;
 
308
 
309
- }
310
  }
311
 
312
-
313
  }
314
 
315
  /**
1
  <?php
2
  /**
3
+ *
4
  */
5
  class WooLentor_Default_Data{
6
 
90
  }
91
  }
92
 
93
+ switch ( $addons ){
94
+
95
+ case 'wl-product-add-to-cart':
96
+ ob_start();
97
+ echo '<div class="product">';
98
+ do_action( 'woocommerce_' . $product->get_type() . '_add_to_cart' );
99
+ echo '</div>';
100
+ return ob_get_clean();
101
+ break;
102
+
103
+ case 'wl-single-product-price':
104
+ ob_start();
105
+ ?>
106
+ <p class="<?php echo esc_attr( apply_filters( 'woocommerce_product_price_class', 'price' ) ); ?>"><?php echo $product->get_price_html(); ?></p>
107
+ <?php
108
+ return ob_get_clean();
109
+ break;
110
+
111
+ case 'wl-single-product-short-description':
112
+ ob_start();
113
+ $short_description = get_the_excerpt( self::$product_id );
114
+ $short_description = apply_filters( 'woocommerce_short_description', $short_description );
115
+ if ( empty( $short_description ) ) { return; }
116
+ ?>
117
+ <div class="woocommerce-product-details__short-description"><?php echo wp_kses_post( $short_description ); ?></div>
118
+ <?php
119
+ return ob_get_clean();
120
+ break;
121
+
122
+ case 'wl-single-product-description':
123
+ ob_start();
124
+ $description = get_post_field( 'post_content', self::$product_id );
125
+ if ( empty( $description ) ) { return; }
126
+ return $description .= ob_get_clean();
127
+ break;
128
+
129
+ case 'wl-single-product-rating':
130
+ if ( 'no' === get_option( 'woocommerce_enable_review_rating' ) ) {
131
+ return;
132
+ }
133
+ ob_start();
134
+ $rating_count = $product->get_rating_count();
135
+ $review_count = $product->get_review_count();
136
+ $average = $product->get_average_rating();
137
+
138
+ if ( $rating_count > 0 ) : ?>
139
+ <div class="product">
140
+ <div class="woocommerce-product-rating">
141
+ <?php echo wc_get_rating_html( $average, $rating_count ); // WPCS: XSS ok. ?>
142
+ <?php if ( comments_open() ) : ?>
143
+ <?php //phpcs:disable ?>
144
+ <a href="#reviews" class="woocommerce-review-link" rel="nofollow">(<?php printf( _n( '%s customer review', '%s customer reviews', $review_count, 'woolentor' ), '<span class="count">' . esc_html( $review_count ) . '</span>' ); ?>)</a>
145
+ <?php // phpcs:enable ?>
146
+ <?php endif ?>
 
 
147
  </div>
148
+ </div>
149
+ <?php else:?>
150
+ <?php echo '<div class="wl-nodata">'.__('No Ratting Available','woolentor').'</div>';?>
151
+ <?php endif;
152
+ break;
153
+
154
+ case 'wl-single-product-image':
155
+ ob_start();
156
+ if ( $product->is_on_sale() ) {
157
+ echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">' . esc_html__( 'Sale!', 'woolentor' ) . '</span>', $post, $product );
158
+ }
159
+ $columns = apply_filters( 'woocommerce_product_thumbnails_columns', 4 );
160
+ $thumbnail_id = $product->get_image_id();
161
+ $wrapper_classes = apply_filters( 'woocommerce_single_product_image_gallery_classes', array(
162
+ 'woocommerce-product-gallery',
163
+ 'woocommerce-product-gallery--' . ( $product->get_image_id() ? 'with-images' : 'without-images' ),
164
+ 'woocommerce-product-gallery--columns-' . absint( $columns ),
165
+ 'images',
166
+ ) );
167
+
168
+ if ( function_exists( 'wc_get_gallery_image_html' ) ) {
169
+ ?>
170
+ <div class="product">
171
+ <div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>" style="opacity: 0; transition: opacity .25s ease-in-out;">
172
+ <figure class="woocommerce-product-gallery__wrapper">
173
+ <?php
174
+ if ( $product->get_image_id() ) {
175
+ $html = wc_get_gallery_image_html( $thumbnail_id, true );
176
+ } else {
177
+ $html = '<div class="woocommerce-product-gallery__image--placeholder">';
178
+ $html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woolentor' ) );
179
+ $html .= '</div>';
180
+ }
181
+
182
+ echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $thumbnail_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
183
+
184
+ $attachment_ids = $product->get_gallery_image_ids();
185
+ if ( $attachment_ids && $product->get_image_id() ) {
186
+ foreach ( $attachment_ids as $attachment_id ) {
187
+ echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', wc_get_gallery_image_html( $attachment_id ), $attachment_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
188
  }
189
+ }
190
 
191
+ ?>
192
+ </figure>
 
193
  </div>
194
+ </div>
195
+ <?php
196
+ }
197
+ return ob_get_clean();
198
+ break;
199
 
200
+ case 'wl-single-product-meta':
201
+ ob_start();
202
+ ?>
203
+ <div class="product">
204
+ <div class="product_meta">
205
 
206
+ <?php do_action( 'woocommerce_product_meta_start' ); ?>
207
 
208
+ <?php if ( wc_product_sku_enabled() && ( $product->get_sku() || $product->is_type( 'variable' ) ) ) : ?>
209
 
210
+ <span class="sku_wrapper"><?php esc_html_e( 'SKU:', 'woolentor' ); ?> <span class="sku"><?php echo ( $sku = $product->get_sku() ) ? $sku : esc_html__( 'N/A', 'woolentor' ); ?></span></span>
211
 
212
+ <?php endif; ?>
213
 
214
+ <?php echo wc_get_product_category_list( $product->get_id(), ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', count( $product->get_category_ids() ), 'woolentor' ) . ' ', '</span>' ); ?>
215
 
216
+ <?php echo wc_get_product_tag_list( $product->get_id(), ', ', '<span class="tagged_as">' . _n( 'Tag:', 'Tags:', count( $product->get_tag_ids() ), 'woolentor' ) . ' ', '</span>' ); ?>
217
 
218
+ <?php do_action( 'woocommerce_product_meta_end' ); ?>
219
 
 
220
  </div>
221
+ </div>
222
+ <?php
223
+ return ob_get_clean();
224
+ break;
225
+
226
+ case 'wl-product-additional-information':
227
+ ob_start();
228
+ wc_get_template( 'single-product/tabs/additional-information.php' );
229
+ return ob_get_clean();
230
+ break;
231
+
232
+ case 'wl-product-data-tabs':
233
+ setup_postdata( $product->get_id() );
234
+ ob_start();
235
+ if( get_post_type() == 'elementor_library' ){
236
+ add_filter( 'the_content', [ $this, 'product_content' ] );
237
+ }
238
+ wc_get_template( 'single-product/tabs/tabs.php' );
239
+ return ob_get_clean();
240
+ break;
241
+
242
+ case 'wl-single-product-reviews':
243
+ ob_start();
244
+ if( comments_open() ){
245
+ comments_template();
246
+ }
247
+ return ob_get_clean();
248
+ break;
249
+
250
+ case 'wl-single-product-stock':
251
+ ob_start();
252
+ $availability = $product->get_availability();
253
+ ?>
254
+ <div class="product"><p class="stock <?php echo esc_attr( $availability['class'] ); ?>"><?php echo wp_kses_post( $availability['availability'] ); ?></p></div>
255
+ <?php
256
+ return ob_get_clean();
257
+ break;
258
+
259
+ case 'wl-single-product-upsell':
260
+ ob_start();
261
+
262
+ $product_per_page = '-1';
263
+ $columns = 4;
264
+ $orderby = 'rand';
265
+ $order = 'desc';
266
+ if ( ! empty( $settings['columns'] ) ) {
267
+ $columns = $settings['columns'];
268
+ }
269
+ if ( ! empty( $settings['orderby'] ) ) {
270
+ $orderby = $settings['orderby'];
271
+ }
272
+ if ( ! empty( $settings['order'] ) ) {
273
+ $order = $settings['order'];
274
+ }
275
+
276
+ woocommerce_upsell_display( $product_per_page, $columns, $orderby, $order );
277
+
278
+ return ob_get_clean();
279
+ break;
280
+
281
+ case 'wl-product-related':
282
+ ob_start();
283
+ if ( ! $product ) { return; }
284
+ $args = [
285
+ 'posts_per_page' => 4,
286
+ 'columns' => 4,
287
+ 'orderby' => $settings['orderby'],
288
+ 'order' => $settings['order'],
289
+ ];
290
+ if ( ! empty( $settings['posts_per_page'] ) ) {
291
+ $args['posts_per_page'] = $settings['posts_per_page'];
292
+ }
293
+ if ( ! empty( $settings['columns'] ) ) {
294
+ $args['columns'] = $settings['columns'];
295
+ }
296
+
297
+ $args['related_products'] = array_filter( array_map( 'wc_get_product', wc_get_related_products( $product->get_id(),
298
+ $args['posts_per_page'], $product->get_upsell_ids() ) ), 'wc_products_array_filter_visible' );
299
+
300
+ $args['related_products'] = wc_products_array_orderby( $args['related_products'], $args['orderby'], $args['order'] );
301
+
302
+ wc_get_template( 'single-product/related.php', $args );
303
+
304
+ return ob_get_clean();
305
+ break;
306
+
307
+ default:
308
+ return '';
309
+ break;
310
 
 
311
  }
312
 
 
313
  }
314
 
315
  /**
classes/class.icon-manager.php CHANGED
@@ -47,69 +47,4 @@ class WooLentor_Icon_manager extends Icons_Manager{
47
  return $output;
48
  }
49
 
50
- }
51
-
52
- /**
53
- * [woolentor_addons_render_icon]
54
- * @param array $settings
55
- * @param string $new_icon new icon id
56
- * @param string $old_icon Old icon id
57
- * @param array $attributes icon attributes
58
- * @return [html] html | false
59
- */
60
- function woolentor_render_icon( $settings = [], $new_icon = 'selected_icon', $old_icon = 'icon', $attributes = [] ){
61
-
62
- $migrated = isset( $settings['__fa4_migrated'][$new_icon] );
63
- $is_new = empty( $settings[$old_icon] ) && \Elementor\Icons_Manager::is_migration_allowed();
64
-
65
- $attributes['aria-hidden'] = 'true';
66
- $output = '';
67
-
68
- if ( woolentor_is_elementor_version( '>=', '2.6.0' ) && ( $is_new || $migrated ) ) {
69
-
70
- if ( empty( $settings[$new_icon]['library'] ) ) {
71
- return false;
72
- }
73
-
74
- $tag = 'i';
75
- // handler SVG Icon
76
- if ( 'svg' === $settings[$new_icon]['library'] ) {
77
- if ( ! isset( $settings[$new_icon]['value']['id'] ) ) {
78
- return '';
79
- }
80
- $output = Elementor\Core\Files\Assets\Svg\Svg_Handler::get_inline_svg( $settings[$new_icon]['value']['id'] );
81
-
82
- } else {
83
- $icon_types = \Elementor\Icons_Manager::get_icon_manager_tabs();
84
- if ( isset( $icon_types[ $settings[$new_icon]['library'] ]['render_callback'] ) && is_callable( $icon_types[ $settings[$new_icon]['library'] ]['render_callback'] ) ) {
85
- return call_user_func_array( $icon_types[ $settings[$new_icon]['library'] ]['render_callback'], [ $settings[$new_icon], $attributes, $tag ] );
86
- }
87
-
88
- if ( empty( $attributes['class'] ) ) {
89
- $attributes['class'] = $settings[$new_icon]['value'];
90
- } else {
91
- if ( is_array( $attributes['class'] ) ) {
92
- $attributes['class'][] = $settings[$new_icon]['value'];
93
- } else {
94
- $attributes['class'] .= ' ' . $settings[$new_icon]['value'];
95
- }
96
- }
97
- $output = '<' . $tag . ' ' . \Elementor\Utils::render_html_attributes( $attributes ) . '></' . $tag . '>';
98
- }
99
-
100
- } else {
101
- if ( empty( $attributes['class'] ) ) {
102
- $attributes['class'] = $settings[ $old_icon ];
103
- } else {
104
- if ( is_array( $attributes['class'] ) ) {
105
- $attributes['class'][] = $settings[ $old_icon ];
106
- } else {
107
- $attributes['class'] .= ' ' . $settings[ $old_icon ];
108
- }
109
- }
110
- $output = sprintf( '<i %s></i>', \Elementor\Utils::render_html_attributes( $attributes ) );
111
- }
112
-
113
- return $output;
114
-
115
  }
47
  return $output;
48
  }
49
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  }
classes/class.icon_list.php DELETED
@@ -1,219 +0,0 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
-
4
- class Woolentor_Icon_List{
5
-
6
- /**
7
- * [get_icons]
8
- * @return [array]
9
- */
10
- public static function get_icons(){
11
- $simple_line_icon = [
12
- 'sli-user' => 'sli sli-user',
13
- 'sli-people' => 'sli sli-people',
14
- 'sli-user-female' => 'sli sli-user-female',
15
- 'sli-user-follow' => 'sli sli-user-follow',
16
- 'sli-user-following' => 'sli sli-user-following',
17
- 'sli-user-unfollow' => 'sli sli-user-unfollow',
18
- 'sli-login' => 'sli sli-login',
19
- 'sli-logout' => 'sli sli-logout',
20
- 'sli-emotsmile' => 'sli sli-emotsmile',
21
- 'sli-phone' => 'sli sli-phone',
22
- 'sli-call-end' => 'sli sli-call-end',
23
- 'sli-call-in' => 'sli sli-call-in',
24
- 'sli-call-out' => 'sli sli-call-out',
25
- 'sli-map' => 'sli sli-map',
26
- 'sli-location-pin' => 'sli sli-location-pin',
27
- 'sli-direction' => 'sli sli-direction',
28
- 'sli-directions' => 'sli sli-directions',
29
- 'sli-compass' => 'sli sli-compass',
30
- 'sli-layers' => 'sli sli-layers',
31
- 'sli-menu' => 'sli sli-menu',
32
- 'sli-list' => 'sli sli-list',
33
- 'sli-options-vertical' => 'sli sli-options-vertical',
34
- 'sli-options' => 'sli sli-options',
35
- 'sli-arrow-down' => 'sli sli-arrow-down',
36
- 'sli-arrow-left' => 'sli sli-arrow-left',
37
- 'sli-arrow-right' => 'sli sli-arrow-right',
38
- 'sli-arrow-up' => 'sli sli-arrow-up',
39
- 'sli-arrow-up-circle' => 'sli sli-arrow-up-circle',
40
- 'sli-arrow-left-circle' => 'sli sli-arrow-left-circle',
41
- 'sli-arrow-right-circle' => 'sli sli-arrow-right-circle',
42
- 'sli-arrow-down-circle' => 'sli sli-arrow-down-circle',
43
- 'sli-check' => 'sli sli-check',
44
- 'sli-clock' => 'sli sli-clock',
45
- 'sli-plus' => 'sli sli-plus',
46
- 'sli-minus' => 'sli sli-minus',
47
- 'sli-close' => 'sli sli-close',
48
- 'sli-event' => 'sli sli-event',
49
- 'sli-exclamation' => 'sli sli-exclamation',
50
- 'sli-organization' => 'sli sli-organization',
51
- 'sli-trophy' => 'sli sli-trophy',
52
- 'sli-screen-smartphone' => 'sli sli-screen-smartphone',
53
- 'sli-screen-desktop' => 'sli sli-screen-desktop',
54
- 'sli-plane' => 'sli sli-plane',
55
- 'sli-notebook' => 'sli sli-notebook',
56
- 'sli-mustache' => 'sli sli-mustache',
57
- 'sli-mouse' => 'sli sli-mouse',
58
- 'sli-magnet' => 'sli sli-magnet',
59
- 'sli-energy' => 'sli sli-energy',
60
- 'sli-disc' => 'sli sli-disc',
61
- 'sli-cursor' => 'sli sli-cursor',
62
- 'sli-cursor-move' => 'sli sli-cursor-move',
63
- 'sli-crop' => 'sli sli-crop',
64
- 'sli-chemistry' => 'sli sli-chemistry',
65
- 'sli-speedometer' => 'sli sli-speedometer',
66
- 'sli-shield' => 'sli sli-shield',
67
- 'sli-screen-tablet' => 'sli sli-screen-tablet',
68
- 'sli-magic-wand' => 'sli sli-magic-wand',
69
- 'sli-hourglass' => 'sli sli-hourglass',
70
- 'sli-graduation' => 'sli sli-graduation',
71
- 'sli-ghost' => 'sli sli-ghost',
72
- 'sli-game-controller' => 'sli sli-game-controller',
73
- 'sli-fire' => 'sli sli-fire',
74
- 'sli-eyeglass' => 'sli sli-eyeglass',
75
- 'sli-envelope-open' => 'sli sli-envelope-open',
76
- 'sli-envelope-letter' => 'sli sli-envelope-letter',
77
- 'sli-bell' => 'sli sli-bell',
78
- 'sli-badge' => 'sli sli-badge',
79
- 'sli-anchor' => 'sli sli-anchor',
80
- 'sli-wallet' => 'sli sli-wallet',
81
- 'sli-vector' => 'sli sli-vector',
82
- 'sli-speech' => 'sli sli-speech',
83
- 'sli-puzzle' => 'sli sli-puzzle',
84
- 'sli-printer' => 'sli sli-printer',
85
- 'sli-present' => 'sli sli-present',
86
- 'sli-playlist' => 'sli sli-playlist',
87
- 'sli-pin' => 'sli sli-pin',
88
- 'sli-picture' => 'sli sli-picture',
89
- 'sli-handbag' => 'sli sli-handbag',
90
- 'sli-globe-alt' => 'sli sli-globe-alt',
91
- 'sli-globe' => 'sli sli-globe',
92
- 'sli-folder-alt' => 'sli sli-folder-alt',
93
- 'sli-folder' => 'sli sli-folder',
94
- 'sli-film' => 'sli sli-film',
95
- 'sli-feed' => 'sli sli-feed',
96
- 'sli-drop' => 'sli sli-drop',
97
- 'sli-drawer' => 'sli sli-drawer',
98
- 'sli-docs' => 'sli sli-docs',
99
- 'sli-doc' => 'sli sli-doc',
100
- 'sli-diamond' => 'sli sli-diamond',
101
- 'sli-cup' => 'sli sli-cup',
102
- 'sli-calculator' => 'sli sli-calculator',
103
- 'sli-bubbles' => 'sli sli-bubbles',
104
- 'sli-briefcase' => 'sli sli-briefcase',
105
- 'sli-book-open' => 'sli sli-book-open',
106
- 'sli-basket-loaded' => 'sli sli-basket-loaded',
107
- 'sli-basket' => 'sli sli-basket',
108
- 'sli-bag' => 'sli sli-bag',
109
- 'sli-action-undo' => 'sli sli-action-undo',
110
- 'sli-action-redo' => 'sli sli-action-redo',
111
- 'sli-wrench' => 'sli sli-wrench',
112
- 'sli-umbrella' => 'sli sli-umbrella',
113
- 'sli-trash' => 'sli sli-trash',
114
- 'sli-tag' => 'sli sli-tag',
115
- 'sli-support' => 'sli sli-support',
116
- 'sli-frame' => 'sli sli-frame',
117
- 'sli-size-fullscreen' => 'sli sli-size-fullscreen',
118
- 'sli-size-actual' => 'sli sli-size-actual',
119
- 'sli-shuffle' => 'sli sli-shuffle',
120
- 'sli-share-alt' => 'sli sli-share-alt',
121
- 'sli-share' => 'sli sli-share',
122
- 'sli-rocket' => 'sli sli-rocket',
123
- 'sli-question' => 'sli sli-question',
124
- 'sli-pie-chart' => 'sli sli-pie-chart',
125
- 'sli-pencil' => 'sli sli-pencil',
126
- 'sli-note' => 'sli sli-note',
127
- 'sli-loop' => 'sli sli-loop',
128
- 'sli-home' => 'sli sli-home',
129
- 'sli-grid' => 'sli sli-grid',
130
- 'sli-graph' => 'sli sli-graph',
131
- 'sli-microphone' => 'sli sli-microphone',
132
- 'sli-music-tone-alt' => 'sli sli-music-tone-alt',
133
- 'sli-music-tone' => 'sli sli-music-tone',
134
- 'sli-earphones-alt' => 'sli sli-earphones-alt',
135
- 'sli-earphones' => 'sli sli-earphones',
136
- 'sli-equalizer' => 'sli sli-equalizer',
137
- 'sli-like' => 'sli sli-like',
138
- 'sli-dislike' => 'sli sli-dislike',
139
- 'sli-control-start' => 'sli sli-control-start',
140
- 'sli-control-rewind' => 'sli sli-control-rewind',
141
- 'sli-control-play' => 'sli sli-control-play',
142
- 'sli-control-pause' => 'sli sli-control-pause',
143
- 'sli-control-forward' => 'sli sli-control-forward',
144
- 'sli-control-end' => 'sli sli-control-end',
145
- 'sli-volume-1' => 'sli sli-volume-1',
146
- 'sli-volume-2' => 'sli sli-volume-2',
147
- 'sli-volume-off' => 'sli sli-volume-off',
148
- 'sli-calendar' => 'sli sli-calendar',
149
- 'sli-bulb' => 'sli sli-bulb',
150
- 'sli-chart' => 'sli sli-chart',
151
- 'sli-ban' => 'sli sli-ban',
152
- 'sli-bubble' => 'sli sli-bubble',
153
- 'sli-camrecorder' => 'sli sli-camrecorder',
154
- 'sli-camera' => 'sli sli-camera',
155
- 'sli-cloud-download' => 'sli sli-cloud-download',
156
- 'sli-cloud-upload' => 'sli sli-cloud-upload',
157
- 'sli-envelope' => 'sli sli-envelope',
158
- 'sli-eye' => 'sli sli-eye',
159
- 'sli-flag' => 'sli sli-flag',
160
- 'sli-heart' => 'sli sli-heart',
161
- 'sli-info' => 'sli sli-info',
162
- 'sli-key' => 'sli sli-key',
163
- 'sli-link' => 'sli sli-link',
164
- 'sli-lock' => 'sli sli-lock',
165
- 'sli-lock-open' => 'sli sli-lock-open',
166
- 'sli-magnifier' => 'sli sli-magnifier',
167
- 'sli-magnifier-add' => 'sli sli-magnifier-add',
168
- 'sli-magnifier-remove' => 'sli sli-magnifier-remove',
169
- 'sli-paper-clip' => 'sli sli-paper-clip',
170
- 'sli-paper-plane' => 'sli sli-paper-plane',
171
- 'sli-power' => 'sli sli-power',
172
- 'sli-refresh' => 'sli sli-refresh',
173
- 'sli-reload' => 'sli sli-reload',
174
- 'sli-settings' => 'sli sli-settings',
175
- 'sli-star' => 'sli sli-star',
176
- 'sli-symbol-female' => 'sli sli-symbol-female',
177
- 'sli-symbol-male' => 'sli sli-symbol-male',
178
- 'sli-target' => 'sli sli-target',
179
- 'sli-credit-card' => 'sli sli-credit-card',
180
- 'sli-paypal' => 'sli sli-paypal',
181
- 'sli-social-tumblr' => 'sli sli-social-tumblr',
182
- 'sli-social-twitter' => 'sli sli-social-twitter',
183
- 'sli-social-facebook' => 'sli sli-social-facebook',
184
- 'sli-social-instagram' => 'sli sli-social-instagram',
185
- 'sli-social-linkedin' => 'sli sli-social-linkedin',
186
- 'sli-social-pinterest' => 'sli sli-social-pinterest',
187
- 'sli-social-github' => 'sli sli-social-github',
188
- 'sli-social-google' => 'sli sli-social-google',
189
- 'sli-social-reddit' => 'sli sli-social-reddit',
190
- 'sli-social-skype' => 'sli sli-social-skype',
191
- 'sli-social-dribbble' => 'sli sli-social-dribbble',
192
- 'sli-social-behance' => 'sli sli-social-behance',
193
- 'sli-social-foursqare' => 'sli sli-social-foursqare',
194
- 'sli-social-soundcloud' => 'sli sli-social-soundcloud',
195
- 'sli-social-spotify' => 'sli sli-social-spotify',
196
- 'sli-social-stumbleupon' => 'sli sli-social-stumbleupon',
197
- 'sli-social-youtube' => 'sli sli-social-youtube',
198
- 'sli-social-dropbox' => 'sli sli-social-dropbox',
199
- 'sli-social-vkontakte' => 'sli sli-social-vkontakte',
200
- 'sli-social-steam' => 'sli sli-social-steam',
201
- ];
202
-
203
- $all_icon = array_merge( $simple_line_icon );
204
- return $all_icon;
205
- }
206
-
207
- public static function icon_sets(){
208
-
209
- $icon_set = [];
210
- $sinple_line = self::get_icons();
211
-
212
- foreach( $sinple_line as $key => $icon ) {
213
- $icon_set['SimpleLineIcon'][] = $icon;
214
- }
215
- return $icon_set;
216
- }
217
-
218
-
219
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class.product_query.php DELETED
@@ -1,248 +0,0 @@
1
- <?php
2
-
3
- // Exit if accessed directly
4
- if( ! defined( 'ABSPATH' ) ) exit();
5
-
6
- /**
7
- * Third party
8
- */
9
- class WooLentorProductQuery{
10
-
11
- /**
12
- * [$_instance]
13
- * @var null
14
- */
15
- private static $_instance = null;
16
-
17
- /**
18
- * [instance] Initializes a singleton instance
19
- * @return [Base]
20
- */
21
- public static function instance() {
22
- if ( is_null( self::$_instance ) ) {
23
- self::$_instance = new self();
24
- }
25
- return self::$_instance;
26
- }
27
-
28
- function __construct(){
29
-
30
- if( class_exists('WooCommerce') ){
31
- add_action( 'woocommerce_product_query', [ $this, 'parse_query' ] );
32
-
33
- //compatibility with woo shortcode
34
- add_filter('woocommerce_shortcode_products_query', [ $this, 'woocommerce_shortcode_products_query' ], 99, 3 );
35
-
36
- }
37
-
38
- }
39
-
40
- /**
41
- * [parse_query]
42
- * @param [object] $wp_query WooCommerce Default Widget
43
- * @return [void]
44
- */
45
- public function parse_query( $wp_query ){
46
-
47
- if ( isset( $_GET['wlfilter'] ) ) {
48
-
49
- $queries =[];
50
- $new_queries = [];
51
- parse_str( $_SERVER['QUERY_STRING' ], $queries );
52
- foreach ( $queries as $key => $querie ) {
53
- $new_queries[] = $key;
54
- }
55
-
56
- if( isset( $_GET['wlorder_by'] ) ){
57
- if( in_array( $_GET['wlorder_by'], [ '_price', 'total_sales', '_wc_average_rating' ] ) ) {
58
-
59
- $wp_query->set( 'meta_key', $_GET['wlorder_by'] );
60
- $wp_query->set( 'orderby', 'meta_value_num' );
61
-
62
- }else{
63
- $wp_query->set( 'orderby', $_GET['wlorder_by'] );
64
- }
65
- }
66
-
67
- if( isset( $_GET['wlsort'] ) ){
68
- $wp_query->set( 'order', $_GET['wlsort'] );
69
- }
70
-
71
- $wp_query->set( 'meta_query', $this->get_meta_query() );
72
-
73
- $wp_query->set( 'tax_query', $this->get_tax_query() );
74
-
75
-
76
- }
77
-
78
- }
79
-
80
- public function woocommerce_shortcode_products_query( $query_args, $attr, $type = "" ) {
81
-
82
- if( isset( $query_args['meta_query'] ) && is_array( $query_args['meta_query'] ) ){
83
- $query_args['meta_query'] = array_merge( $query_args['meta_query'], $this->get_meta_query() );
84
- }else{
85
- $query_args['meta_query'] = $this->get_meta_query();
86
- }
87
-
88
- if( isset( $query_args['tax_query'] ) && is_array( $query_args['tax_query'] ) ){
89
- $query_args['tax_query'] = array_merge( $query_args['tax_query'], $this->get_tax_query() );
90
- }else{
91
- $query_args['tax_query'] = $this->get_tax_query();
92
- }
93
-
94
- if ( isset( $_GET['wlfilter'] ) ) {
95
-
96
- $query_args = apply_filters('woolentor_products_query', $query_args);
97
-
98
- if ( isset( $_GET['paged'] ) ) {
99
- $query_args['paged'] = intval( $_GET['paged'] );
100
- }
101
-
102
- if( isset( $_GET['wlorder_by'] ) ){
103
- if( in_array( $_GET['wlorder_by'], [ '_price', 'total_sales', '_wc_average_rating' ] ) ) {
104
-
105
- $query_args['meta_key'] = $_GET['wlorder_by'];
106
- $query_args['orderby'] = 'meta_value_num';
107
-
108
- }else{
109
- $query_args['orderby'] = $_GET['wlorder_by'];
110
- }
111
- }
112
-
113
- if( isset( $_GET['wlsort'] ) ){
114
- $query_args['order'] = $_GET['wlsort'];
115
- }
116
-
117
-
118
- }
119
-
120
- if ( isset( $_GET['orderby'] ) ) {
121
- $ordering_args = WC()->query->get_catalog_ordering_args();
122
- } else {
123
- $ordering_args = WC()->query->get_catalog_ordering_args( $query_args['orderby'], $query_args['order'] );
124
- }
125
- $query_args['orderby'] = $ordering_args['orderby'];
126
- $query_args['order'] = $ordering_args['order'];
127
-
128
- if ( $ordering_args['meta_key'] ) {
129
- $query_args['meta_key'] = $ordering_args['meta_key'];
130
- }
131
-
132
- // Search Result
133
- if ( isset( $_GET['q'] ) || isset( $_GET['s'] ) ) {
134
- $s = !empty( $_GET['s'] ) ? $_GET['s'] : '';
135
- $q = !empty( $_GET['q'] ) ? $_GET['q'] : '';
136
- $query_args['s'] = !empty( $q ) ? $q : $s;
137
- }
138
-
139
- return $query_args;
140
- }
141
-
142
- /**
143
- * [get_tax_query]
144
- * @return [array]
145
- */
146
- public function get_tax_query(){
147
-
148
- $tax_query = WC()->query->get_tax_query();
149
-
150
- if ( isset( $_GET['wlfilter'] ) ) {
151
-
152
- $queries =[];
153
- $new_queries = [];
154
- parse_str( $_SERVER['QUERY_STRING' ], $queries );
155
- foreach ( $queries as $key => $querie ) {
156
- $new_queries[] = $key;
157
- }
158
-
159
- $woo_taxonomies = get_object_taxonomies( 'product' );
160
- if( isset( $new_queries[1] ) && !in_array( $new_queries[1], [ 'wlsort', 'wlorder_by' ] ) ){
161
- $attr_pre_str = substr( $new_queries[1], 0, 6 );
162
-
163
- $taxonomy = ( 'filter' === $attr_pre_str ) ? str_replace('filter', 'pa', $new_queries[1] ) : $new_queries[1];
164
- if( isset( $_GET[$new_queries[1] ] ) && in_array( $taxonomy, $woo_taxonomies ) ){
165
- $tax_query[] = array(
166
- 'taxonomy' => $taxonomy,
167
- 'field' => 'slug',
168
- 'terms' => explode( ',', $_GET[$new_queries[1]] ),
169
- );
170
- }
171
-
172
- }
173
-
174
- if( isset( $_GET['wlorder_by'] ) && $_GET['wlorder_by'] === 'featured' ){
175
- $tax_query[] = [
176
- 'taxonomy' => 'product_visibility',
177
- 'field' => 'name',
178
- 'terms' => explode( ',', $_GET['wlorder_by'] ),
179
- 'operator' => ( $_GET['wlorder_by'] === 'exclude-from-catalog' ? 'NOT IN' : 'IN' ),
180
- ];
181
- }
182
- }
183
-
184
- if ( !isset( $_GET['wlfilter'] ) ) {
185
-
186
- // Taxonomy Taxquery
187
- $termobj = get_queried_object();
188
- $get_all_taxonomies = woolentor_get_taxonomies();
189
- if( isset( $termobj->taxonomy ) && is_tax( $termobj->taxonomy ) && array_key_exists( $termobj->taxonomy, $get_all_taxonomies ) ){
190
- $term_id = $termobj->term_id;
191
- $tax_query[] = array(
192
- array(
193
- 'taxonomy' => $termobj->taxonomy,
194
- 'terms' => $term_id,
195
- 'field' => 'term_id',
196
- 'include_children' => true
197
- )
198
- );
199
- }
200
-
201
- // Attributes Taxquery
202
- if ( is_array( WC()->query->get_layered_nav_chosen_attributes() ) && count( WC()->query->get_layered_nav_chosen_attributes() ) > 0 ) {
203
- foreach ( WC()->query->get_layered_nav_chosen_attributes() as $taxonomy => $data ) {
204
- $tax_query[] = array(
205
- array(
206
- 'taxonomy' => $taxonomy,
207
- 'field' => 'slug',
208
- 'terms' => $data['terms'],
209
- 'operator' => 'and' === $data['query_type'] ? 'AND' : 'IN',
210
- 'include_children' => false,
211
- )
212
- );
213
- }
214
- }
215
-
216
- }
217
-
218
- return $tax_query;
219
-
220
- }
221
-
222
- /**
223
- * [get_meta_query]
224
- * @return [array] meta Query
225
- */
226
- public function get_meta_query(){
227
- $meta_query = WC()->query->get_meta_query();
228
-
229
- if( isset( $_GET['min_price'] ) || isset( $_GET['max_price'] ) ){
230
- $meta_query = array_merge( array('relation' => 'AND'), $meta_query );
231
- $meta_query[] = array(
232
- [
233
- 'key' => '_price',
234
- 'value' => array( $_GET['min_price'], $_GET['max_price'] ),
235
- 'compare' => 'BETWEEN',
236
- 'type' => 'NUMERIC'
237
- ],
238
- );
239
- }
240
-
241
- return $meta_query;
242
-
243
- }
244
-
245
-
246
- }
247
-
248
- WooLentorProductQuery::instance();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class.quickview_manage.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- namespace WooLentor;
3
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
-
5
- /**
6
- * Quickview Manager
7
- */
8
- class Quick_View_Manager{
9
-
10
- private static $instance = null;
11
- public static function instance() {
12
- if ( is_null( self::$instance ) ) {
13
- self::$instance = new self();
14
- }
15
- return self::$instance;
16
- }
17
-
18
- function __construct(){
19
- add_action( 'woolentor_footer_render_content', [ $this, 'quick_view_html' ], 10 );
20
- }
21
-
22
-
23
- // Quick View Markup
24
- public function quick_view_html(){
25
- echo '<div class="woocommerce" id="htwlquick-viewmodal"><div class="htwl-modal-dialog product"><div class="htwl-modal-content"><button type="button" class="htcloseqv"><span class="sli sli-close"></span></button><div class="htwl-modal-body"></div></div></div></div>';
26
- }
27
-
28
- // Open Quick view Ajax Callback
29
- public static function wc_quickview() {
30
- if ( isset( $_POST['id'] ) && (int) $_POST['id'] ) {
31
- global $post, $product, $woocommerce;
32
- $id = ( int ) $_POST['id'];
33
- $post = get_post( $id );
34
- $product = get_product( $id );
35
- if ( $product ) {
36
- include ( apply_filters( 'woolentor_quickview_tmp', WOOLENTOR_ADDONS_PL_PATH.'includes/quickview-content.php' ) );
37
- }
38
- }
39
- wp_die();
40
- }
41
-
42
-
43
- }
44
-
45
- Quick_View_Manager::instance();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class.single_product_ajax_add_to_cart.php CHANGED
@@ -17,7 +17,13 @@ class Single_Product_Ajax_Add_To_Cart{
17
  }
18
 
19
  function __construct(){
 
 
 
 
 
20
  add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
 
21
  }
22
 
23
  // Ajax Cart Script
@@ -27,6 +33,31 @@ class Single_Product_Ajax_Add_To_Cart{
27
  }
28
  }
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  }
31
 
32
  Single_Product_Ajax_Add_To_Cart::instance();
17
  }
18
 
19
  function __construct(){
20
+
21
+ // Ajax Callback
22
+ add_action( 'wp_ajax_wl_singleproduct_ajax_add_to_cart', [ $this, 'woocommerce_ajax_add_to_cart' ] );
23
+ add_action( 'wp_ajax_nopriv_wl_singleproduct_ajax_add_to_cart', [ $this, 'woocommerce_ajax_add_to_cart' ] );
24
+
25
  add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
26
+
27
  }
28
 
29
  // Ajax Cart Script
33
  }
34
  }
35
 
36
+ // Ajax callback function
37
+ public function woocommerce_ajax_add_to_cart() {
38
+ $product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_POST['product_id'] ) );
39
+ $quantity = empty( $_POST['quantity'] ) ? 1 : wc_stock_amount( $_POST['quantity'] );
40
+ $variation_id = absint( $_POST['variation_id'] );
41
+ $passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity );
42
+ $product_status = get_post_status( $product_id );
43
+
44
+ if ( $passed_validation && \WC()->cart->add_to_cart( $product_id, $quantity, $variation_id ) && 'publish' === $product_status ) {
45
+ do_action( 'woocommerce_ajax_added_to_cart', $product_id );
46
+ if ( 'yes' === get_option('woocommerce_cart_redirect_after_add') ) {
47
+ wc_add_to_cart_message( array( $product_id => $quantity ), true );
48
+ }
49
+ \WC_AJAX::get_refreshed_fragments();
50
+ } else {
51
+ $data = array(
52
+ 'error' => true,
53
+ 'product_url' => apply_filters('woocommerce_cart_redirect_after_error', get_permalink( $product_id ), $product_id )
54
+ );
55
+ echo wp_send_json($data);
56
+ }
57
+ wp_die();
58
+ }
59
+
60
+
61
  }
62
 
63
  Single_Product_Ajax_Add_To_Cart::instance();
classes/class.widgets_control.php CHANGED
@@ -48,48 +48,18 @@ class Widgets_Control{
48
  $wl_element_manager = array(
49
  'product_tabs',
50
  'add_banner',
51
- 'special_day_offer',
52
- 'wb_image_marker',
53
- 'wl_store_features',
54
- 'wl_faq',
55
- 'wl_category_grid',
56
- 'wl_onepage_slider',
57
  );
58
-
59
- if( is_plugin_active('wishsuite/wishsuite.php') ){
60
- $wl_element_manager[] = 'wb_wishsuite_table';
61
- }
62
-
63
- if( is_plugin_active('ever-compare/ever-compare.php') ){
64
- $wl_element_manager[] = 'wb_ever_compare_table';
65
- }
66
-
67
- if( is_plugin_active('just-tables/just-tables.php') || is_plugin_active('just-tables-pro/just-tables-pro.php') ){
68
- $wl_element_manager[] = 'wb_just_table';
69
- }
70
-
71
- if( is_plugin_active('whols/whols.php') || is_plugin_active('whols-pro/whols-pro.php') ){
72
- $wl_element_manager[] = 'wb_whols';
73
- }
74
-
75
- if( is_plugin_active('wc-multi-currency/wcmilticurrency.php') || is_plugin_active('multicurrencypro/multicurrencypro.php') ){
76
- $wl_element_manager[] = 'wb_wc_multicurrency';
77
- }
78
-
79
  if( !is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') ){
80
  $wl_element_manager[] = 'universal_product';
81
  $wl_element_manager[] = 'wl_category';
82
  $wl_element_manager[] = 'wl_brand';
83
- $wl_element_manager[] = 'wb_customer_review';
84
- $wl_element_manager[] = 'wl_testimonial';
85
  }
86
 
87
  // WooCommerce Builder
88
  if( woolentor_get_option( 'enablecustomlayout', 'woolentor_woo_template_tabs', 'on' ) == 'on' ){
89
  $wlb_element = array(
90
  'wb_archive_product',
91
- 'wl_product_filter',
92
- 'wl_product_horizontal_filter',
93
  'wb_product_title',
94
  'wb_product_related',
95
  'wb_product_add_to_cart',
@@ -108,9 +78,6 @@ class Widgets_Control{
108
  'wb_product_call_for_price',
109
  'wb_product_suggest_price',
110
  'wb_product_qr_code',
111
- 'product_curvy',
112
- 'product_image_accordion',
113
- 'product_accordion',
114
  );
115
  }else{ $wlb_element = array(); }
116
  $wl_element_manager = array_merge( $wl_element_manager, $wlb_element );
48
  $wl_element_manager = array(
49
  'product_tabs',
50
  'add_banner',
51
+ 'special_day_offer'
 
 
 
 
 
52
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  if( !is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') ){
54
  $wl_element_manager[] = 'universal_product';
55
  $wl_element_manager[] = 'wl_category';
56
  $wl_element_manager[] = 'wl_brand';
 
 
57
  }
58
 
59
  // WooCommerce Builder
60
  if( woolentor_get_option( 'enablecustomlayout', 'woolentor_woo_template_tabs', 'on' ) == 'on' ){
61
  $wlb_element = array(
62
  'wb_archive_product',
 
 
63
  'wb_product_title',
64
  'wb_product_related',
65
  'wb_product_add_to_cart',
78
  'wb_product_call_for_price',
79
  'wb_product_suggest_price',
80
  'wb_product_qr_code',
 
 
 
81
  );
82
  }else{ $wlb_element = array(); }
83
  $wl_element_manager = array_merge( $wl_element_manager, $wlb_element );
includes/addons/add_banner.php CHANGED
@@ -1,10 +1,6 @@
1
  <?php
2
  namespace Elementor;
3
 
4
- // Elementor Classes
5
- use \Elementor\Core\Schemes\Color as Scheme_Color;
6
- use \Elementor\Core\Schemes\Typography as Scheme_Typography;
7
-
8
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
9
 
10
  class Woolentor_Elementor_Widget_Add_Banner extends Widget_Base {
@@ -154,6 +150,10 @@ class Woolentor_Elementor_Widget_Add_Banner extends Widget_Base {
154
  [
155
  'label' => __( 'Color', 'woolentor' ),
156
  'type' => Controls_Manager::COLOR,
 
 
 
 
157
  'default' => '#404040',
158
  'selectors' => [
159
  '{{WRAPPER}} .woolentor-banner .banner_title' => 'color: {{VALUE}};',
@@ -178,6 +178,7 @@ class Woolentor_Elementor_Widget_Add_Banner extends Widget_Base {
178
  [
179
  'name' => 'title_typography',
180
  'label' => __( 'Typography', 'woolentor' ),
 
181
  'selector' => '{{WRAPPER}} .woolentor-banner .banner_title',
182
  ]
183
  );
@@ -196,6 +197,10 @@ class Woolentor_Elementor_Widget_Add_Banner extends Widget_Base {
196
  [
197
  'label' => __( 'Color', 'woolentor' ),
198
  'type' => Controls_Manager::COLOR,
 
 
 
 
199
  'default' => '#404040',
200
  'selectors' => [
201
  '{{WRAPPER}} .woolentor-banner .banner_subtitle' => 'color: {{VALUE}};',
@@ -208,6 +213,7 @@ class Woolentor_Elementor_Widget_Add_Banner extends Widget_Base {
208
  [
209
  'name' => 'sub_title_typography',
210
  'label' => __( 'Typography', 'woolentor' ),
 
211
  'selector' => '{{WRAPPER}} .woolentor-banner .banner_subtitle',
212
  ]
213
  );
@@ -238,6 +244,10 @@ class Woolentor_Elementor_Widget_Add_Banner extends Widget_Base {
238
  [
239
  'label' => __( 'Color', 'woolentor' ),
240
  'type' => Controls_Manager::COLOR,
 
 
 
 
241
  'default' => '#404040',
242
  'selectors' => [
243
  '{{WRAPPER}} .woolentor-banner .banner_button' => 'color: {{VALUE}};border-color: {{VALUE}};',
@@ -250,6 +260,10 @@ class Woolentor_Elementor_Widget_Add_Banner extends Widget_Base {
250
  [
251
  'label' => __( 'Hover Color', 'woolentor' ),
252
  'type' => Controls_Manager::COLOR,
 
 
 
 
253
  'default' => '#404040',
254
  'selectors' => [
255
  '{{WRAPPER}} .woolentor-banner .banner_button:hover' => 'color: {{VALUE}};border-color: {{VALUE}};',
@@ -262,6 +276,7 @@ class Woolentor_Elementor_Widget_Add_Banner extends Widget_Base {
262
  [
263
  'name' => 'button_typography',
264
  'label' => __( 'Typography', 'woolentor' ),
 
265
  'selector' => '{{WRAPPER}} .woolentor-banner .banner_button',
266
  ]
267
  );
1
  <?php
2
  namespace Elementor;
3
 
 
 
 
 
4
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
 
6
  class Woolentor_Elementor_Widget_Add_Banner extends Widget_Base {
150
  [
151
  'label' => __( 'Color', 'woolentor' ),
152
  'type' => Controls_Manager::COLOR,
153
+ 'scheme' => [
154
+ 'type' => Scheme_Color::get_type(),
155
+ 'value' => Scheme_Color::COLOR_1,
156
+ ],
157
  'default' => '#404040',
158
  'selectors' => [
159
  '{{WRAPPER}} .woolentor-banner .banner_title' => 'color: {{VALUE}};',
178
  [
179
  'name' => 'title_typography',
180
  'label' => __( 'Typography', 'woolentor' ),
181
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
182
  'selector' => '{{WRAPPER}} .woolentor-banner .banner_title',
183
  ]
184
  );
197
  [
198
  'label' => __( 'Color', 'woolentor' ),
199
  'type' => Controls_Manager::COLOR,
200
+ 'scheme' => [
201
+ 'type' => Scheme_Color::get_type(),
202
+ 'value' => Scheme_Color::COLOR_1,
203
+ ],
204
  'default' => '#404040',
205
  'selectors' => [
206
  '{{WRAPPER}} .woolentor-banner .banner_subtitle' => 'color: {{VALUE}};',
213
  [
214
  'name' => 'sub_title_typography',
215
  'label' => __( 'Typography', 'woolentor' ),
216
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
217
  'selector' => '{{WRAPPER}} .woolentor-banner .banner_subtitle',
218
  ]
219
  );
244
  [
245
  'label' => __( 'Color', 'woolentor' ),
246
  'type' => Controls_Manager::COLOR,
247
+ 'scheme' => [
248
+ 'type' => Scheme_Color::get_type(),
249
+ 'value' => Scheme_Color::COLOR_1,
250
+ ],
251
  'default' => '#404040',
252
  'selectors' => [
253
  '{{WRAPPER}} .woolentor-banner .banner_button' => 'color: {{VALUE}};border-color: {{VALUE}};',
260
  [
261
  'label' => __( 'Hover Color', 'woolentor' ),
262
  'type' => Controls_Manager::COLOR,
263
+ 'scheme' => [
264
+ 'type' => Scheme_Color::get_type(),
265
+ 'value' => Scheme_Color::COLOR_1,
266
+ ],
267
  'default' => '#404040',
268
  'selectors' => [
269
  '{{WRAPPER}} .woolentor-banner .banner_button:hover' => 'color: {{VALUE}};border-color: {{VALUE}};',
276
  [
277
  'name' => 'button_typography',
278
  'label' => __( 'Typography', 'woolentor' ),
279
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
280
  'selector' => '{{WRAPPER}} .woolentor-banner .banner_button',
281
  ]
282
  );
includes/addons/product_accordion.php DELETED
@@ -1,905 +0,0 @@
1
- <?php
2
-
3
- namespace Elementor;
4
-
5
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
6
-
7
- class Woolentor_Product_Accordion_Layout_Widget extends Widget_Base {
8
-
9
- public function get_name() {
10
- return 'woolentor-accordion-product';
11
- }
12
-
13
- public function get_title() {
14
- return __( 'WL: Product Accordion', 'woolentor' );
15
- }
16
-
17
- public function get_icon() {
18
- return 'eicon-cart-light';
19
- }
20
-
21
- public function get_categories() {
22
- return [ 'woolentor-addons' ];
23
- }
24
-
25
- public function get_style_depends(){
26
- return [
27
- 'htflexboxgrid',
28
- 'font-awesome',
29
- 'simple-line-icons',
30
- 'woolentor-widgets',
31
- ];
32
- }
33
-
34
- public function get_script_depends() {
35
- return [
36
- 'woolentor-widgets-scripts',
37
- ];
38
- }
39
-
40
- public function get_keywords(){
41
- return ['slider','product','universal','universal product','universal layout'];
42
- }
43
-
44
- protected function _register_controls() {
45
-
46
- // Product Content
47
- $this->start_controls_section(
48
- 'woolentor-products-layout-setting',
49
- [
50
- 'label' => esc_html__( 'Layout Settings', 'woolentor' ),
51
- ]
52
- );
53
-
54
- $this->add_control(
55
- 'product_content_style',
56
- [
57
- 'label' => __( 'Background Type', 'woolentor' ),
58
- 'type' => Controls_Manager::SELECT,
59
- 'default' => '2',
60
- 'options' => [
61
- '1' => __( 'Background Color', 'woolentor' ),
62
- '2' => __( 'Gradient Color', 'woolentor' ),
63
- ]
64
- ]
65
- );
66
-
67
- $this->end_controls_section();
68
- // Product Query
69
- $this->start_controls_section(
70
- 'woolentor-products',
71
- [
72
- 'label' => esc_html__( 'Query Settings', 'woolentor' ),
73
- ]
74
- );
75
-
76
- $this->add_control(
77
- 'woolentor_product_grid_product_filter',
78
- [
79
- 'label' => esc_html__( 'Filter By', 'woolentor' ),
80
- 'type' => Controls_Manager::SELECT,
81
- 'default' => 'recent',
82
- 'options' => [
83
- 'recent' => esc_html__( 'Recent Products', 'woolentor' ),
84
- 'featured' => esc_html__( 'Featured Products', 'woolentor' ),
85
- 'best_selling' => esc_html__( 'Best Selling Products', 'woolentor' ),
86
- 'sale' => esc_html__( 'Sale Products', 'woolentor' ),
87
- 'top_rated' => esc_html__( 'Top Rated Products', 'woolentor' ),
88
- 'mixed_order' => esc_html__( 'Random Products', 'woolentor' ),
89
- 'show_byid' => esc_html__( 'Show By Id', 'woolentor' ),
90
- 'show_byid_manually' => esc_html__( 'Add ID Manually', 'woolentor' ),
91
- ],
92
- ]
93
- );
94
-
95
- $this->add_control(
96
- 'woolentor_product_id',
97
- [
98
- 'label' => __( 'Select Product', 'woolentor' ),
99
- 'type' => Controls_Manager::SELECT2,
100
- 'label_block' => true,
101
- 'multiple' => true,
102
- 'options' => woolentor_post_name( 'product' ),
103
- 'condition' => [
104
- 'woolentor_product_grid_product_filter' => 'show_byid',
105
- ]
106
- ]
107
- );
108
-
109
- $this->add_control(
110
- 'woolentor_product_ids_manually',
111
- [
112
- 'label' => __( 'Product IDs', 'woolentor' ),
113
- 'type' => Controls_Manager::TEXT,
114
- 'label_block' => true,
115
- 'condition' => [
116
- 'woolentor_product_grid_product_filter' => 'show_byid_manually',
117
- ]
118
- ]
119
- );
120
-
121
- $this->add_control(
122
- 'woolentor_product_grid_categories',
123
- [
124
- 'label' => esc_html__( 'Product Categories', 'woolentor' ),
125
- 'type' => Controls_Manager::SELECT2,
126
- 'label_block' => true,
127
- 'multiple' => true,
128
- 'options' => woolentor_taxonomy_list(),
129
- 'condition' => [
130
- 'woolentor_product_grid_product_filter!' => 'show_byid',
131
- ]
132
- ]
133
- );
134
-
135
- $this->add_control(
136
- 'woolentor_product_grid_products_count',
137
- [
138
- 'label' => __( 'Product Limit', 'woolentor' ),
139
- 'type' => Controls_Manager::NUMBER,
140
- 'default' => 4,
141
- 'step' => 1,
142
- ]
143
- );
144
-
145
- $this->add_control(
146
- 'woolentor_custom_order',
147
- [
148
- 'label' => esc_html__( 'Custom order', 'woolentor' ),
149
- 'type' => Controls_Manager::SWITCHER,
150
- 'return_value' => 'yes',
151
- 'default' => 'no',
152
- ]
153
- );
154
-
155
- $this->add_control(
156
- 'orderby',
157
- [
158
- 'label' => esc_html__( 'Order by', 'woolentor' ),
159
- 'type' => Controls_Manager::SELECT,
160
- 'default' => 'none',
161
- 'options' => [
162
- 'none' => esc_html__('None','woolentor'),
163
- 'ID' => esc_html__('ID','woolentor'),
164
- 'date' => esc_html__('Date','woolentor'),
165
- 'name' => esc_html__('Name','woolentor'),
166
- 'title' => esc_html__('Title','woolentor'),
167
- 'comment_count' => esc_html__('Comment count','woolentor'),
168
- 'rand' => esc_html__('Random','woolentor'),
169
- ],
170
- 'condition' => [
171
- 'woolentor_custom_order' => 'yes',
172
- ]
173
- ]
174
- );
175
-
176
- $this->add_control(
177
- 'order',
178
- [
179
- 'label' => esc_html__( 'order', 'woolentor' ),
180
- 'type' => Controls_Manager::SELECT,
181
- 'default' => 'DESC',
182
- 'options' => [
183
- 'DESC' => esc_html__('Descending','woolentor'),
184
- 'ASC' => esc_html__('Ascending','woolentor'),
185
- ],
186
- 'condition' => [
187
- 'woolentor_custom_order' => 'yes',
188
- ]
189
- ]
190
- );
191
-
192
- $this->end_controls_section();
193
-
194
- // Product Content
195
- $this->start_controls_section(
196
- 'woolentor-products-content-setting',
197
- [
198
- 'label' => esc_html__( 'Content Settings', 'woolentor' ),
199
- ]
200
- );
201
-
202
- $this->add_control(
203
- 'add_to_cart_text',
204
- [
205
- 'label' => esc_html__( 'Add to Cart Button Text', 'woolentor' ),
206
- 'type' => Controls_Manager::TEXT,
207
- 'default' => esc_html__( 'Buy', 'woolentor' ),
208
- 'placeholder' => esc_html__( 'Type your cart button text', 'woolentor' ),
209
- 'label_block' => true,
210
- ]
211
- );
212
-
213
- $this->add_control(
214
- 'button_icon',
215
- [
216
- 'label' => esc_html__( 'Add to Cart Button Icon', 'woolentor' ),
217
- 'type' => Controls_Manager::ICONS,
218
- 'label_block' => true,
219
- 'fa4compatibility' => 'buttonicon',
220
- 'default'=>[
221
- 'value' => 'fa fa-shopping-cart',
222
- 'library'=> 'solid',
223
- ]
224
- ]
225
- );
226
-
227
- $this->add_responsive_control(
228
- 'icon_specing',
229
- [
230
- 'label' => esc_html__( 'Icon Spacing', 'woolentor' ),
231
- 'type' => Controls_Manager::SLIDER,
232
- 'range' => [
233
- 'px' => [
234
- 'max' => 150,
235
- ],
236
- ],
237
- 'default' => [
238
- 'size' => 7,
239
- ],
240
- 'condition' => [
241
- 'button_icon[value]!' => '',
242
- ],
243
- 'selectors' => [
244
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.action-item i' => 'margin-left: {{SIZE}}{{UNIT}};',
245
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.action-item i' => 'margin-right: {{SIZE}}{{UNIT}};',
246
- ],
247
- ]
248
- );
249
-
250
- $this->add_group_control(
251
- \Elementor\Group_Control_Image_Size::get_type(),
252
- [
253
- 'name' => 'thumbnailsize',
254
- 'default' => 'large',
255
- 'separator' => 'before',
256
- ]
257
- );
258
-
259
- $this->add_control(
260
- 'content_showing_heading',
261
- [
262
- 'label' => esc_html__( 'Content Display', 'woolentor' ),
263
- 'type' => Controls_Manager::HEADING,
264
- 'separator' => 'before',
265
- ]
266
- );
267
-
268
- $this->add_control(
269
- 'hide_product_content',
270
- [
271
- 'label' => __( 'Hide Content', 'woolentor' ),
272
- 'type' => Controls_Manager::SWITCHER,
273
- 'selectors' => [
274
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-content-top p' => 'display: none !important;',
275
- ],
276
- ]
277
- );
278
-
279
- $this->add_control(
280
- 'content_count',
281
- [
282
- 'label' => __( 'Content Limit', 'woolentor' ),
283
- 'type' => Controls_Manager::NUMBER,
284
- 'default' => 15,
285
- 'step' => 1,
286
- 'condition'=>[
287
- 'hide_product_content'=> ''
288
- ]
289
- ]
290
- );
291
-
292
- $this->add_control(
293
- 'hide_product_price',
294
- [
295
- 'label' => __( 'Hide Price', 'woolentor' ),
296
- 'type' => Controls_Manager::SWITCHER,
297
- 'selectors' => [
298
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .product-price' => 'display: none !important;',
299
- ],
300
- ]
301
- );
302
-
303
- $this->add_control(
304
- 'hide_product_ratting',
305
- [
306
- 'label' => __( 'Hide Rating', 'woolentor' ),
307
- 'type' => Controls_Manager::SWITCHER,
308
- 'selectors' => [
309
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-content-top .reading' => 'display: none !important;',
310
- ],
311
- ]
312
- );
313
-
314
- $this->end_controls_section();
315
-
316
- // Style section
317
- $this->start_controls_section(
318
- 'universal_product_style_section',
319
- [
320
- 'label' => __( 'Style', 'woolentor' ),
321
- 'tab' => Controls_Manager::TAB_STYLE,
322
- ]
323
- );
324
-
325
- $this->add_responsive_control(
326
- 'product_inner_margin',
327
- [
328
- 'label' => __( 'Margin', 'woolentor' ),
329
- 'type' => Controls_Manager::DIMENSIONS,
330
- 'size_units' => [ 'px', '%', 'em' ],
331
- 'selectors' => [
332
- '{{WRAPPER}} .wl_product-accordion .wl_product-accordion-card' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
333
- ],
334
- ]
335
- );
336
-
337
- $this->add_responsive_control(
338
- 'product_inner_padding',
339
- [
340
- 'label' => __( 'Padding', 'woolentor' ),
341
- 'type' => Controls_Manager::DIMENSIONS,
342
- 'size_units' => [ 'px', '%', 'em' ],
343
- 'selectors' => [
344
- '{{WRAPPER}} .wl_product-accordion .wl_product-accordion-card' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
345
- ],
346
- ]
347
- );
348
-
349
- $this->add_group_control(
350
- \Elementor\Group_Control_Background::get_type(),
351
- [
352
- 'name' => 'product1_background_color',
353
- 'label' => __( 'Background', 'woolentor' ),
354
- 'condition' => [
355
- 'product_content_style' => '1'
356
- ],
357
- 'types' => [ 'classic', 'gradient' ],
358
- 'selector' => '{{WRAPPER}} .wl_product-accordion.wl_product-accordion-two .wl_product-accordion-card ',
359
-
360
- ]
361
- );
362
- $this->add_group_control(
363
- \Elementor\Group_Control_Background::get_type(),
364
- [
365
- 'name' => 'product2_background_color',
366
- 'label' => __( 'Background', 'woolentor' ),
367
- 'condition' => [
368
- 'product_content_style' => '2'
369
- ],
370
- 'types' => [ 'gradient' ],
371
- 'selector' => '{{WRAPPER}} .wl_product-accordion .wl_product-accordion-card',
372
-
373
- ]
374
- );
375
-
376
- //title area
377
- $this->add_control(
378
- 'product_title_area_heading',
379
- [
380
- 'label' => __( 'Title Area', 'woolentor' ),
381
- 'type' => Controls_Manager::HEADING,
382
- 'separator' => 'before',
383
- ]
384
- );
385
-
386
-
387
- $this->add_control(
388
- 'product_border_title_color',
389
- [
390
- 'label' => __( 'Border Color', 'woolentor' ),
391
- 'type' => Controls_Manager::COLOR,
392
- 'default' =>'#ffffff',
393
- 'selectors' => [
394
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-content-top' => 'border-color: {{VALUE}};',
395
- ],
396
- ]
397
- );
398
-
399
- $this->add_group_control(
400
- Group_Control_Typography::get_type(),
401
- [
402
- 'name' => 'product_title_typography',
403
- 'selector' => '{{WRAPPER}} .wl_product-accordion .wl_product-accordion-card .wl_product-accordion-head',
404
- ]
405
- );
406
-
407
- $this->add_control(
408
- 'product_title_color',
409
- [
410
- 'label' => __( 'Title Color', 'woolentor' ),
411
- 'type' => Controls_Manager::COLOR,
412
- 'default' => '#ffffff',
413
- 'selectors' => [
414
- '{{WRAPPER}} .wl_product-accordion .wl_product-accordion-card .wl_product-accordion-head' => 'color: {{VALUE}};',
415
- ],
416
- ]
417
- );
418
- $this->add_control(
419
- 'product_collapse_icon_color',
420
- [
421
- 'label' => __( 'Collapse Icon Color', 'woolentor' ),
422
- 'type' => Controls_Manager::COLOR,
423
- 'default' => '#3951E1',
424
- 'selectors' => [
425
- '{{WRAPPER}} .wl_product-accordion .wl_product-accordion-card.active .wl_product-accordion-head-indicator i' => 'color: {{VALUE}};',
426
- ],
427
- ]
428
- );
429
- $this->add_control(
430
- 'product_collapse_bg_color',
431
- [
432
- 'label' => __( 'Collapse Background', 'woolentor' ),
433
- 'type' => Controls_Manager::COLOR,
434
- 'default' => '#ffffff',
435
- 'selectors' => [
436
- '{{WRAPPER}} .wl_product-accordion .wl_product-accordion-card .wl_product-accordion-head-indicator' => 'background-color: {{VALUE}};',
437
- ],
438
- ]
439
- );
440
-
441
- //product content
442
- $this->add_control(
443
- 'product_content_area_heading',
444
- [
445
- 'label' => __( 'Content Area', 'woolentor' ),
446
- 'type' => Controls_Manager::HEADING,
447
- 'separator' => 'before',
448
- ]
449
- );
450
- $this->add_group_control(
451
- Group_Control_Typography::get_type(),
452
- [
453
- 'name' => 'product_content_typography',
454
- 'selector' => '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-content-top p',
455
- ]
456
- );
457
-
458
- $this->add_control(
459
- 'product_content_color',
460
- [
461
- 'label' => __( 'Content Color', 'woolentor' ),
462
- 'type' => Controls_Manager::COLOR,
463
- 'default' => '#ffffff',
464
- 'selectors' => [
465
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-content-top p' => 'color: {{VALUE}};',
466
- ],
467
- ]
468
- );
469
- $this->add_responsive_control(
470
- 'product_content_margin',
471
- [
472
- 'label' => __( 'Margin', 'woolentor' ),
473
- 'type' => Controls_Manager::DIMENSIONS,
474
- 'size_units' => [ 'px', '%', 'em' ],
475
- 'selectors' => [
476
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-content-top p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
477
- ],
478
- ]
479
- );
480
-
481
- // Product Price
482
- $this->add_control(
483
- 'product_price_heading',
484
- [
485
- 'label' => __( 'Product Price', 'woolentor' ),
486
- 'type' => Controls_Manager::HEADING,
487
- 'separator' => 'before',
488
- ]
489
- );
490
-
491
- $this->add_control(
492
- 'product_sale_price_color',
493
- [
494
- 'label' => __( 'Sale Price Color', 'woolentor' ),
495
- 'type' => Controls_Manager::COLOR,
496
- 'default' => '#ffffff',
497
- 'selectors' => [
498
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .product-price' => 'color: {{VALUE}};',
499
- ],
500
- ]
501
- );
502
-
503
- $this->add_group_control(
504
- Group_Control_Typography::get_type(),
505
- [
506
- 'name' => 'product_sale_price_typography',
507
- 'selector' => '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .product-price',
508
- ]
509
- );
510
-
511
- $this->add_control(
512
- 'product_regular_price_color',
513
- [
514
- 'label' => __( 'Regular Price Color', 'woolentor' ),
515
- 'type' => Controls_Manager::COLOR,
516
- 'separator' => 'before',
517
- 'default' => '#ffffff',
518
- 'selectors' => [
519
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .product-price del' => 'color: {{VALUE}};',
520
- ],
521
- ]
522
- );
523
-
524
- $this->add_group_control(
525
- Group_Control_Typography::get_type(),
526
- [
527
- 'name' => 'product_regular_price_typography',
528
- 'selector' => '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .product-price del',
529
- ]
530
- );
531
-
532
- $this->add_responsive_control(
533
- 'product_price_margin',
534
- [
535
- 'label' => __( 'Margin', 'woolentor' ),
536
- 'type' => Controls_Manager::DIMENSIONS,
537
- 'size_units' => [ 'px', '%', 'em' ],
538
- 'selectors' => [
539
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .product-price' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
540
- ],
541
- ]
542
- );
543
-
544
- // Product Rating
545
- $this->add_control(
546
- 'product_rating_heading',
547
- [
548
- 'label' => __( 'Product Rating', 'woolentor' ),
549
- 'type' => Controls_Manager::HEADING,
550
- 'separator' => 'before',
551
- ]
552
- );
553
-
554
- $this->add_control(
555
- 'product_rating_color',
556
- [
557
- 'label' => __( 'Empty Rating Color', 'woolentor' ),
558
- 'type' => Controls_Manager::COLOR,
559
- 'default' => '#ffffff',
560
- 'selectors' => [
561
- '{{WRAPPER}} .wl_product-accordion .product-content .reading .star-rating' => 'color: {{VALUE}};',
562
- ],
563
- ]
564
- );
565
-
566
- $this->add_control(
567
- 'product_rating_give_color',
568
- [
569
- 'label' => __( 'Rating Color', 'woolentor' ),
570
- 'type' => Controls_Manager::COLOR,
571
- 'default' => '#ffffff',
572
- 'selectors' => [
573
- '{{WRAPPER}} .wl_product-accordion .product-content .reading .star-rating span' => 'color: {{VALUE}};',
574
- ],
575
- ]
576
- );
577
-
578
- $this->add_responsive_control(
579
- 'product_rating_margin',
580
- [
581
- 'label' => __( 'Margin', 'woolentor' ),
582
- 'type' => Controls_Manager::DIMENSIONS,
583
- 'size_units' => [ 'px', '%', 'em' ],
584
- 'selectors' => [
585
- '{{WRAPPER}} .wl_product-accordion .product-content .reading .star-rating' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
586
- ],
587
- ]
588
- );
589
-
590
- $this->end_controls_section(); // Style End
591
-
592
- // Style Action Button tab section
593
- $this->start_controls_section(
594
- 'universal_product_action_button_style_section',
595
- [
596
- 'label' => __( 'Action Button Style', 'woolentor' ),
597
- 'tab' => Controls_Manager::TAB_STYLE,
598
- ]
599
- );
600
-
601
- $this->start_controls_tabs('product_action_button_style_tabs');
602
-
603
- // Normal
604
- $this->start_controls_tab(
605
- 'product_action_button_style_normal_tab',
606
- [
607
- 'label' => __( 'Normal', 'woolentor' ),
608
- ]
609
- );
610
-
611
- $this->add_control(
612
- 'product_action_button_normal_color',
613
- [
614
- 'label' => __( 'Color', 'woolentor' ),
615
- 'type' => Controls_Manager::COLOR,
616
- 'default' => '#333333',
617
- 'selectors' => [
618
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a' => 'color: {{VALUE}};',
619
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .wishlist a' => 'color: {{VALUE}};',
620
- '{{WRAPPER}} .wl_product-accordion .action .woocommerce.product.compare-button a:before' => 'color: {{VALUE}};',
621
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward:after' => 'color: {{VALUE}};',
622
- ],
623
- ]
624
- );
625
-
626
- $this->add_group_control(
627
- Group_Control_Background::get_type(),
628
- [
629
- 'name' => 'product_action_button_normal_background_color',
630
- 'label' => __( 'Background', 'woolentor' ),
631
- 'types' => [ 'classic', 'gradient' ],
632
- 'selector' => '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a, {{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .wishlist a, {{WRAPPER}} .wl_product-accordion .action .woocommerce.product.compare-button a:before, {{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward:after',
633
- ]
634
- );
635
-
636
- $this->add_responsive_control(
637
- 'product_action_button_border_radius',
638
- [
639
- 'label' => __( 'Border Radius', 'woolentor' ),
640
- 'type' => Controls_Manager::DIMENSIONS,
641
- 'size_units' => [ 'px', '%', 'em' ],
642
- 'selectors' => [
643
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a, {{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .wishlist a, {{WRAPPER}} .wl_product-accordion .action .woocommerce.product.compare-button a:before' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
644
- ],
645
- ]
646
- );
647
-
648
- $this->end_controls_tab();
649
-
650
- // Hover
651
- $this->start_controls_tab(
652
- 'product_action_button_style_hover_tab',
653
- [
654
- 'label' => __( 'Hover', 'woolentor' ),
655
- ]
656
- );
657
-
658
- $this->add_control(
659
- 'product_action_button_hover_color',
660
- [
661
- 'label' => __( 'Color', 'woolentor' ),
662
- 'type' => Controls_Manager::COLOR,
663
- 'default' => '#333333',
664
- 'selectors' => [
665
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a:hover' => 'color: {{VALUE}};',
666
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .wishlist a:hover' => 'color: {{VALUE}};',
667
- '{{WRAPPER}} .wl_product-accordion .action .woocommerce.product.compare-button a:hover::before' => 'color: {{VALUE}};',
668
- '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward:after' => 'color: {{VALUE}};',
669
- ],
670
- ]
671
- );
672
-
673
- $this->add_group_control(
674
- Group_Control_Background::get_type(),
675
- [
676
- 'name' => 'product_action_button_hover_background_color',
677
- 'label' => __( 'Background', 'woolentor' ),
678
- 'types' => [ 'classic', 'gradient' ],
679
- 'selector' => '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a:hover, {{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .wishlist a:hover, {{WRAPPER}} .wl_product-accordion .action .woocommerce.product.compare-button a:hover::before, {{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.added_to_cart.wc-forward:hover:after',
680
- ]
681
- );
682
-
683
- $this->end_controls_tab();
684
- $this->end_controls_tabs();
685
- $this->end_controls_section();
686
- }
687
-
688
- protected function render( $instance = [] ) {
689
- $settings = $this->get_settings_for_display();
690
- $product_type = $this->get_settings_for_display('woolentor_product_grid_product_filter');
691
- $per_page = $this->get_settings_for_display('woolentor_product_grid_products_count');
692
- $custom_order_ck = $this->get_settings_for_display('woolentor_custom_order');
693
- $orderby = $this->get_settings_for_display('orderby');
694
- $order = $this->get_settings_for_display('order');
695
- $tabuniqid = $this->get_id();
696
-
697
- // Query Argument
698
- $args = array(
699
- 'post_type' => 'product',
700
- 'post_status' => 'publish',
701
- 'ignore_sticky_posts' => 1,
702
- 'posts_per_page' => $per_page,
703
- );
704
-
705
- switch( $product_type ){
706
-
707
- case 'sale':
708
- $args['post__in'] = array_merge( array( 0 ), wc_get_product_ids_on_sale() );
709
- break;
710
-
711
- case 'featured':
712
- $args['tax_query'][] = array(
713
- 'taxonomy' => 'product_visibility',
714
- 'field' => 'name',
715
- 'terms' => 'featured',
716
- 'operator' => 'IN',
717
- );
718
- break;
719
-
720
- case 'best_selling':
721
- $args['meta_key'] = 'total_sales';
722
- $args['orderby'] = 'meta_value_num';
723
- $args['order'] = 'desc';
724
- break;
725
-
726
- case 'top_rated':
727
- $args['meta_key'] = '_wc_average_rating';
728
- $args['orderby'] = 'meta_value_num';
729
- $args['order'] = 'desc';
730
- break;
731
-
732
- case 'mixed_order':
733
- $args['orderby'] = 'rand';
734
- break;
735
-
736
- case 'show_byid':
737
- $args['post__in'] = $settings['woolentor_product_id'];
738
- break;
739
-
740
- case 'show_byid_manually':
741
- $args['post__in'] = explode( ',', $settings['woolentor_product_ids_manually'] );
742
- break;
743
-
744
- default: /* Recent */
745
- $args['orderby'] = 'date';
746
- $args['order'] = 'desc';
747
- break;
748
- }
749
-
750
- // Custom Order
751
- if( $custom_order_ck == 'yes' ){
752
- $args['orderby'] = $orderby;
753
- $args['order'] = $order;
754
- }
755
-
756
- $get_product_categories = $settings['woolentor_product_grid_categories']; // get custom field value
757
- $product_cats = str_replace(' ', '', $get_product_categories);
758
- if ( "0" != $get_product_categories) {
759
- if( is_array($product_cats) && count($product_cats) > 0 ){
760
- $field_name = is_numeric($product_cats[0])?'term_id':'slug';
761
- $args['tax_query'][] = array(
762
- array(
763
- 'taxonomy' => 'product_cat',
764
- 'terms' => $product_cats,
765
- 'field' => $field_name,
766
- 'include_children' => false
767
- )
768
- );
769
- }
770
- }
771
-
772
-
773
- // Thumbanail Image size
774
- $image_size = 'woocommerce_thumbnail';
775
- $size = $settings['thumbnailsize_size'];
776
- if( $size === 'custom' ){
777
- $image_size = [
778
- (int)$settings['thumbnailsize_custom_dimension']['width'],
779
- (int)$settings['thumbnailsize_custom_dimension']['height']
780
- ];
781
- }else{
782
- $image_size = $size;
783
- }
784
-
785
- // Add to Cart Button
786
- $cart_btn = $button_icon = '';
787
- if( !empty( $settings['button_icon']['value'] ) ){
788
-
789
- $button_icon = woolentor_render_icon( $settings, 'button_icon', 'buttonicon' );
790
- }
791
- $button_text = ! empty( $settings['add_to_cart_text'] ) ? $settings['add_to_cart_text'] : '';
792
-
793
- $cart_btn = $button_icon.$button_text;
794
-
795
- $products = new \WP_Query( $args );
796
-
797
-
798
- ?>
799
- <div class=" ht-row ht-products woocommerce product">
800
- <div class="wl_product-accordion <?php if($settings['product_content_style']=='1'){echo esc_attr('wl_product-accordion-two'); } ?>">
801
-
802
- <?php
803
- if( $products->have_posts() ):
804
-
805
- $i=0;
806
- while( $products->have_posts() ): $products->the_post();
807
- $i++;
808
- //Gallery Image
809
- global $product;
810
-
811
- $btn_class = $product->is_purchasable() && $product->is_in_stock() ? ' add_to_cart_button' : '';
812
-
813
- $btn_class .= $product->supports( 'ajax_add_to_cart' ) && $product->is_purchasable() && $product->is_in_stock() ? ' ajax_add_to_cart' : '';
814
-
815
- $content_count = wp_trim_words(get_the_content(),$settings['content_count'],'');
816
- ?>
817
-
818
- <div class="wl_product-accordion-card <?php if( $i ==1){echo esc_attr('active'); } ?>">
819
- <div class="wl_product-accordion-head <?php echo $tabuniqid; ?>">
820
- <span class="wl_product-accordion-head-text"><?php the_title(); ?></span>
821
- <span class="wl_product-accordion-head-indicator"><i class="fa fa-caret-down"></i><i class="fa fa-caret-up"></i></span>
822
- </div>
823
- <div class="wl_product-accordion-body <?php echo $tabuniqid; ?> ">
824
- <div class="wl_product-accordion-content">
825
- <div class="card-body">
826
- <div class="product-thumbnail">
827
- <a href="<?php echo $product->get_permalink(); ?>"><?php echo $product->get_image($image_size); ?></a>
828
- </div>
829
- <div class="product-content">
830
- <div class="product-content-top">
831
- <p><?php echo $content_count; ?> </p>
832
- <div class="reading">
833
- <?php woocommerce_template_loop_rating(); ?>
834
- </div>
835
- </div>
836
- <div class="product-acontent-bottom">
837
- <div class="product-price">
838
- <span class="new-price"><?php woocommerce_template_loop_price();?></span>
839
- </div>
840
- <ul class="action">
841
- <li class="btn_cart">
842
- <a href="<?php echo $product->add_to_cart_url(); ?>" data-quantity="1" class="action-item <?php echo $btn_class; ?>" data-product_id="<?php echo $product->get_id(); ?>"><?php echo __( $cart_btn, 'woolentor' );?></a>
843
- </li>
844
- <?php
845
- if( true === woolentor_has_wishlist_plugin() ){
846
- echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>').'</li>';
847
- }
848
-
849
- if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() && !Plugin::instance()->editor->is_edit_mode() ){
850
- echo '<li>';
851
- woolentor_compare_button(
852
- array(
853
- 'btn_text'=>'<i class="fas fa-exchange-alt"></i>',
854
- 'btn_added_txt'=>'<i class="fas fa-exchange-alt"></i>'
855
- )
856
- );
857
- echo '</li>';
858
- }
859
- ?>
860
- </ul>
861
- </div>
862
- </div>
863
- </div>
864
- </div>
865
- </div>
866
- </div>
867
- <!--Product End-->
868
- <?php endwhile; wp_reset_query(); wp_reset_postdata(); endif; ?>
869
-
870
- </div>
871
- </div>
872
-
873
- <script>
874
- ;jQuery(document).ready(function($) {
875
- 'use strict';
876
- (function HTProductAccordionFunction() {
877
- var HTProductAccordionHead = $('.wl_product-accordion-head.<?php echo $tabuniqid; ?>'),
878
- HTProductAccordionBody = $('.wl_product-accordion-body.<?php echo $tabuniqid; ?>');
879
- HTProductAccordionBody.hide()
880
- $('.wl_product-accordion-card.active').find('.wl_product-accordion-body.<?php echo $tabuniqid; ?>').slideDown();
881
- HTProductAccordionHead.on('click', function(e) {
882
- e.preventDefault();
883
- var $this = $(this);
884
-
885
- if ($this.parent('.wl_product-accordion-card').hasClass('active')) {
886
- $this.parent('.wl_product-accordion-card').removeClass('active').find('.wl_product-accordion-body.<?php echo $tabuniqid; ?>').slideUp();
887
- } else {
888
- $this.parent('.wl_product-accordion-card').addClass('active').find('.wl_product-accordion-body.<?php echo $tabuniqid; ?>').slideDown();
889
- $this.parent().siblings('.wl_product-accordion-card').removeClass('active').find('.wl_product-accordion-body.<?php echo $tabuniqid; ?>').slideUp();
890
- }
891
- })
892
- })();
893
-
894
- });
895
- </script>
896
-
897
- <?php
898
-
899
- }
900
-
901
- }
902
-
903
- Plugin::instance()->widgets_manager->register_widget_type( new Woolentor_Product_Accordion_Layout_Widget() );
904
-
905
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/product_curvy.php DELETED
@@ -1,1012 +0,0 @@
1
- <?php
2
-
3
- namespace Elementor;
4
-
5
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
6
-
7
- class Woolentor_Product_Curvy_Layout_Widget extends Widget_Base {
8
-
9
- public function get_name() {
10
- return 'woolentor-curvy-product';
11
- }
12
-
13
- public function get_title() {
14
- return __( 'WL: Product Curvy', 'woolentor' );
15
- }
16
-
17
- public function get_icon() {
18
- return 'eicon-cart-light';
19
- }
20
-
21
- public function get_categories() {
22
- return [ 'woolentor-addons' ];
23
- }
24
-
25
- public function get_style_depends(){
26
- return [
27
- 'htflexboxgrid',
28
- 'font-awesome',
29
- 'simple-line-icons',
30
- 'woolentor-widgets',
31
- ];
32
- }
33
-
34
- public function get_script_depends() {
35
- return [
36
- 'woolentor-widgets-scripts',
37
- ];
38
- }
39
-
40
- public function get_keywords(){
41
- return ['slider','product','universal','universal product','universal layout'];
42
- }
43
-
44
- protected function _register_controls() {
45
-
46
- // Product Content
47
- $this->start_controls_section(
48
- 'woolentor-products-layout-setting',
49
- [
50
- 'label' => esc_html__( 'Layout Settings', 'woolentor' ),
51
- ]
52
- );
53
-
54
- $this->add_control(
55
- 'product_content_style',
56
- [
57
- 'label' => __( 'Style', 'woolentor' ),
58
- 'type' => Controls_Manager::SELECT,
59
- 'default' => '1',
60
- 'options' => [
61
- '1' => __( 'Style One', 'woolentor' ),
62
- '2' => __( 'Style Two', 'woolentor' ),
63
- '3' => __( 'Style Three', 'woolentor' ),
64
- ]
65
- ]
66
- );
67
-
68
- $this->add_control(
69
- 'woolentor_product_grid_column',
70
- [
71
- 'label' => esc_html__( 'Columns', 'woolentor' ),
72
- 'type' => Controls_Manager::SELECT,
73
- 'condition' => [
74
- 'product_content_style' => array('1','3'),
75
- ],
76
- 'default' => '4',
77
- 'options' => [
78
- '1' => esc_html__( '1', 'woolentor' ),
79
- '2' => esc_html__( '2', 'woolentor' ),
80
- '3' => esc_html__( '3', 'woolentor' ),
81
- '4' => esc_html__( '4', 'woolentor' ),
82
- ]
83
- ]
84
- );
85
-
86
- $this->add_control(
87
- 'woolentor_product_grid2_column',
88
- [
89
- 'label' => esc_html__( 'Columns', 'woolentor' ),
90
- 'type' => Controls_Manager::SELECT,
91
- 'default' => '2',
92
- 'condition' => [
93
- 'product_content_style' => array('2'),
94
- ],
95
- 'options' => [
96
- '1' => esc_html__( '1', 'woolentor' ),
97
- '2' => esc_html__( '2', 'woolentor' ),
98
- ]
99
- ]
100
- );
101
-
102
- $this->end_controls_section();
103
-
104
- $this->start_controls_section(
105
- 'woolentor-products',
106
- [
107
- 'label' => esc_html__( 'Query Settings', 'woolentor' ),
108
- ]
109
- );
110
-
111
- $this->add_control(
112
- 'woolentor_product_grid_product_filter',
113
- [
114
- 'label' => esc_html__( 'Filter By', 'woolentor' ),
115
- 'type' => Controls_Manager::SELECT,
116
- 'default' => 'recent',
117
- 'options' => [
118
- 'recent' => esc_html__( 'Recent Products', 'woolentor' ),
119
- 'featured' => esc_html__( 'Featured Products', 'woolentor' ),
120
- 'best_selling' => esc_html__( 'Best Selling Products', 'woolentor' ),
121
- 'sale' => esc_html__( 'Sale Products', 'woolentor' ),
122
- 'top_rated' => esc_html__( 'Top Rated Products', 'woolentor' ),
123
- 'mixed_order' => esc_html__( 'Random Products', 'woolentor' ),
124
- 'show_byid' => esc_html__( 'Show By Id', 'woolentor' ),
125
- 'show_byid_manually' => esc_html__( 'Add ID Manually', 'woolentor' ),
126
- ],
127
- ]
128
- );
129
-
130
- $this->add_control(
131
- 'woolentor_product_id',
132
- [
133
- 'label' => __( 'Select Product', 'woolentor' ),
134
- 'type' => Controls_Manager::SELECT2,
135
- 'label_block' => true,
136
- 'multiple' => true,
137
- 'options' => woolentor_post_name( 'product' ),
138
- 'condition' => [
139
- 'woolentor_product_grid_product_filter' => 'show_byid',
140
- ]
141
- ]
142
- );
143
-
144
- $this->add_control(
145
- 'woolentor_product_ids_manually',
146
- [
147
- 'label' => __( 'Product IDs', 'woolentor' ),
148
- 'type' => Controls_Manager::TEXT,
149
- 'label_block' => true,
150
- 'condition' => [
151
- 'woolentor_product_grid_product_filter' => 'show_byid_manually',
152
- ]
153
- ]
154
- );
155
-
156
- $this->add_control(
157
- 'woolentor_product_grid_categories',
158
- [
159
- 'label' => esc_html__( 'Product Categories', 'woolentor' ),
160
- 'type' => Controls_Manager::SELECT2,
161
- 'label_block' => true,
162
- 'multiple' => true,
163
- 'options' => woolentor_taxonomy_list(),
164
- 'condition' => [
165
- 'woolentor_product_grid_product_filter!' => 'show_byid',
166
- ]
167
- ]
168
- );
169
-
170
- $this->add_control(
171
- 'woolentor_product_grid_products_count',
172
- [
173
- 'label' => __( 'Product Limit', 'woolentor' ),
174
- 'type' => Controls_Manager::NUMBER,
175
- 'default' => 4,
176
- 'step' => 1,
177
- ]
178
- );
179
-
180
- $this->add_control(
181
- 'woolentor_custom_order',
182
- [
183
- 'label' => esc_html__( 'Custom order', 'woolentor' ),
184
- 'type' => Controls_Manager::SWITCHER,
185
- 'return_value' => 'yes',
186
- 'default' => 'no',
187
- ]
188
- );
189
-
190
- $this->add_control(
191
- 'orderby',
192
- [
193
- 'label' => esc_html__( 'Order by', 'woolentor' ),
194
- 'type' => Controls_Manager::SELECT,
195
- 'default' => 'none',
196
- 'options' => [
197
- 'none' => esc_html__('None','woolentor'),
198
- 'ID' => esc_html__('ID','woolentor'),
199
- 'date' => esc_html__('Date','woolentor'),
200
- 'name' => esc_html__('Name','woolentor'),
201
- 'title' => esc_html__('Title','woolentor'),
202
- 'comment_count' => esc_html__('Comment count','woolentor'),
203
- 'rand' => esc_html__('Random','woolentor'),
204
- ],
205
- 'condition' => [
206
- 'woolentor_custom_order' => 'yes',
207
- ]
208
- ]
209
- );
210
-
211
- $this->add_control(
212
- 'order',
213
- [
214
- 'label' => esc_html__( 'order', 'woolentor' ),
215
- 'type' => Controls_Manager::SELECT,
216
- 'default' => 'DESC',
217
- 'options' => [
218
- 'DESC' => esc_html__('Descending','woolentor'),
219
- 'ASC' => esc_html__('Ascending','woolentor'),
220
- ],
221
- 'condition' => [
222
- 'woolentor_custom_order' => 'yes',
223
- ]
224
- ]
225
- );
226
-
227
- $this->end_controls_section();
228
-
229
- // Product Content
230
- $this->start_controls_section(
231
- 'woolentor-products-content-setting',
232
- [
233
- 'label' => esc_html__( 'Content Settings', 'woolentor' ),
234
- ]
235
- );
236
-
237
- $this->add_control(
238
- 'button_icon',
239
- [
240
- 'label' => esc_html__( 'Add to Cart Button Icon', 'woolentor' ),
241
- 'type' => Controls_Manager::ICONS,
242
- 'label_block' => true,
243
- 'fa4compatibility' => 'buttonicon',
244
- 'default'=>[
245
- 'value' => 'fa fa-shopping-cart',
246
- 'library'=> 'solid',
247
- ]
248
- ]
249
- );
250
-
251
- $this->add_control(
252
- 'content_showing_heading',
253
- [
254
- 'label' => esc_html__( 'Content Display', 'woolentor' ),
255
- 'type' => Controls_Manager::HEADING,
256
- 'separator' => 'before',
257
- ]
258
- );
259
-
260
- $this->add_control(
261
- 'hide_product_title',
262
- [
263
- 'label' => __( 'Hide Title', 'woolentor' ),
264
- 'type' => Controls_Manager::SWITCHER,
265
- 'selectors' => [
266
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .title' => 'display: none !important;',
267
- ],
268
- ]
269
- );
270
-
271
- $this->add_control(
272
- 'hide_product_price',
273
- [
274
- 'label' => __( 'Hide Price', 'woolentor' ),
275
- 'type' => Controls_Manager::SWITCHER,
276
- 'selectors' => [
277
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .product-price' => 'display: none !important;',
278
- ],
279
- ]
280
- );
281
-
282
- $this->add_control(
283
- 'hide_product_content',
284
- [
285
- 'label' => __( 'Hide Content', 'woolentor' ),
286
- 'type' => Controls_Manager::SWITCHER,
287
- 'selectors' => [
288
- '{{WRAPPER}} .wl_single-product-item .product-content p' => 'display: none !important;',
289
- ],
290
- ]
291
- );
292
-
293
-
294
- $this->add_control(
295
- 'content_count',
296
- [
297
- 'label' => __( 'Content Limit', 'woolentor' ),
298
- 'type' => Controls_Manager::NUMBER,
299
- 'default' => 6,
300
- 'step' => 1,
301
- 'condition'=>[
302
- 'hide_product_content'=> ''
303
- ]
304
- ]
305
- );
306
-
307
-
308
- $this->add_control(
309
- 'hide_product_ratting',
310
- [
311
- 'label' => __( 'Hide Rating', 'woolentor' ),
312
- 'type' => Controls_Manager::SWITCHER,
313
- 'selectors' => [
314
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .reading' => 'display: none !important;',
315
- ],
316
- ]
317
- );
318
-
319
-
320
-
321
- $this->end_controls_section();
322
-
323
-
324
- // Style section
325
- $this->start_controls_section(
326
- 'universal_product_style_section',
327
- [
328
- 'label' => __( 'Style', 'woolentor' ),
329
- 'tab' => Controls_Manager::TAB_STYLE,
330
- ]
331
- );
332
-
333
- $this->add_responsive_control(
334
- 'product_inner_margin',
335
- [
336
- 'label' => __( 'Margin', 'woolentor' ),
337
- 'type' => Controls_Manager::DIMENSIONS,
338
- 'size_units' => [ 'px', '%', 'em' ],
339
- 'selectors' => [
340
- '{{WRAPPER}} .wl_single-product-item' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
341
- ],
342
- ]
343
- );
344
-
345
- $this->add_control(
346
- 'product_inner_border_color',
347
- [
348
- 'label' => __( 'Border Color', 'woolentor' ),
349
- 'type' => Controls_Manager::COLOR,
350
- 'condition'=>[
351
- 'product_content_style'=> array('1','2')
352
- ],
353
- 'default' => '#ffffff',
354
- 'selectors' => [
355
- '{{WRAPPER}} .wl_single-product-item .product-thumbnail' => 'border-color: {{VALUE}};',
356
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner' => 'border-color: {{VALUE}};',
357
- ],
358
- ]
359
- );
360
-
361
- $this->add_control(
362
- 'product_inner3_border_color',
363
- [
364
- 'label' => __( 'Border Color', 'woolentor' ),
365
- 'type' => Controls_Manager::COLOR,
366
- 'condition'=>[
367
- 'product_content_style'=> array('3')
368
- ],
369
- 'default' => '#707070',
370
- 'selectors' => [
371
- '{{WRAPPER}} .wl_single-product-item.wl_dark-item .product-thumbnail' => 'border-color: {{VALUE}};',
372
- ],
373
- ]
374
- );
375
-
376
- $this->add_group_control(
377
- Group_Control_Background::get_type(),
378
- [
379
- 'name' => 'product_background_color',
380
- 'label' => __( 'Background', 'woolentor' ),
381
- 'types' => [ 'classic', 'gradient' ],
382
- 'selector' => '{{WRAPPER}} .wl_single-product-item',
383
- 'condition'=>[
384
- 'product_content_style'=> array('1','2')
385
- ]
386
- ]
387
- );
388
-
389
- $this->add_group_control(
390
- Group_Control_Background::get_type(),
391
- [
392
- 'name' => 'product_style3_background_color',
393
- 'label' => __( 'Background', 'woolentor' ),
394
- 'types' => [ 'classic', 'gradient' ],
395
- 'selector' => '{{WRAPPER}} .wl_single-product-item.wl_dark-item .product-content',
396
- 'condition'=>[
397
- 'product_content_style'=> '3'
398
- ]
399
- ]
400
- );
401
-
402
- // Product Title
403
- $this->add_control(
404
- 'product_title_heading',
405
- [
406
- 'label' => __( 'Product Title', 'woolentor' ),
407
- 'type' => Controls_Manager::HEADING,
408
- 'separator' => 'before',
409
- ]
410
- );
411
-
412
- $this->add_group_control(
413
- Group_Control_Typography::get_type(),
414
- [
415
- 'name' => 'product_title_typography',
416
- 'selector' => '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .title',
417
- ]
418
- );
419
-
420
- $this->add_control(
421
- 'product_title_color',
422
- [
423
- 'label' => __( 'Title Color', 'woolentor' ),
424
- 'type' => Controls_Manager::COLOR,
425
- 'condition'=>[
426
- 'product_content_style'=> array('1','2')
427
- ],
428
- 'default' => '#333333',
429
- 'selectors' => [
430
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .title a' => 'color: {{VALUE}};',
431
- ],
432
- ]
433
- );
434
- $this->add_control(
435
- 'product_title3_color',
436
- [
437
- 'label' => __( 'Title Color', 'woolentor' ),
438
- 'type' => Controls_Manager::COLOR,
439
- 'condition'=>[
440
- 'product_content_style'=> '3'
441
- ],
442
- 'default' => '#ffffff',
443
- 'selectors' => [
444
- '{{WRAPPER}} .wl_single-product-item.wl_dark-item .product-content .product-content-top .title a' => 'color: {{VALUE}};',
445
- ],
446
- ]
447
- );
448
-
449
- $this->add_control(
450
- 'product_title_hover_color',
451
- [
452
- 'label' => __( 'Title Hover Color', 'woolentor' ),
453
- 'type' => Controls_Manager::COLOR,
454
- 'default' => '#0A3ACA',
455
- 'selectors' => [
456
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .title a:hover' => 'color: {{VALUE}};',
457
- '{{WRAPPER}} .wl_single-product-item.wl_dark-item .product-content .product-content-top .title a:hover' => 'color: {{VALUE}};',
458
- ],
459
- ]
460
- );
461
-
462
- $this->add_responsive_control(
463
- 'product_title_margin',
464
- [
465
- 'label' => __( 'Margin', 'woolentor' ),
466
- 'type' => Controls_Manager::DIMENSIONS,
467
- 'size_units' => [ 'px', '%', 'em' ],
468
- 'selectors' => [
469
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
470
- ],
471
- ]
472
- );
473
-
474
- // Product Price
475
- $this->add_control(
476
- 'product_price_heading',
477
- [
478
- 'label' => __( 'Product Price', 'woolentor' ),
479
- 'type' => Controls_Manager::HEADING,
480
- 'separator' => 'before',
481
- ]
482
- );
483
-
484
- $this->add_control(
485
- 'product_sale_price_color',
486
- [
487
- 'label' => __( 'Sale Price Color', 'woolentor' ),
488
- 'type' => Controls_Manager::COLOR,
489
- 'condition' =>[
490
- 'product_content_style' => array('1','2'),
491
- ],
492
- 'default' => '#0A3ACA',
493
- 'selectors' => [
494
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .product-price' => 'color: {{VALUE}};',
495
- ],
496
- ]
497
- );
498
- $this->add_control(
499
- 'product_sale_price3_color',
500
- [
501
- 'label' => __( 'Sale Price Color', 'woolentor' ),
502
- 'type' => Controls_Manager::COLOR,
503
- 'condition' =>[
504
- 'product_content_style' => array('3'),
505
- ],
506
- 'default' => '#ffffff',
507
- 'selectors' => [
508
- '{{WRAPPER}} .wl_single-product-item.wl_dark-item .product-content .product-content-top .product-price' => 'color: {{VALUE}};',
509
- ],
510
- ]
511
- );
512
-
513
- $this->add_group_control(
514
- Group_Control_Typography::get_type(),
515
- [
516
- 'name' => 'product_sale_price_typography',
517
- 'selector' => '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .product-price, {{WRAPPER}} .wl_single-product-item.wl_dark-item .product-content .product-content-top .product-price',
518
- ]
519
- );
520
-
521
- $this->add_control(
522
- 'product_regular_price_color',
523
- [
524
- 'label' => __( 'Regular Price Color', 'woolentor' ),
525
- 'type' => Controls_Manager::COLOR,
526
- 'condition' =>[
527
- 'product_content_style' => array('1','2'),
528
- ],
529
- 'separator' => 'before',
530
- 'default' => '#0A3ACA',
531
- 'selectors' => [
532
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .product-price del' => 'color: {{VALUE}};',
533
- ],
534
- ]
535
- );
536
- $this->add_control(
537
- 'product_regular3_price_color',
538
- [
539
- 'label' => __( 'Regular Price Color', 'woolentor' ),
540
- 'type' => Controls_Manager::COLOR,
541
- 'condition' =>[
542
- 'product_content_style' => array('3'),
543
- ],
544
- 'separator' => 'before',
545
- 'default' => '#ffffff',
546
- 'selectors' => [
547
- '{{WRAPPER}} .wl_single-product-item.wl_dark-item .product-content .product-content-top .product-price del' => 'color: {{VALUE}};',
548
- ],
549
- ]
550
- );
551
-
552
- $this->add_group_control(
553
- Group_Control_Typography::get_type(),
554
- [
555
- 'name' => 'product_regular_price_typography',
556
- 'selector' => '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .product-price del, {{WRAPPER}} .wl_single-product-item.wl_dark-item .product-content .product-content-top .product-price del',
557
- ]
558
- );
559
-
560
- $this->add_responsive_control(
561
- 'product_price_margin',
562
- [
563
- 'label' => __( 'Margin', 'woolentor' ),
564
- 'type' => Controls_Manager::DIMENSIONS,
565
- 'size_units' => [ 'px', '%', 'em' ],
566
- 'selectors' => [
567
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top .product-price' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
568
- ],
569
- ]
570
- );
571
-
572
-
573
- // Product content
574
- $this->add_control(
575
- 'product_content_heading',
576
- [
577
- 'label' => __( 'Product Content', 'woolentor' ),
578
- 'type' => Controls_Manager::HEADING,
579
- 'separator' => 'before',
580
- ]
581
- );
582
-
583
-
584
- $this->add_group_control(
585
- \Elementor\Group_Control_Typography::get_type(),
586
- [
587
- 'name' => 'content_typography',
588
- 'label' => esc_html__( 'Typography', 'moveaddons' ),
589
- 'selector' => '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top p',
590
- ]
591
- );
592
-
593
- $this->add_control(
594
- 'product_content_color',
595
- [
596
- 'label' => __( 'Content Color', 'woolentor' ),
597
- 'type' => Controls_Manager::COLOR,
598
- 'condition'=>[
599
- 'product_content_style'=> array('1','2')
600
- ],
601
- 'default' => '#2B2B4C',
602
- 'selectors' => [
603
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top p' => 'color: {{VALUE}};',
604
- ],
605
- ]
606
- );
607
- $this->add_control(
608
- 'product_content3_color',
609
- [
610
- 'label' => __( 'Content Color', 'woolentor' ),
611
- 'type' => Controls_Manager::COLOR,
612
- 'condition'=>[
613
- 'product_content_style'=> '3'
614
- ],
615
- 'default' => '#ffffff',
616
- 'selectors' => [
617
- '{{WRAPPER}} .wl_single-product-item.wl_dark-item .product-content .product-content-top p' => 'color: {{VALUE}};',
618
- ],
619
- ]
620
- );
621
-
622
-
623
- $this->add_responsive_control(
624
- 'product_content_margin',
625
- [
626
- 'label' => __( 'Margin', 'woolentor' ),
627
- 'type' => Controls_Manager::DIMENSIONS,
628
- 'size_units' => [ 'px', '%', 'em' ],
629
- 'selectors' => [
630
- '{{WRAPPER}} .wl_single-product-item .product-content .product-content-top p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
631
- ],
632
- ]
633
- );
634
-
635
- // Product Rating
636
- $this->add_control(
637
- 'product_rating_heading',
638
- [
639
- 'label' => __( 'Product Rating', 'woolentor' ),
640
- 'type' => Controls_Manager::HEADING,
641
- 'separator' => 'before',
642
- ]
643
- );
644
-
645
- $this->add_control(
646
- 'product_rating_color',
647
- [
648
- 'label' => __( 'Empty Rating Color', 'woolentor' ),
649
- 'type' => Controls_Manager::COLOR,
650
- 'condition'=>[
651
- 'product_content_style'=> array('1','2')
652
- ],
653
- 'default' => '#2B2B4C',
654
- 'selectors' => [
655
- '{{WRAPPER}} .wl_single-product-item .star-rating' => 'color: {{VALUE}};',
656
- ],
657
- ]
658
- );
659
- $this->add_control(
660
- 'product_rating3_color',
661
- [
662
- 'label' => __( 'Empty Rating Color', 'woolentor' ),
663
- 'type' => Controls_Manager::COLOR,
664
- 'condition'=>[
665
- 'product_content_style'=> array('3')
666
- ],
667
- 'default' => '#75828E',
668
- 'selectors' => [
669
- '{{WRAPPER}} .wl_single-product-item .star-rating' => 'color: {{VALUE}};',
670
- ],
671
- ]
672
- );
673
-
674
- $this->add_control(
675
- 'product_rating_give_color',
676
- [
677
- 'label' => __( 'Rating Color', 'woolentor' ),
678
- 'type' => Controls_Manager::COLOR,
679
- 'condition'=>[
680
- 'product_content_style'=> array('1','2')
681
- ],
682
- 'default' => '#2B2B4C',
683
- 'selectors' => [
684
- '{{WRAPPER}} .wl_single-product-item .star-rating span' => 'color: {{VALUE}};',
685
- ],
686
- ]
687
- );
688
-
689
- $this->add_control(
690
- 'product_rating3_give_color',
691
- [
692
- 'label' => __( 'Rating Color', 'woolentor' ),
693
- 'type' => Controls_Manager::COLOR,
694
- 'condition'=>[
695
- 'product_content_style'=> array('3')
696
- ],
697
- 'default' => '#75828E',
698
- 'selectors' => [
699
- '{{WRAPPER}} .wl_single-product-item .star-rating span' => 'color: {{VALUE}};',
700
- ],
701
- ]
702
- );
703
-
704
- $this->add_responsive_control(
705
- 'product_rating_margin',
706
- [
707
- 'label' => __( 'Margin', 'woolentor' ),
708
- 'type' => Controls_Manager::DIMENSIONS,
709
- 'size_units' => [ 'px', '%', 'em' ],
710
- 'selectors' => [
711
- '{{WRAPPER}} .wl_single-product-item .star-rating' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
712
- ],
713
- ]
714
- );
715
-
716
- $this->end_controls_section(); // Style End
717
-
718
- // Style Action Button tab section
719
- $this->start_controls_section(
720
- 'universal_product_action_button_style_section',
721
- [
722
- 'label' => __( 'Action Button Style', 'woolentor' ),
723
- 'tab' => Controls_Manager::TAB_STYLE,
724
- ]
725
- );
726
-
727
- $this->add_group_control(
728
- Group_Control_Background::get_type(),
729
- [
730
- 'name' => 'product_action_button_background_color',
731
- 'label' => __( 'Background', 'woolentor' ),
732
- 'types' => [ 'classic', 'gradient' ],
733
- 'selector' => '{{WRAPPER}} .wl_single-product-item .product-content .action',
734
- ]
735
- );
736
-
737
- $this->start_controls_tabs('product_action_button_style_tabs');
738
-
739
- // Normal
740
- $this->start_controls_tab(
741
- 'product_action_button_style_normal_tab',
742
- [
743
- 'label' => __( 'Normal', 'woolentor' ),
744
- ]
745
- );
746
-
747
- $this->add_control(
748
- 'product_action_button_normal_color',
749
- [
750
- 'label' => __( 'Color', 'woolentor' ),
751
- 'type' => Controls_Manager::COLOR,
752
- 'default' => '#ffffff',
753
- 'selectors' => [
754
- '{{WRAPPER}} .wl_single-product-item .product-content .action li a,{{WRAPPER}} .wl_single-product-item .action li .woolentor-compare.compare::before' => 'color: {{VALUE}};',
755
- ],
756
- ]
757
- );
758
-
759
- $this->add_group_control(
760
- Group_Control_Background::get_type(),
761
- [
762
- 'name' => 'product_action_button_normal_background_color',
763
- 'label' => __( 'Background', 'woolentor' ),
764
- 'types' => [ 'classic', 'gradient' ],
765
- 'selector' => '{{WRAPPER}} .wl_single-product-item .product-content .action li a',
766
- ]
767
- );
768
-
769
- $this->add_responsive_control(
770
- 'product_action_button_border_radius',
771
- [
772
- 'label' => __( 'Border Radius', 'woolentor' ),
773
- 'type' => Controls_Manager::DIMENSIONS,
774
- 'size_units' => [ 'px', '%', 'em' ],
775
- 'selectors' => [
776
- '{{WRAPPER}} .wl_single-product-item .product-content .action li a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
777
- ],
778
- ]
779
- );
780
-
781
- $this->end_controls_tab();
782
-
783
- // Hover
784
- $this->start_controls_tab(
785
- 'product_action_button_style_hover_tab',
786
- [
787
- 'label' => __( 'Hover', 'woolentor' ),
788
- ]
789
- );
790
-
791
- $this->add_control(
792
- 'product_action_button_hover_color',
793
- [
794
- 'label' => __( 'Color', 'woolentor' ),
795
- 'type' => Controls_Manager::COLOR,
796
- 'default' => '#ffffff' ,
797
- 'selectors' => [
798
- '{{WRAPPER}} .wl_single-product-item .product-content .action li a:hover,.wl_single-product-item .action li .woolentor-compare.compare:hover::before' => 'color: {{VALUE}};',
799
- ],
800
- ]
801
- );
802
-
803
- $this->add_group_control(
804
- Group_Control_Background::get_type(),
805
- [
806
- 'name' => 'product_action_button_hover_background_color',
807
- 'label' => __( 'Background', 'woolentor' ),
808
- 'types' => [ 'classic', 'gradient' ],
809
- 'selector' => '{{WRAPPER}} .wl_single-product-item .product-content .action li a:hover',
810
- ]
811
- );
812
-
813
- $this->end_controls_tab();
814
-
815
- $this->end_controls_tabs();
816
-
817
- $this->end_controls_section();
818
-
819
-
820
-
821
- }
822
-
823
- protected function render( $instance = [] ) {
824
-
825
- $settings = $this->get_settings_for_display();
826
- $product_type = $this->get_settings_for_display('woolentor_product_grid_product_filter');
827
- $per_page = $this->get_settings_for_display('woolentor_product_grid_products_count');
828
- $custom_order_ck = $this->get_settings_for_display('woolentor_custom_order');
829
- $orderby = $this->get_settings_for_display('orderby');
830
- $order = $this->get_settings_for_display('order');
831
- $tabuniqid = $this->get_id();
832
- $columns = $this->get_settings_for_display('woolentor_product_grid_column');
833
- $columns2 = $this->get_settings_for_display('woolentor_product_grid2_column');
834
-
835
-
836
- // Query Argument
837
- $args = array(
838
- 'post_type' => 'product',
839
- 'post_status' => 'publish',
840
- 'ignore_sticky_posts' => 1,
841
- 'posts_per_page' => $per_page,
842
- );
843
-
844
- switch( $product_type ){
845
-
846
- case 'sale':
847
- $args['post__in'] = array_merge( array( 0 ), wc_get_product_ids_on_sale() );
848
- break;
849
-
850
- case 'featured':
851
- $args['tax_query'][] = array(
852
- 'taxonomy' => 'product_visibility',
853
- 'field' => 'name',
854
- 'terms' => 'featured',
855
- 'operator' => 'IN',
856
- );
857
- break;
858
-
859
- case 'best_selling':
860
- $args['meta_key'] = 'total_sales';
861
- $args['orderby'] = 'meta_value_num';
862
- $args['order'] = 'desc';
863
- break;
864
-
865
- case 'top_rated':
866
- $args['meta_key'] = '_wc_average_rating';
867
- $args['orderby'] = 'meta_value_num';
868
- $args['order'] = 'desc';
869
- break;
870
-
871
- case 'mixed_order':
872
- $args['orderby'] = 'rand';
873
- break;
874
-
875
- case 'show_byid':
876
- $args['post__in'] = $settings['woolentor_product_id'];
877
- break;
878
-
879
- case 'show_byid_manually':
880
- $args['post__in'] = explode( ',', $settings['woolentor_product_ids_manually'] );
881
- break;
882
-
883
- default: /* Recent */
884
- $args['orderby'] = 'date';
885
- $args['order'] = 'desc';
886
- break;
887
- }
888
-
889
- // Custom Order
890
- if( $custom_order_ck == 'yes' ){
891
- $args['orderby'] = $orderby;
892
- $args['order'] = $order;
893
- }
894
-
895
- $get_product_categories = $settings['woolentor_product_grid_categories']; // get custom field value
896
- $product_cats = str_replace(' ', '', $get_product_categories);
897
- if ( "0" != $get_product_categories) {
898
- if( is_array($product_cats) && count($product_cats) > 0 ){
899
- $field_name = is_numeric($product_cats[0])?'term_id':'slug';
900
- $args['tax_query'][] = array(
901
- array(
902
- 'taxonomy' => 'product_cat',
903
- 'terms' => $product_cats,
904
- 'field' => $field_name,
905
- 'include_children' => false
906
- )
907
- );
908
- }
909
- }
910
-
911
-
912
- // Add to Cart Button
913
- $cart_btn = $button_icon = '';
914
- if( !empty( $settings['button_icon']['value'] ) ){
915
-
916
- $button_icon = woolentor_render_icon( $settings, 'button_icon', 'buttonicon' );
917
- }
918
-
919
- $cart_btn = $button_icon;
920
-
921
- $products = new \WP_Query( $args );
922
-
923
- // Calculate Column
924
- if ( $settings['product_content_style']=='1'|| $settings['product_content_style']=='3' ){
925
- $colwidth = round( 12 / $columns );
926
- $collumval = 'ht-product ht-col-lg-'.$colwidth.' ht-col-md-6 ht-col-sm-6 ht-col-xs-12';
927
- }
928
- $content_style = '';
929
- if ( $settings['product_content_style']=='2' ) {
930
- $content_style = 'wl_left-item';
931
- $colwidth = round( 12 / $columns2 );
932
- $collumval = 'ht-product ht-col-lg-'.$colwidth.' ht-col-md-6 ht-col-sm-6 ht-col-xs-12';
933
- }elseif ($settings['product_content_style']=='3') {
934
- $content_style = 'wl_dark-item';
935
- }
936
-
937
-
938
- ?>
939
-
940
- <div class=" ht-row ht-products woocommerce product">
941
-
942
- <?php
943
- if( $products->have_posts() ):
944
-
945
- while( $products->have_posts() ): $products->the_post();
946
- // Gallery Image
947
- global $product;
948
-
949
- $btn_class = $product->is_purchasable() && $product->is_in_stock() ? ' add_to_cart_button' : '';
950
-
951
- $btn_class .= $product->supports( 'ajax_add_to_cart' ) && $product->is_purchasable() && $product->is_in_stock() ? ' ajax_add_to_cart' : '';
952
- $content_count = wp_trim_words(get_the_content(),$settings['content_count'],'');
953
-
954
- ?>
955
-
956
- <!--Product Start-->
957
- <div class="<?php echo esc_attr( $collumval ); ?>">
958
- <div class="wl_single-product-item <?php echo esc_attr( $content_style ); ?>">
959
- <a href="<?php the_permalink(); ?>" class="product-thumbnail">
960
- <div class="images">
961
- <?php woocommerce_template_loop_product_thumbnail(); ?>
962
- </div>
963
- </a>
964
- <div class="product-content">
965
- <div class="product-content-top">
966
- <h6 class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h6>
967
- <div class="product-price">
968
- <span class="new-price"><?php woocommerce_template_loop_price();?></span>
969
- </div>
970
- <p><?php echo $content_count; ?> </p>
971
- <div class="reading">
972
- <?php woocommerce_template_loop_rating(); ?>
973
- </div>
974
- </div>
975
- <ul class="action">
976
- <li class="wl_cart">
977
-
978
- <a href="<?php echo $product->add_to_cart_url(); ?>" data-quantity="1" class="action-item <?php echo $btn_class; ?>" data-product_id="<?php echo $product->get_id(); ?>"><?php echo __( $cart_btn, 'woolentor' );?></a>
979
- </li>
980
- <?php
981
- if( true === woolentor_has_wishlist_plugin() ){
982
- echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>').'</li>';
983
- }
984
- ?>
985
- <?php
986
- if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() ){
987
- echo '<li>';
988
- woolentor_compare_button(
989
- array(
990
- 'style'=>2,
991
- 'btn_text'=>'<i class="fas fa-exchange-alt"></i>',
992
- 'btn_added_txt'=>'<i class="fas fa-exchange-alt"></i>'
993
- )
994
- );
995
- echo '</li>';
996
- }
997
- ?>
998
- </ul>
999
- </div>
1000
- </div>
1001
- </div>
1002
- <!--Product End-->
1003
- <?php endwhile; wp_reset_query(); wp_reset_postdata(); endif; ?>
1004
- </div>
1005
-
1006
- <?php
1007
-
1008
- }
1009
-
1010
- }
1011
-
1012
- Plugin::instance()->widgets_manager->register_widget_type( new Woolentor_Product_Curvy_Layout_Widget() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/product_image_accordion.php DELETED
@@ -1,807 +0,0 @@
1
- <?php
2
-
3
- namespace Elementor;
4
-
5
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
6
-
7
- class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
8
-
9
- public function get_name() {
10
- return 'woolentor-image-accordion-product';
11
- }
12
-
13
- public function get_title() {
14
- return __( 'WL: Product Image Accordion', 'woolentor' );
15
- }
16
-
17
- public function get_icon() {
18
- return 'eicon-cart-light';
19
- }
20
-
21
- public function get_categories() {
22
- return [ 'woolentor-addons' ];
23
- }
24
-
25
- public function get_style_depends(){
26
- return [
27
- 'htflexboxgrid',
28
- 'font-awesome',
29
- 'simple-line-icons',
30
- 'woolentor-widgets',
31
- ];
32
- }
33
-
34
- public function get_script_depends() {
35
- return [
36
- 'woolentor-widgets-scripts',
37
- ];
38
- }
39
-
40
- public function get_keywords(){
41
- return ['slider','product','universal','universal product','universal layout'];
42
- }
43
-
44
- protected function _register_controls() {
45
-
46
- // Product Query
47
-
48
- $this->start_controls_section(
49
- 'woolentor-products',
50
- [
51
- 'label' => esc_html__( 'Query Settings', 'woolentor' ),
52
- ]
53
- );
54
-
55
- $this->add_control(
56
- 'woolentor_product_grid_product_filter',
57
- [
58
- 'label' => esc_html__( 'Filter By', 'woolentor' ),
59
- 'type' => Controls_Manager::SELECT,
60
- 'default' => 'recent',
61
- 'options' => [
62
- 'recent' => esc_html__( 'Recent Products', 'woolentor' ),
63
- 'featured' => esc_html__( 'Featured Products', 'woolentor' ),
64
- 'best_selling' => esc_html__( 'Best Selling Products', 'woolentor' ),
65
- 'sale' => esc_html__( 'Sale Products', 'woolentor' ),
66
- 'top_rated' => esc_html__( 'Top Rated Products', 'woolentor' ),
67
- 'mixed_order' => esc_html__( 'Random Products', 'woolentor' ),
68
- 'show_byid' => esc_html__( 'Show By Id', 'woolentor' ),
69
- 'show_byid_manually' => esc_html__( 'Add ID Manually', 'woolentor' ),
70
- ],
71
- ]
72
- );
73
-
74
- $this->add_control(
75
- 'woolentor_product_id',
76
- [
77
- 'label' => __( 'Select Product', 'woolentor' ),
78
- 'type' => Controls_Manager::SELECT2,
79
- 'label_block' => true,
80
- 'multiple' => true,
81
- 'options' => woolentor_post_name( 'product' ),
82
- 'condition' => [
83
- 'woolentor_product_grid_product_filter' => 'show_byid',
84
- ]
85
- ]
86
- );
87
-
88
- $this->add_control(
89
- 'woolentor_product_ids_manually',
90
- [
91
- 'label' => __( 'Product IDs', 'woolentor' ),
92
- 'type' => Controls_Manager::TEXT,
93
- 'label_block' => true,
94
- 'condition' => [
95
- 'woolentor_product_grid_product_filter' => 'show_byid_manually',
96
- ]
97
- ]
98
- );
99
-
100
- $this->add_control(
101
- 'woolentor_product_grid_products_count',
102
- [
103
- 'label' => __( 'Product Limit', 'woolentor' ),
104
- 'type' => Controls_Manager::NUMBER,
105
- 'default' => 4,
106
- 'step' => 1,
107
- ]
108
- );
109
-
110
- $this->add_control(
111
- 'woolentor_product_grid_categories',
112
- [
113
- 'label' => esc_html__( 'Product Categories', 'woolentor' ),
114
- 'type' => Controls_Manager::SELECT2,
115
- 'label_block' => true,
116
- 'multiple' => true,
117
- 'options' => woolentor_taxonomy_list(),
118
- 'condition' => [
119
- 'woolentor_product_grid_product_filter!' => 'show_byid',
120
- ]
121
- ]
122
- );
123
-
124
- $this->add_control(
125
- 'woolentor_custom_order',
126
- [
127
- 'label' => esc_html__( 'Custom order', 'woolentor' ),
128
- 'type' => Controls_Manager::SWITCHER,
129
- 'return_value' => 'yes',
130
- 'default' => 'no',
131
- ]
132
- );
133
-
134
- $this->add_control(
135
- 'orderby',
136
- [
137
- 'label' => esc_html__( 'Order by', 'woolentor' ),
138
- 'type' => Controls_Manager::SELECT,
139
- 'default' => 'none',
140
- 'options' => [
141
- 'none' => esc_html__('None','woolentor'),
142
- 'ID' => esc_html__('ID','woolentor'),
143
- 'date' => esc_html__('Date','woolentor'),
144
- 'name' => esc_html__('Name','woolentor'),
145
- 'title' => esc_html__('Title','woolentor'),
146
- 'comment_count' => esc_html__('Comment count','woolentor'),
147
- 'rand' => esc_html__('Random','woolentor'),
148
- ],
149
- 'condition' => [
150
- 'woolentor_custom_order' => 'yes',
151
- ]
152
- ]
153
- );
154
-
155
- $this->add_control(
156
- 'order',
157
- [
158
- 'label' => esc_html__( 'order', 'woolentor' ),
159
- 'type' => Controls_Manager::SELECT,
160
- 'default' => 'DESC',
161
- 'options' => [
162
- 'DESC' => esc_html__('Descending','woolentor'),
163
- 'ASC' => esc_html__('Ascending','woolentor'),
164
- ],
165
- 'condition' => [
166
- 'woolentor_custom_order' => 'yes',
167
- ]
168
- ]
169
- );
170
-
171
- $this->end_controls_section();
172
-
173
- // Product Content
174
- $this->start_controls_section(
175
- 'woolentor-products-content-setting',
176
- [
177
- 'label' => esc_html__( 'Content Settings', 'woolentor' ),
178
- ]
179
- );
180
-
181
-
182
- $this->add_control(
183
- 'add_to_cart_text',
184
- [
185
- 'label' => esc_html__( 'Add to Cart Button Text', 'woolentor' ),
186
- 'type' => Controls_Manager::TEXT,
187
- 'default' => esc_html__( 'Buy', 'woolentor' ),
188
- 'placeholder' => esc_html__( 'Type your cart button text', 'woolentor' ),
189
- 'label_block' => true,
190
- ]
191
- );
192
-
193
- $this->add_control(
194
- 'button_icon',
195
- [
196
- 'label' => esc_html__( 'Add to Cart Button Icon', 'woolentor' ),
197
- 'type' => Controls_Manager::ICONS,
198
- 'label_block' => true,
199
- 'fa4compatibility' => 'buttonicon',
200
- 'default'=>[
201
- 'value' => 'fa fa-shopping-cart',
202
- 'library'=> 'solid',
203
- ]
204
- ]
205
- );
206
- $this->add_control(
207
- 'content_showing_heading',
208
- [
209
- 'label' => esc_html__( 'Content Display', 'woolentor' ),
210
- 'type' => Controls_Manager::HEADING,
211
- 'separator' => 'before',
212
- ]
213
- );
214
-
215
- $this->add_control(
216
- 'hide_product_category',
217
- [
218
- 'label' => __( 'Hide Category', 'woolentor' ),
219
- 'type' => Controls_Manager::SWITCHER,
220
- 'selectors' => [
221
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .sub-title' => 'display: none !important;',
222
- ],
223
- ]
224
- );
225
- $this->add_control(
226
- 'hide_product_title',
227
- [
228
- 'label' => __( 'Hide Title', 'woolentor' ),
229
- 'type' => Controls_Manager::SWITCHER,
230
- 'selectors' => [
231
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .title' => 'display: none !important;',
232
- ],
233
- ]
234
- );
235
-
236
- $this->add_control(
237
- 'hide_product_price',
238
- [
239
- 'label' => __( 'Hide Price', 'woolentor' ),
240
- 'type' => Controls_Manager::SWITCHER,
241
- 'selectors' => [
242
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .product-price' => 'display: none !important;',
243
- ],
244
- ]
245
- );
246
-
247
-
248
- $this->add_control(
249
- 'hide_product_ratting',
250
- [
251
- 'label' => __( 'Hide Rating', 'woolentor' ),
252
- 'type' => Controls_Manager::SWITCHER,
253
- 'selectors' => [
254
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .reading' => 'display: none !important;',
255
- ],
256
- ]
257
- );
258
-
259
-
260
-
261
- $this->end_controls_section();
262
-
263
-
264
- // Style section
265
- $this->start_controls_section(
266
- 'universal_product_style_section',
267
- [
268
- 'label' => __( 'Style', 'woolentor' ),
269
- 'tab' => Controls_Manager::TAB_STYLE,
270
- ]
271
- );
272
-
273
- $this->add_responsive_control(
274
- 'product_inner_margin',
275
- [
276
- 'label' => __( 'Margin', 'woolentor' ),
277
- 'type' => Controls_Manager::DIMENSIONS,
278
- 'size_units' => [ 'px', '%', 'em' ],
279
- 'selectors' => [
280
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
281
- ],
282
- ]
283
- );
284
-
285
- $this->add_group_control(
286
- Group_Control_Background::get_type(),
287
- [
288
- 'name' => 'product_background_color',
289
- 'label' => __( 'Background', 'woolentor' ),
290
- 'types' => [ 'classic', 'gradient' ],
291
- 'selector' => '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content',
292
-
293
- ]
294
- );
295
-
296
- // Product Category
297
- $this->add_control(
298
- 'product_category_heading',
299
- [
300
- 'label' => __( 'Product Category', 'woolentor' ),
301
- 'type' => Controls_Manager::HEADING,
302
- 'separator' => 'before',
303
- ]
304
- );
305
-
306
- $this->add_group_control(
307
- Group_Control_Typography::get_type(),
308
- [
309
- 'name' => 'product_cat_typography',
310
- 'selector' => '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .sub-title a',
311
- ]
312
- );
313
-
314
- $this->add_control(
315
- 'product_cat_color',
316
- [
317
- 'label' => __( 'Category Color', 'woolentor' ),
318
- 'type' => Controls_Manager::COLOR,
319
- 'default' => '#333333',
320
- 'selectors' => [
321
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .sub-title a' => 'color: {{VALUE}};',
322
- ],
323
- ]
324
- );
325
- $this->add_control(
326
- 'product_cat_hover_color',
327
- [
328
- 'label' => __( 'Category Hover Color', 'woolentor' ),
329
- 'type' => Controls_Manager::COLOR,
330
- 'default' => '#0A3ACA',
331
- 'selectors' => [
332
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .sub-title a:hover' => 'color: {{VALUE}};',
333
- ],
334
- ]
335
- );
336
-
337
- $this->add_responsive_control(
338
- 'product_cat_margin',
339
- [
340
- 'label' => __( 'Margin', 'woolentor' ),
341
- 'type' => Controls_Manager::DIMENSIONS,
342
- 'size_units' => [ 'px', '%', 'em' ],
343
- 'selectors' => [
344
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .sub-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
345
- ],
346
- ]
347
- );
348
-
349
- // Product Title
350
- $this->add_control(
351
- 'product_title_heading',
352
- [
353
- 'label' => __( 'Product Title', 'woolentor' ),
354
- 'type' => Controls_Manager::HEADING,
355
- 'separator' => 'before',
356
- ]
357
- );
358
-
359
- $this->add_group_control(
360
- Group_Control_Typography::get_type(),
361
- [
362
- 'name' => 'product_title_typography',
363
- 'selector' => '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .title a',
364
- ]
365
- );
366
-
367
- $this->add_control(
368
- 'product_title_color',
369
- [
370
- 'label' => __( 'Title Color', 'woolentor' ),
371
- 'type' => Controls_Manager::COLOR,
372
- 'default' => '#333333',
373
- 'selectors' => [
374
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .title a' => 'color: {{VALUE}};',
375
- ],
376
- ]
377
- );
378
-
379
- $this->add_control(
380
- 'product_title_hover_color',
381
- [
382
- 'label' => __( 'Title Hover Color', 'woolentor' ),
383
- 'type' => Controls_Manager::COLOR,
384
- 'default' => '#0A3ACA',
385
- 'selectors' => [
386
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .title a:hover' => 'color: {{VALUE}};',
387
- ],
388
- ]
389
- );
390
-
391
- $this->add_responsive_control(
392
- 'product_title_margin',
393
- [
394
- 'label' => __( 'Margin', 'woolentor' ),
395
- 'type' => Controls_Manager::DIMENSIONS,
396
- 'size_units' => [ 'px', '%', 'em' ],
397
- 'selectors' => [
398
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
399
- ],
400
- ]
401
- );
402
-
403
- // Product Price
404
- $this->add_control(
405
- 'product_price_heading',
406
- [
407
- 'label' => __( 'Product Price', 'woolentor' ),
408
- 'type' => Controls_Manager::HEADING,
409
- 'separator' => 'before',
410
- ]
411
- );
412
-
413
- $this->add_control(
414
- 'product_sale_price_color',
415
- [
416
- 'label' => __( 'Sale Price Color', 'woolentor' ),
417
- 'type' => Controls_Manager::COLOR,
418
- 'default' => '#0A3ACA',
419
- 'selectors' => [
420
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .product-price' => 'color: {{VALUE}};',
421
- ],
422
- ]
423
- );
424
-
425
- $this->add_group_control(
426
- Group_Control_Typography::get_type(),
427
- [
428
- 'name' => 'product_sale_price_typography',
429
- 'selector' => '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .product-price',
430
- ]
431
- );
432
-
433
- $this->add_control(
434
- 'product_regular_price_color',
435
- [
436
- 'label' => __( 'Regular Price Color', 'woolentor' ),
437
- 'type' => Controls_Manager::COLOR,
438
- 'separator' => 'before',
439
- 'default' => '#0A3ACA',
440
- 'selectors' => [
441
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .product-price del' => 'color: {{VALUE}};',
442
- ],
443
- ]
444
- );
445
-
446
- $this->add_group_control(
447
- Group_Control_Typography::get_type(),
448
- [
449
- 'name' => 'product_regular_price_typography',
450
- 'selector' => '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .product-price del',
451
- ]
452
- );
453
-
454
- $this->add_responsive_control(
455
- 'product_price_margin',
456
- [
457
- 'label' => __( 'Margin', 'woolentor' ),
458
- 'type' => Controls_Manager::DIMENSIONS,
459
- 'size_units' => [ 'px', '%', 'em' ],
460
- 'selectors' => [
461
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .product-price del' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
462
- ],
463
- ]
464
- );
465
-
466
- // Product Rating
467
- $this->add_control(
468
- 'product_rating_heading',
469
- [
470
- 'label' => __( 'Product Rating', 'woolentor' ),
471
- 'type' => Controls_Manager::HEADING,
472
- 'separator' => 'before',
473
- ]
474
- );
475
-
476
- $this->add_control(
477
- 'product_rating_color',
478
- [
479
- 'label' => __( 'Empty Rating Color', 'woolentor' ),
480
- 'type' => Controls_Manager::COLOR,
481
- 'default' => '#aaaaaa',
482
- 'selectors' => [
483
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .reading' => 'color: {{VALUE}};',
484
- ],
485
- ]
486
- );
487
-
488
- $this->add_control(
489
- 'product_rating_give_color',
490
- [
491
- 'label' => __( 'Rating Color', 'woolentor' ),
492
- 'type' => Controls_Manager::COLOR,
493
- 'default' => '#75828E',
494
- 'selectors' => [
495
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .reading span' => 'color: {{VALUE}};',
496
- ],
497
- ]
498
- );
499
-
500
- $this->add_responsive_control(
501
- 'product_rating_margin',
502
- [
503
- 'label' => __( 'Margin', 'woolentor' ),
504
- 'type' => Controls_Manager::DIMENSIONS,
505
- 'size_units' => [ 'px', '%', 'em' ],
506
- 'selectors' => [
507
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .reading' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
508
- ],
509
- ]
510
- );
511
-
512
- $this->end_controls_section(); // Style End
513
-
514
- // Style Action Button tab section
515
- $this->start_controls_section(
516
- 'universal_product_action_button_style_section',
517
- [
518
- 'label' => __( 'Action Button Style', 'woolentor' ),
519
- 'tab' => Controls_Manager::TAB_STYLE,
520
- ]
521
- );
522
-
523
- $this->start_controls_tabs('product_action_button_style_tabs');
524
-
525
- // Normal
526
- $this->start_controls_tab(
527
- 'product_action_button_style_normal_tab',
528
- [
529
- 'label' => __( 'Normal', 'woolentor' ),
530
- ]
531
- );
532
-
533
- $this->add_control(
534
- 'product_action_button_normal_color',
535
- [
536
- 'label' => __( 'Color', 'woolentor' ),
537
- 'type' => Controls_Manager::COLOR,
538
- 'default' => '#333333',
539
- 'selectors' => [
540
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a, {{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a,{{WRAPPER}} .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a:before' => 'color: {{VALUE}};',
541
- ],
542
- ]
543
- );
544
- $this->add_control(
545
- 'action_button_normal_border_color',
546
- [
547
- 'label' => __( 'Border Color', 'woolentor' ),
548
- 'type' => Controls_Manager::COLOR,
549
- 'default' => '#0A3ACA',
550
- 'selectors' => [
551
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a, {{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a, {{WRAPPER}} .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a:before' => 'border-color: {{VALUE}} !important;',
552
- ],
553
- ]
554
- );
555
-
556
- $this->add_group_control(
557
- Group_Control_Background::get_type(),
558
- [
559
- 'name' => 'product_action_button_normal_background_color',
560
- 'label' => __( 'Background', 'woolentor' ),
561
- 'types' => [ 'classic', 'gradient' ],
562
- 'selector' => '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a, {{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a, {{WRAPPER}} .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a:before',
563
- ]
564
- );
565
-
566
- $this->add_responsive_control(
567
- 'product_action_button_border_radius',
568
- [
569
- 'label' => __( 'Border Radius', 'woolentor' ),
570
- 'type' => Controls_Manager::DIMENSIONS,
571
- 'size_units' => [ 'px', '%', 'em' ],
572
- 'selectors' => [
573
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a, {{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a,{{WRAPPER}} .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a:before' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
574
- ],
575
- ]
576
- );
577
-
578
- $this->end_controls_tab();
579
-
580
- // Hover
581
- $this->start_controls_tab(
582
- 'product_action_button_style_hover_tab',
583
- [
584
- 'label' => __( 'Hover', 'woolentor' ),
585
- ]
586
- );
587
-
588
- $this->add_control(
589
- 'product_action_button_hover_color',
590
- [
591
- 'label' => __( 'Color', 'woolentor' ),
592
- 'type' => Controls_Manager::COLOR,
593
- 'default' => '#333333',
594
- 'selectors' => [
595
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a:hover' => 'color: {{VALUE}};',
596
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a:hover' => 'color: {{VALUE}};',
597
- '{{WRAPPER}} .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a:hover::before' => 'color: {{VALUE}};',
598
- ],
599
- ]
600
- );
601
- $this->add_control(
602
- 'action_button_hover_border_color',
603
- [
604
- 'label' => __( 'Border Color', 'woolentor' ),
605
- 'type' => Controls_Manager::COLOR,
606
- 'default' => '#0A3ACA',
607
- 'selectors' => [
608
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a:hover' => 'border-color: {{VALUE}} !important;',
609
- '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a:hover' => 'border-color: {{VALUE}} !important;',
610
- '{{WRAPPER}} .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a:hover::before' => 'border-color: {{VALUE}} !important;',
611
- ],
612
- ]
613
- );
614
-
615
- $this->add_group_control(
616
- Group_Control_Background::get_type(),
617
- [
618
- 'name' => 'product_action_button_hover_background_color',
619
- 'label' => __( 'Background', 'woolentor' ),
620
- 'types' => [ 'classic', 'gradient' ],
621
- 'selector' => '{{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action a:hover, {{WRAPPER}} .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a:hover,{{WRAPPER}} .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a:hover::before',
622
- ]
623
- );
624
-
625
- $this->end_controls_tab();
626
-
627
- $this->end_controls_tabs();
628
-
629
- $this->end_controls_section();
630
-
631
-
632
-
633
- }
634
-
635
- protected function render( $instance = [] ) {
636
-
637
- $settings = $this->get_settings_for_display();
638
- $product_type = $this->get_settings_for_display('woolentor_product_grid_product_filter');
639
- $per_page = $this->get_settings_for_display('woolentor_product_grid_products_count');
640
- $custom_order_ck = $this->get_settings_for_display('woolentor_custom_order');
641
- $orderby = $this->get_settings_for_display('orderby');
642
- $order = $this->get_settings_for_display('order');
643
- $tabuniqid = $this->get_id();
644
-
645
-
646
-
647
- // Query Argument
648
- $args = array(
649
- 'post_type' => 'product',
650
- 'post_status' => 'publish',
651
- 'ignore_sticky_posts' => 1,
652
- 'posts_per_page' => $per_page,
653
- );
654
-
655
- switch( $product_type ){
656
-
657
- case 'sale':
658
- $args['post__in'] = array_merge( array( 0 ), wc_get_product_ids_on_sale() );
659
- break;
660
-
661
- case 'featured':
662
- $args['tax_query'][] = array(
663
- 'taxonomy' => 'product_visibility',
664
- 'field' => 'name',
665
- 'terms' => 'featured',
666
- 'operator' => 'IN',
667
- );
668
- break;
669
-
670
- case 'best_selling':
671
- $args['meta_key'] = 'total_sales';
672
- $args['orderby'] = 'meta_value_num';
673
- $args['order'] = 'desc';
674
- break;
675
-
676
- case 'top_rated':
677
- $args['meta_key'] = '_wc_average_rating';
678
- $args['orderby'] = 'meta_value_num';
679
- $args['order'] = 'desc';
680
- break;
681
-
682
- case 'mixed_order':
683
- $args['orderby'] = 'rand';
684
- break;
685
-
686
- case 'show_byid':
687
- $args['post__in'] = $settings['woolentor_product_id'];
688
- break;
689
-
690
- case 'show_byid_manually':
691
- $args['post__in'] = explode( ',', $settings['woolentor_product_ids_manually'] );
692
- break;
693
-
694
- default: /* Recent */
695
- $args['orderby'] = 'date';
696
- $args['order'] = 'desc';
697
- break;
698
- }
699
-
700
- // Custom Order
701
- if( $custom_order_ck == 'yes' ){
702
- $args['orderby'] = $orderby;
703
- $args['order'] = $order;
704
- }
705
-
706
- $get_product_categories = $settings['woolentor_product_grid_categories']; // get custom field value
707
- $product_cats = str_replace(' ', '', $get_product_categories);
708
- if ( "0" != $get_product_categories) {
709
- if( is_array($product_cats) && count($product_cats) > 0 ){
710
- $field_name = is_numeric($product_cats[0])?'term_id':'slug';
711
- $args['tax_query'][] = array(
712
- array(
713
- 'taxonomy' => 'product_cat',
714
- 'terms' => $product_cats,
715
- 'field' => $field_name,
716
- 'include_children' => false
717
- )
718
- );
719
- }
720
- }
721
-
722
- // Add to Cart Button
723
- $cart_btn = $button_icon = '';
724
- if( !empty( $settings['button_icon']['value'] ) ){
725
-
726
- $button_icon = woolentor_render_icon( $settings, 'button_icon', 'buttonicon' );
727
- }
728
- $button_text = ! empty( $settings['add_to_cart_text'] ) ? $settings['add_to_cart_text'] : '';
729
- $cart_btn = $button_icon.$button_text;
730
- $products = new \WP_Query( $args );
731
-
732
- ?>
733
- <div class=" ht-row ht-products woocommerce product">
734
- <div class="wl_horizontal-hover-accordion">
735
- <ul class="accordion-ul">
736
-
737
- <?php
738
- if( $products->have_posts() ):
739
-
740
- while( $products->have_posts() ): $products->the_post();
741
- // Gallery Image
742
- global $product;
743
-
744
- $btna_class = $product->is_purchasable() && $product->is_in_stock() ? ' add_to_cart_button' : '';
745
-
746
- $btna_class .= $product->supports( 'ajax_add_to_cart' ) && $product->is_purchasable() && $product->is_in_stock() ? ' ajax_add_to_cart' : '';
747
-
748
- $post_thumbnail_id = $product->get_image_id();
749
- if ( $post_thumbnail_id ) {
750
- $image_url = wp_get_attachment_image_url( $post_thumbnail_id,'full' );
751
- }else{
752
- $image_url = wc_placeholder_img_src( 'full' );
753
- }
754
-
755
-
756
- ?>
757
-
758
-
759
- <li style="background-image: url('<?php echo $image_url; ?>');">
760
- <div class="accordion-product-content">
761
- <div class="accordion-product-item">
762
- <div class="product-content">
763
- <p class="sub-title"><?php woolentor_get_product_category_list(); ?></p>
764
- <h6 class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h6>
765
- <div class="product-price">
766
- <span class="new-price"><?php woocommerce_template_loop_price(); ?></span>
767
- </div>
768
- <div class="action">
769
- <a href="<?php echo $product->add_to_cart_url(); ?>" data-quantity="1" class="action-item <?php echo $btna_class; ?>" data-product_id="<?php echo $product->get_id(); ?>"><?php echo __( $cart_btn, 'woolentor' );?></a>
770
- <?php
771
-
772
- if( true === woolentor_has_wishlist_plugin() ){
773
- echo woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>');
774
- }
775
-
776
- if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() && !Plugin::instance()->editor->is_edit_mode() ){
777
- woolentor_compare_button(
778
- array(
779
- 'btn_text'=>'<i class="fas fa-exchange-alt"></i>',
780
- 'btn_added_txt'=>'<i class="fas fa-exchange-alt"></i>'
781
- )
782
- );
783
- }
784
- ?>
785
-
786
- </div>
787
- <div class="reading">
788
- <?php woocommerce_template_loop_rating(); ?>
789
- </div>
790
- </div>
791
- </div>
792
- </div>
793
- </li>
794
-
795
- <!--Product End-->
796
- <?php endwhile; wp_reset_query(); wp_reset_postdata(); endif; ?>
797
- </ul>
798
- </div>
799
- </div>
800
-
801
- <?php
802
-
803
- }
804
-
805
- }
806
-
807
- Plugin::instance()->widgets_manager->register_widget_type( new Woolentor_Product_Image_Accordion_Layout_Widget() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/product_tabs.php CHANGED
@@ -1,9 +1,6 @@
1
  <?php
2
- namespace Elementor;
3
 
4
- // Elementor Classes
5
- use \Elementor\Core\Schemes\Color as Scheme_Color;
6
- use \Elementor\Core\Schemes\Typography as Scheme_Typography;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
9
 
@@ -58,13 +55,13 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
58
  $this->add_control(
59
  'woolentor_product_style',
60
  [
61
- 'label' => esc_html__( 'Product Style', 'woolentor' ),
62
  'type' => Controls_Manager::SELECT,
63
  'default' => '1',
64
  'options' => [
65
- '1' => esc_html__( 'Style One', 'woolentor' ),
66
- '2' => esc_html__( 'Style Two', 'woolentor' ),
67
- '3' => esc_html__( 'Style Three', 'woolentor' ),
68
  ],
69
  ]
70
  );
@@ -100,9 +97,6 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
100
  '5' => esc_html__( '5', 'woolentor' ),
101
  '6' => esc_html__( '6', 'woolentor' ),
102
  ],
103
- 'condition' => [
104
- 'proslider!' => 'yes',
105
- ]
106
  ]
107
  );
108
 
@@ -121,7 +115,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
121
  $this->add_control(
122
  'woolentor_product_grid_products_count',
123
  [
124
- 'label' => __( 'Number of Products', 'woolentor' ),
125
  'type' => Controls_Manager::NUMBER,
126
  'default' => 4,
127
  'min' => 1,
@@ -144,7 +138,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
144
  $this->add_control(
145
  'custom_order',
146
  [
147
- 'label' => esc_html__( 'Custom Order', 'woolentor' ),
148
  'type' => Controls_Manager::SWITCHER,
149
  'return_value' => 'yes',
150
  'default' => 'no',
@@ -154,7 +148,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
154
  $this->add_control(
155
  'orderby',
156
  [
157
- 'label' => esc_html__( 'Order by', 'woolentor' ),
158
  'type' => Controls_Manager::SELECT,
159
  'default' => 'none',
160
  'options' => [
@@ -175,7 +169,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
175
  $this->add_control(
176
  'order',
177
  [
178
- 'label' => esc_html__( 'Order', 'woolentor' ),
179
  'type' => Controls_Manager::SELECT,
180
  'default' => 'DESC',
181
  'options' => [
@@ -201,11 +195,11 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
201
  $this->add_control(
202
  'proslider',
203
  [
204
- 'label' => esc_html__( 'Product Slider', 'woolentor' ),
205
  'type' => Controls_Manager::SWITCHER,
206
  'return_value' => 'yes',
207
  'default' => 'no',
208
- 'description' => esc_html__('When the product tab is off, Then working slider.','woolentor'),
209
  ]
210
  );
211
 
@@ -269,6 +263,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
269
  Group_Control_Typography::get_type(),
270
  [
271
  'name' => 'tabmenutypography',
 
272
  'selector' => '{{WRAPPER}} .ht-tab-menus li a',
273
  ]
274
  );
@@ -278,6 +273,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
278
  [
279
  'label' => __( 'Color', 'woolentor' ),
280
  'type' => Controls_Manager::COLOR,
 
 
 
 
281
  'default' =>'#23252a',
282
  'selectors' => [
283
  '{{WRAPPER}} .ht-tab-menus li a' => 'color: {{VALUE}};',
@@ -290,6 +289,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
290
  [
291
  'label' => __( 'Product tab menu background', 'woolentor' ),
292
  'type' => Controls_Manager::COLOR,
 
 
 
 
293
  'default' =>'#ffffff',
294
  'selectors' => [
295
  '{{WRAPPER}} .ht-tab-menus li a' => 'background-color: {{VALUE}} !important;',
@@ -357,6 +360,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
357
  [
358
  'label' => __( 'Color', 'woolentor' ),
359
  'type' => Controls_Manager::COLOR,
 
 
 
 
360
  'default' =>'#23252a',
361
  'selectors' => [
362
  '{{WRAPPER}} .ht-tab-menus li a:hover' => 'color: {{VALUE}};',
@@ -370,6 +377,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
370
  [
371
  'label' => __( 'Product tab menu background', 'woolentor' ),
372
  'type' => Controls_Manager::COLOR,
 
 
 
 
373
  'default' =>'#ffffff',
374
  'selectors' => [
375
  '{{WRAPPER}} .ht-tab-menus li a:hover' => 'background-color: {{VALUE}} !important;',
@@ -473,7 +484,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
473
  $this->add_control(
474
  'slautolay',
475
  [
476
- 'label' => esc_html__( 'Slider autoplay', 'woolentor' ),
477
  'type' => Controls_Manager::SWITCHER,
478
  'return_value' => 'yes',
479
  'separator' => 'before',
@@ -558,7 +569,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
558
  'sltablet_width',
559
  [
560
  'label' => __('Tablet Resolution', 'woolentor'),
561
- 'description' => __('The resolution to the tablet.', 'woolentor'),
562
  'type' => Controls_Manager::NUMBER,
563
  'default' => 750,
564
  ]
@@ -645,6 +656,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
645
  [
646
  'label' => __( 'Color', 'woolentor' ),
647
  'type' => Controls_Manager::COLOR,
 
 
 
 
648
  'default' =>'#dddddd',
649
  'selectors' => [
650
  '{{WRAPPER}} .product-slider .slick-arrow' => 'color: {{VALUE}};',
@@ -657,6 +672,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
657
  [
658
  'label' => __( 'Background Color', 'woolentor' ),
659
  'type' => Controls_Manager::COLOR,
 
 
 
 
660
  'default' =>'#ffffff',
661
  'selectors' => [
662
  '{{WRAPPER}} .product-slider .slick-arrow' => 'background-color: {{VALUE}} !important;',
@@ -709,6 +728,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
709
  [
710
  'label' => __( 'Background Color', 'woolentor' ),
711
  'type' => Controls_Manager::COLOR,
 
 
 
 
712
  'default' =>'#ffffff',
713
  'selectors' => [
714
  '{{WRAPPER}} .product-slider .slick-dots li button' => 'background-color: {{VALUE}} !important;',
@@ -760,6 +783,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
760
  [
761
  'label' => __( 'Color', 'woolentor' ),
762
  'type' => Controls_Manager::COLOR,
 
 
 
 
763
  'default' =>'#23252a',
764
  'selectors' => [
765
  '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'color: {{VALUE}};',
@@ -772,6 +799,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
772
  [
773
  'label' => __( 'Background', 'woolentor' ),
774
  'type' => Controls_Manager::COLOR,
 
 
 
 
775
  'default' =>'#ffffff',
776
  'selectors' => [
777
  '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'background-color: {{VALUE}} !important;',
@@ -813,6 +844,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
813
  [
814
  'label' => __( 'Background Color', 'woolentor' ),
815
  'type' => Controls_Manager::COLOR,
 
 
 
 
816
  'default' =>'#282828',
817
  'selectors' => [
818
  '{{WRAPPER}} .product-slider .slick-dots li button:hover' => 'background-color: {{VALUE}} !important;',
@@ -891,7 +926,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
891
  $this->add_responsive_control(
892
  'product_image_padding',
893
  [
894
- 'label' => __( 'Product Image Area Padding', 'woolentor' ),
895
  'type' => Controls_Manager::DIMENSIONS,
896
  'size_units' => [ 'px', '%', 'em' ],
897
  'selectors' => [
@@ -903,8 +938,12 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
903
  $this->add_control(
904
  'product_image_bg_color',
905
  [
906
- 'label' => __( 'Product Image Background', 'woolentor' ),
907
  'type' => Controls_Manager::COLOR,
 
 
 
 
908
  'default' =>'#ffffff',
909
  'selectors' => [
910
  '{{WRAPPER}} .product-item .product-inner .image-wrap' => 'background-color: {{VALUE}} !important;',
@@ -915,7 +954,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
915
  $this->add_responsive_control(
916
  'product_content_padding',
917
  [
918
- 'label' => __( 'Product Content Area Padding', 'woolentor' ),
919
  'type' => Controls_Manager::DIMENSIONS,
920
  'size_units' => [ 'px', '%', 'em' ],
921
  'selectors' => [
@@ -927,8 +966,12 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
927
  $this->add_control(
928
  'product_content_bg_color',
929
  [
930
- 'label' => __( 'Product Content Background', 'woolentor' ),
931
  'type' => Controls_Manager::COLOR,
 
 
 
 
932
  'default' =>'#ffffff',
933
  'selectors' => [
934
  '{{WRAPPER}} .product-item .product-inner .content' => 'background-color: {{VALUE}} !important;',
@@ -978,6 +1021,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
978
  Group_Control_Typography::get_type(),
979
  [
980
  'name' => 'typography',
 
981
  'selector' => '{{WRAPPER}} .product-item .product-inner .content .title',
982
  ]
983
  );
@@ -987,7 +1031,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
987
  [
988
  'label' => __( 'Title color', 'woolentor' ),
989
  'type' => Controls_Manager::COLOR,
990
- 'default' =>'#444444',
 
 
 
991
  'selectors' => [
992
  '{{WRAPPER}} .product-item .product-inner .content .title a' => 'color: {{VALUE}};',
993
  ],
@@ -1007,10 +1054,12 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1007
  [
1008
  'label' => __( 'Price color', 'woolentor' ),
1009
  'type' => Controls_Manager::COLOR,
1010
- 'default' =>'#444444',
 
 
 
1011
  'selectors' => [
1012
- '{{WRAPPER}} .product-item .product-inner .content .price ' => 'color: {{VALUE}};',
1013
- '{{WRAPPER}} .product-item .product-inner .content .price .amount' => 'color: {{VALUE}};',
1014
  ],
1015
  ]
1016
  );
@@ -1019,7 +1068,8 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1019
  Group_Control_Typography::get_type(),
1020
  [
1021
  'name' => 'pricetypography',
1022
- 'selector' => '{{WRAPPER}} .product-item .product-inner .content .price ',
 
1023
  ]
1024
  );
1025
 
@@ -1069,7 +1119,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1069
  [
1070
  'label' => __( 'Title color', 'woolentor' ),
1071
  'type' => Controls_Manager::COLOR,
1072
- 'default' =>'#dc9a0e',
 
 
 
1073
  'selectors' => [
1074
  '{{WRAPPER}} .product-item .product-inner .content .title a:hover' => 'color: {{VALUE}};',
1075
  ],
@@ -1081,6 +1134,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1081
  [
1082
  'label' => __( 'Product content background', 'woolentor' ),
1083
  'type' => Controls_Manager::COLOR,
 
 
 
 
1084
  'default' =>'#ffffff',
1085
  'selectors' => [
1086
  '{{WRAPPER}} .product-item .product-inner .product_information_area .content' => 'background-color: {{VALUE}} !important;',
@@ -1130,7 +1187,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1130
  [
1131
  'label' => __( 'Color', 'woolentor' ),
1132
  'type' => Controls_Manager::COLOR,
1133
- 'default' =>'#444444',
 
 
 
1134
  'selectors' => [
1135
  '{{WRAPPER}} .product-item .actions a, {{WRAPPER}} .product-item .woocommerce.compare-button a.button, {{WRAPPER}} .product-item .actions a::before' => 'color: {{VALUE}};',
1136
  ],
@@ -1140,9 +1200,12 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1140
  $this->add_control(
1141
  'action_button_bg_color',
1142
  [
1143
- 'label' => __( 'Background Color', 'woolentor' ),
1144
  'type' => Controls_Manager::COLOR,
1145
- 'default' =>'#ffffff',
 
 
 
1146
  'selectors' => [
1147
  '{{WRAPPER}} .product-item .actions' => 'background-color: {{VALUE}};',
1148
  ],
@@ -1190,7 +1253,10 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1190
  [
1191
  'label' => __( 'Color', 'woolentor' ),
1192
  'type' => Controls_Manager::COLOR,
1193
- 'default' =>'#dc9a0e',
 
 
 
1194
  'selectors' => [
1195
  '{{WRAPPER}} .product-item .actions a:hover, {{WRAPPER}} .product-item .woocommerce.compare-button a.button:hover, {{WRAPPER}} .product-item .actions a:hover::before' => 'color: {{VALUE}};',
1196
  ],
@@ -1200,9 +1266,12 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1200
  $this->add_control(
1201
  'action_button_hover_bg_color',
1202
  [
1203
- 'label' => __( 'Background Color', 'woolentor' ),
1204
  'type' => Controls_Manager::COLOR,
1205
- 'default' =>'#ffffff',
 
 
 
1206
  'selectors' => [
1207
  '{{WRAPPER}} .product-item .actions:hover' => 'background-color: {{VALUE}};',
1208
  ],
@@ -1454,9 +1523,12 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1454
  </a>
1455
  <?php
1456
  if( $settings['woolentor_product_style'] == 1){
1457
- if( true === woolentor_has_wishlist_plugin() ){
1458
  echo woolentor_add_to_wishlist_button();
1459
  }
 
 
 
1460
  }
1461
  ?>
1462
  <?php if( $settings['woolentor_product_style'] == 3):?>
@@ -1499,9 +1571,12 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1499
  <div class="actions style_two">
1500
  <?php
1501
  woocommerce_template_loop_add_to_cart();
1502
- if( true === woolentor_has_wishlist_plugin() ){
1503
  echo woolentor_add_to_wishlist_button();
1504
  }
 
 
 
1505
  ?>
1506
  </div>
1507
 
@@ -1517,16 +1592,17 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1517
  <?php
1518
  if( $settings['woolentor_product_style'] == 2){
1519
  woocommerce_template_loop_add_to_cart();
1520
- if( true === woolentor_has_wishlist_plugin() ){
1521
  echo woolentor_add_to_wishlist_button();
1522
  }
 
 
 
1523
  }else{
1524
  woocommerce_template_loop_add_to_cart();
1525
-
1526
- if( function_exists('woolentor_compare_button') && !Plugin::instance()->editor->is_edit_mode() && true === woolentor_exist_compare_plugin() ){
1527
  woolentor_compare_button();
1528
  }
1529
-
1530
  }
1531
  ?>
1532
  </div>
@@ -1545,7 +1621,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1545
 
1546
  <?php if ($k % $rows == 0 && ($products->post_count != $k)) { ?>
1547
  </div>
1548
- <div class="<?php echo esc_attr($collumval);?>">
1549
  <?php } $k++; endwhile; wp_reset_postdata(); ?>
1550
  </div>
1551
  </div>
@@ -1580,9 +1656,12 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1580
  </a>
1581
  <?php
1582
  if( $settings['woolentor_product_style'] == 1 ){
1583
- if( true === woolentor_has_wishlist_plugin() ){
1584
  echo woolentor_add_to_wishlist_button();
1585
  }
 
 
 
1586
  }
1587
  ?>
1588
  <?php if( $settings['woolentor_product_style'] == 3):?>
@@ -1625,9 +1704,12 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1625
  <div class="actions style_two">
1626
  <?php
1627
  woocommerce_template_loop_add_to_cart();
1628
- if( true === woolentor_has_wishlist_plugin() ){
1629
  echo woolentor_add_to_wishlist_button();
1630
  }
 
 
 
1631
  ?>
1632
  </div>
1633
 
@@ -1643,12 +1725,15 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1643
  <?php
1644
  if( $settings['woolentor_product_style'] == 2){
1645
  woocommerce_template_loop_add_to_cart();
1646
- if( true === woolentor_has_wishlist_plugin() ){
1647
  echo woolentor_add_to_wishlist_button();
1648
  }
 
 
 
1649
  }else{
1650
  woocommerce_template_loop_add_to_cart();
1651
- if( function_exists('woolentor_compare_button') && !Plugin::instance()->editor->is_edit_mode() && true === woolentor_exist_compare_plugin() ){
1652
  woolentor_compare_button();
1653
  }
1654
  }
@@ -1669,7 +1754,7 @@ class Woolentor_Product_Tabs_Widget extends Widget_Base {
1669
 
1670
  <?php if ($k % $rows == 0 && ($products->post_count != $k)) { ?>
1671
  </div>
1672
- <div class="<?php echo esc_attr($collumval);?>">
1673
  <?php } $k++; endwhile; wp_reset_query(); wp_reset_postdata(); endif; ?>
1674
  </div>
1675
  <?php if( $proslider == 'yes' ){ echo '</div>';} ?>
1
  <?php
 
2
 
3
+ namespace Elementor;
 
 
4
 
5
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
6
 
55
  $this->add_control(
56
  'woolentor_product_style',
57
  [
58
+ 'label' => esc_html__( 'Product style', 'woolentor' ),
59
  'type' => Controls_Manager::SELECT,
60
  'default' => '1',
61
  'options' => [
62
+ '1' => esc_html__( 'Product style One', 'woolentor' ),
63
+ '2' => esc_html__( 'Product style Two', 'woolentor' ),
64
+ '3' => esc_html__( 'Product style Three', 'woolentor' ),
65
  ],
66
  ]
67
  );
97
  '5' => esc_html__( '5', 'woolentor' ),
98
  '6' => esc_html__( '6', 'woolentor' ),
99
  ],
 
 
 
100
  ]
101
  );
102
 
115
  $this->add_control(
116
  'woolentor_product_grid_products_count',
117
  [
118
+ 'label' => __( 'Products Count', 'woolentor' ),
119
  'type' => Controls_Manager::NUMBER,
120
  'default' => 4,
121
  'min' => 1,
138
  $this->add_control(
139
  'custom_order',
140
  [
141
+ 'label' => esc_html__( 'Custom order', 'woolentor' ),
142
  'type' => Controls_Manager::SWITCHER,
143
  'return_value' => 'yes',
144
  'default' => 'no',
148
  $this->add_control(
149
  'orderby',
150
  [
151
+ 'label' => esc_html__( 'Orderby', 'woolentor' ),
152
  'type' => Controls_Manager::SELECT,
153
  'default' => 'none',
154
  'options' => [
169
  $this->add_control(
170
  'order',
171
  [
172
+ 'label' => esc_html__( 'order', 'woolentor' ),
173
  'type' => Controls_Manager::SELECT,
174
  'default' => 'DESC',
175
  'options' => [
195
  $this->add_control(
196
  'proslider',
197
  [
198
+ 'label' => esc_html__( 'Product slider', 'woolentor' ),
199
  'type' => Controls_Manager::SWITCHER,
200
  'return_value' => 'yes',
201
  'default' => 'no',
202
+ 'description' => esc_html__('When product tab is off, Then working slider.','woolentor'),
203
  ]
204
  );
205
 
263
  Group_Control_Typography::get_type(),
264
  [
265
  'name' => 'tabmenutypography',
266
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
267
  'selector' => '{{WRAPPER}} .ht-tab-menus li a',
268
  ]
269
  );
273
  [
274
  'label' => __( 'Color', 'woolentor' ),
275
  'type' => Controls_Manager::COLOR,
276
+ 'scheme' => [
277
+ 'type' => Scheme_Color::get_type(),
278
+ 'value' => Scheme_Color::COLOR_1,
279
+ ],
280
  'default' =>'#23252a',
281
  'selectors' => [
282
  '{{WRAPPER}} .ht-tab-menus li a' => 'color: {{VALUE}};',
289
  [
290
  'label' => __( 'Product tab menu background', 'woolentor' ),
291
  'type' => Controls_Manager::COLOR,
292
+ 'scheme' => [
293
+ 'type' => Scheme_Color::get_type(),
294
+ 'value' => Scheme_Color::COLOR_1,
295
+ ],
296
  'default' =>'#ffffff',
297
  'selectors' => [
298
  '{{WRAPPER}} .ht-tab-menus li a' => 'background-color: {{VALUE}} !important;',
360
  [
361
  'label' => __( 'Color', 'woolentor' ),
362
  'type' => Controls_Manager::COLOR,
363
+ 'scheme' => [
364
+ 'type' => Scheme_Color::get_type(),
365
+ 'value' => Scheme_Color::COLOR_1,
366
+ ],
367
  'default' =>'#23252a',
368
  'selectors' => [
369
  '{{WRAPPER}} .ht-tab-menus li a:hover' => 'color: {{VALUE}};',
377
  [
378
  'label' => __( 'Product tab menu background', 'woolentor' ),
379
  'type' => Controls_Manager::COLOR,
380
+ 'scheme' => [
381
+ 'type' => Scheme_Color::get_type(),
382
+ 'value' => Scheme_Color::COLOR_1,
383
+ ],
384
  'default' =>'#ffffff',
385
  'selectors' => [
386
  '{{WRAPPER}} .ht-tab-menus li a:hover' => 'background-color: {{VALUE}} !important;',
484
  $this->add_control(
485
  'slautolay',
486
  [
487
+ 'label' => esc_html__( 'Slider auto play', 'woolentor' ),
488
  'type' => Controls_Manager::SWITCHER,
489
  'return_value' => 'yes',
490
  'separator' => 'before',
569
  'sltablet_width',
570
  [
571
  'label' => __('Tablet Resolution', 'woolentor'),
572
+ 'description' => __('The resolution to tablet.', 'woolentor'),
573
  'type' => Controls_Manager::NUMBER,
574
  'default' => 750,
575
  ]
656
  [
657
  'label' => __( 'Color', 'woolentor' ),
658
  'type' => Controls_Manager::COLOR,
659
+ 'scheme' => [
660
+ 'type' => Scheme_Color::get_type(),
661
+ 'value' => Scheme_Color::COLOR_1,
662
+ ],
663
  'default' =>'#dddddd',
664
  'selectors' => [
665
  '{{WRAPPER}} .product-slider .slick-arrow' => 'color: {{VALUE}};',
672
  [
673
  'label' => __( 'Background Color', 'woolentor' ),
674
  'type' => Controls_Manager::COLOR,
675
+ 'scheme' => [
676
+ 'type' => Scheme_Color::get_type(),
677
+ 'value' => Scheme_Color::COLOR_1,
678
+ ],
679
  'default' =>'#ffffff',
680
  'selectors' => [
681
  '{{WRAPPER}} .product-slider .slick-arrow' => 'background-color: {{VALUE}} !important;',
728
  [
729
  'label' => __( 'Background Color', 'woolentor' ),
730
  'type' => Controls_Manager::COLOR,
731
+ 'scheme' => [
732
+ 'type' => Scheme_Color::get_type(),
733
+ 'value' => Scheme_Color::COLOR_1,
734
+ ],
735
  'default' =>'#ffffff',
736
  'selectors' => [
737
  '{{WRAPPER}} .product-slider .slick-dots li button' => 'background-color: {{VALUE}} !important;',
783
  [
784
  'label' => __( 'Color', 'woolentor' ),
785
  'type' => Controls_Manager::COLOR,
786
+ 'scheme' => [
787
+ 'type' => Scheme_Color::get_type(),
788
+ 'value' => Scheme_Color::COLOR_1,
789
+ ],
790
  'default' =>'#23252a',
791
  'selectors' => [
792
  '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'color: {{VALUE}};',
799
  [
800
  'label' => __( 'Background', 'woolentor' ),
801
  'type' => Controls_Manager::COLOR,
802
+ 'scheme' => [
803
+ 'type' => Scheme_Color::get_type(),
804
+ 'value' => Scheme_Color::COLOR_1,
805
+ ],
806
  'default' =>'#ffffff',
807
  'selectors' => [
808
  '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'background-color: {{VALUE}} !important;',
844
  [
845
  'label' => __( 'Background Color', 'woolentor' ),
846
  'type' => Controls_Manager::COLOR,
847
+ 'scheme' => [
848
+ 'type' => Scheme_Color::get_type(),
849
+ 'value' => Scheme_Color::COLOR_1,
850
+ ],
851
  'default' =>'#282828',
852
  'selectors' => [
853
  '{{WRAPPER}} .product-slider .slick-dots li button:hover' => 'background-color: {{VALUE}} !important;',
926
  $this->add_responsive_control(
927
  'product_image_padding',
928
  [
929
+ 'label' => __( 'Product image area padding', 'woolentor' ),
930
  'type' => Controls_Manager::DIMENSIONS,
931
  'size_units' => [ 'px', '%', 'em' ],
932
  'selectors' => [
938
  $this->add_control(
939
  'product_image_bg_color',
940
  [
941
+ 'label' => __( 'Product image background', 'woolentor' ),
942
  'type' => Controls_Manager::COLOR,
943
+ 'scheme' => [
944
+ 'type' => Scheme_Color::get_type(),
945
+ 'value' => Scheme_Color::COLOR_1,
946
+ ],
947
  'default' =>'#ffffff',
948
  'selectors' => [
949
  '{{WRAPPER}} .product-item .product-inner .image-wrap' => 'background-color: {{VALUE}} !important;',
954
  $this->add_responsive_control(
955
  'product_content_padding',
956
  [
957
+ 'label' => __( 'Product content area padding', 'woolentor' ),
958
  'type' => Controls_Manager::DIMENSIONS,
959
  'size_units' => [ 'px', '%', 'em' ],
960
  'selectors' => [
966
  $this->add_control(
967
  'product_content_bg_color',
968
  [
969
+ 'label' => __( 'Product content background', 'woolentor' ),
970
  'type' => Controls_Manager::COLOR,
971
+ 'scheme' => [
972
+ 'type' => Scheme_Color::get_type(),
973
+ 'value' => Scheme_Color::COLOR_1,
974
+ ],
975
  'default' =>'#ffffff',
976
  'selectors' => [
977
  '{{WRAPPER}} .product-item .product-inner .content' => 'background-color: {{VALUE}} !important;',
1021
  Group_Control_Typography::get_type(),
1022
  [
1023
  'name' => 'typography',
1024
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1025
  'selector' => '{{WRAPPER}} .product-item .product-inner .content .title',
1026
  ]
1027
  );
1031
  [
1032
  'label' => __( 'Title color', 'woolentor' ),
1033
  'type' => Controls_Manager::COLOR,
1034
+ 'scheme' => [
1035
+ 'type' => Scheme_Color::get_type(),
1036
+ 'value' => Scheme_Color::COLOR_1,
1037
+ ],
1038
  'selectors' => [
1039
  '{{WRAPPER}} .product-item .product-inner .content .title a' => 'color: {{VALUE}};',
1040
  ],
1054
  [
1055
  'label' => __( 'Price color', 'woolentor' ),
1056
  'type' => Controls_Manager::COLOR,
1057
+ 'scheme' => [
1058
+ 'type' => Scheme_Color::get_type(),
1059
+ 'value' => Scheme_Color::COLOR_1,
1060
+ ],
1061
  'selectors' => [
1062
+ '{{WRAPPER}} .product-item .product-inner .content .price' => 'color: {{VALUE}};',
 
1063
  ],
1064
  ]
1065
  );
1068
  Group_Control_Typography::get_type(),
1069
  [
1070
  'name' => 'pricetypography',
1071
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1072
+ 'selector' => '{{WRAPPER}} .product-item .product-inner .content .price',
1073
  ]
1074
  );
1075
 
1119
  [
1120
  'label' => __( 'Title color', 'woolentor' ),
1121
  'type' => Controls_Manager::COLOR,
1122
+ 'scheme' => [
1123
+ 'type' => Scheme_Color::get_type(),
1124
+ 'value' => Scheme_Color::COLOR_1,
1125
+ ],
1126
  'selectors' => [
1127
  '{{WRAPPER}} .product-item .product-inner .content .title a:hover' => 'color: {{VALUE}};',
1128
  ],
1134
  [
1135
  'label' => __( 'Product content background', 'woolentor' ),
1136
  'type' => Controls_Manager::COLOR,
1137
+ 'scheme' => [
1138
+ 'type' => Scheme_Color::get_type(),
1139
+ 'value' => Scheme_Color::COLOR_1,
1140
+ ],
1141
  'default' =>'#ffffff',
1142
  'selectors' => [
1143
  '{{WRAPPER}} .product-item .product-inner .product_information_area .content' => 'background-color: {{VALUE}} !important;',
1187
  [
1188
  'label' => __( 'Color', 'woolentor' ),
1189
  'type' => Controls_Manager::COLOR,
1190
+ 'scheme' => [
1191
+ 'type' => Scheme_Color::get_type(),
1192
+ 'value' => Scheme_Color::COLOR_1,
1193
+ ],
1194
  'selectors' => [
1195
  '{{WRAPPER}} .product-item .actions a, {{WRAPPER}} .product-item .woocommerce.compare-button a.button, {{WRAPPER}} .product-item .actions a::before' => 'color: {{VALUE}};',
1196
  ],
1200
  $this->add_control(
1201
  'action_button_bg_color',
1202
  [
1203
+ 'label' => __( 'Backgournd Color', 'woolentor' ),
1204
  'type' => Controls_Manager::COLOR,
1205
+ 'scheme' => [
1206
+ 'type' => Scheme_Color::get_type(),
1207
+ 'value' => Scheme_Color::COLOR_1,
1208
+ ],
1209
  'selectors' => [
1210
  '{{WRAPPER}} .product-item .actions' => 'background-color: {{VALUE}};',
1211
  ],
1253
  [
1254
  'label' => __( 'Color', 'woolentor' ),
1255
  'type' => Controls_Manager::COLOR,
1256
+ 'scheme' => [
1257
+ 'type' => Scheme_Color::get_type(),
1258
+ 'value' => Scheme_Color::COLOR_1,
1259
+ ],
1260
  'selectors' => [
1261
  '{{WRAPPER}} .product-item .actions a:hover, {{WRAPPER}} .product-item .woocommerce.compare-button a.button:hover, {{WRAPPER}} .product-item .actions a:hover::before' => 'color: {{VALUE}};',
1262
  ],
1266
  $this->add_control(
1267
  'action_button_hover_bg_color',
1268
  [
1269
+ 'label' => __( 'Backgournd Color', 'woolentor' ),
1270
  'type' => Controls_Manager::COLOR,
1271
+ 'scheme' => [
1272
+ 'type' => Scheme_Color::get_type(),
1273
+ 'value' => Scheme_Color::COLOR_1,
1274
+ ],
1275
  'selectors' => [
1276
  '{{WRAPPER}} .product-item .actions:hover' => 'background-color: {{VALUE}};',
1277
  ],
1523
  </a>
1524
  <?php
1525
  if( $settings['woolentor_product_style'] == 1){
1526
+ if ( class_exists( 'YITH_WCWL' ) ) {
1527
  echo woolentor_add_to_wishlist_button();
1528
  }
1529
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
1530
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
1531
+ }
1532
  }
1533
  ?>
1534
  <?php if( $settings['woolentor_product_style'] == 3):?>
1571
  <div class="actions style_two">
1572
  <?php
1573
  woocommerce_template_loop_add_to_cart();
1574
+ if ( class_exists( 'YITH_WCWL' ) ) {
1575
  echo woolentor_add_to_wishlist_button();
1576
  }
1577
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
1578
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
1579
+ }
1580
  ?>
1581
  </div>
1582
 
1592
  <?php
1593
  if( $settings['woolentor_product_style'] == 2){
1594
  woocommerce_template_loop_add_to_cart();
1595
+ if ( class_exists( 'YITH_WCWL' ) ) {
1596
  echo woolentor_add_to_wishlist_button();
1597
  }
1598
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
1599
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
1600
+ }
1601
  }else{
1602
  woocommerce_template_loop_add_to_cart();
1603
+ if( function_exists('woolentor_compare_button') && !Plugin::instance()->editor->is_edit_mode() ){
 
1604
  woolentor_compare_button();
1605
  }
 
1606
  }
1607
  ?>
1608
  </div>
1621
 
1622
  <?php if ($k % $rows == 0 && ($products->post_count != $k)) { ?>
1623
  </div>
1624
+ <div class="<?php echo esc_attr($collumval );?>">
1625
  <?php } $k++; endwhile; wp_reset_postdata(); ?>
1626
  </div>
1627
  </div>
1656
  </a>
1657
  <?php
1658
  if( $settings['woolentor_product_style'] == 1 ){
1659
+ if ( class_exists( 'YITH_WCWL' ) ) {
1660
  echo woolentor_add_to_wishlist_button();
1661
  }
1662
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
1663
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
1664
+ }
1665
  }
1666
  ?>
1667
  <?php if( $settings['woolentor_product_style'] == 3):?>
1704
  <div class="actions style_two">
1705
  <?php
1706
  woocommerce_template_loop_add_to_cart();
1707
+ if ( class_exists( 'YITH_WCWL' ) ) {
1708
  echo woolentor_add_to_wishlist_button();
1709
  }
1710
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
1711
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
1712
+ }
1713
  ?>
1714
  </div>
1715
 
1725
  <?php
1726
  if( $settings['woolentor_product_style'] == 2){
1727
  woocommerce_template_loop_add_to_cart();
1728
+ if ( class_exists( 'YITH_WCWL' ) ) {
1729
  echo woolentor_add_to_wishlist_button();
1730
  }
1731
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
1732
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
1733
+ }
1734
  }else{
1735
  woocommerce_template_loop_add_to_cart();
1736
+ if( function_exists('woolentor_compare_button') && !Plugin::instance()->editor->is_edit_mode() ){
1737
  woolentor_compare_button();
1738
  }
1739
  }
1754
 
1755
  <?php if ($k % $rows == 0 && ($products->post_count != $k)) { ?>
1756
  </div>
1757
+ <div class="<?php echo esc_attr($collumval );?>">
1758
  <?php } $k++; endwhile; wp_reset_query(); wp_reset_postdata(); endif; ?>
1759
  </div>
1760
  <?php if( $proslider == 'yes' ){ echo '</div>';} ?>
includes/addons/special_day_offer.php CHANGED
@@ -1,10 +1,6 @@
1
  <?php
2
  namespace Elementor;
3
 
4
- // Elementor Classes
5
- use \Elementor\Core\Schemes\Color as Scheme_Color;
6
- use \Elementor\Core\Schemes\Typography as Scheme_Typography;
7
-
8
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
9
 
10
  class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
@@ -92,7 +88,7 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
92
  $this->add_control(
93
  'banner_sub_title',
94
  [
95
- 'label' => __( 'Subtitle', 'woolentor' ),
96
  'type' => Controls_Manager::TEXT,
97
  'placeholder' => __( 'Banner Sub Title', 'woolentor' ),
98
  ]
@@ -195,7 +191,7 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
195
  $this->add_responsive_control(
196
  'badge_x_position',
197
  [
198
- 'label' => __( 'Horizontal Position', 'woolentor' ),
199
  'type' => Controls_Manager::SLIDER,
200
  'size_units' => [ 'px', '%' ],
201
  'default' => [
@@ -224,7 +220,7 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
224
  $this->add_responsive_control(
225
  'badge_y_position',
226
  [
227
- 'label' => __( 'Vertical Position', 'woolentor' ),
228
  'type' => Controls_Manager::SLIDER,
229
  'size_units' => [ 'px', '%' ],
230
  'default' => [
@@ -335,6 +331,10 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
335
  [
336
  'label' => __( 'Color', 'woolentor' ),
337
  'type' => Controls_Manager::COLOR,
 
 
 
 
338
  'default' => '#ffffff',
339
  'selectors' => [
340
  '{{WRAPPER}} .wlspcial-banner .banner-content h2' => 'color: {{VALUE}};',
@@ -347,6 +347,7 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
347
  [
348
  'name' => 'banner_title_typography',
349
  'label' => __( 'Typography', 'woolentor' ),
 
350
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content h2',
351
  ]
352
  );
@@ -394,6 +395,10 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
394
  [
395
  'label' => __( 'Color', 'woolentor' ),
396
  'type' => Controls_Manager::COLOR,
 
 
 
 
397
  'default' => '#ffffff',
398
  'selectors' => [
399
  '{{WRAPPER}} .wlspcial-banner .banner-content h6' => 'color: {{VALUE}};',
@@ -406,6 +411,7 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
406
  [
407
  'name' => 'banner_sub_title_typography',
408
  'label' => __( 'Typography', 'woolentor' ),
 
409
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content h6',
410
  ]
411
  );
@@ -453,6 +459,10 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
453
  [
454
  'label' => __( 'Color', 'woolentor' ),
455
  'type' => Controls_Manager::COLOR,
 
 
 
 
456
  'default' => '#ffffff',
457
  'selectors' => [
458
  '{{WRAPPER}} .wlspcial-banner .banner-content p' => 'color: {{VALUE}};',
@@ -465,6 +475,7 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
465
  [
466
  'name' => 'banner_description_typography',
467
  'label' => __( 'Typography', 'woolentor' ),
 
468
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content p',
469
  ]
470
  );
@@ -512,6 +523,10 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
512
  [
513
  'label' => __( 'Color', 'woolentor' ),
514
  'type' => Controls_Manager::COLOR,
 
 
 
 
515
  'default' => '#ffffff',
516
  'selectors' => [
517
  '{{WRAPPER}} .wlspcial-banner .banner-content h5' => 'color: {{VALUE}};',
@@ -524,6 +539,7 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
524
  [
525
  'name' => 'banner_offer_typography',
526
  'label' => __( 'Typography', 'woolentor' ),
 
527
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content h5',
528
  ]
529
  );
@@ -571,6 +587,10 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
571
  [
572
  'label' => __( 'Color', 'woolentor' ),
573
  'type' => Controls_Manager::COLOR,
 
 
 
 
574
  'default' => '#ffffff',
575
  'selectors' => [
576
  '{{WRAPPER}} .wlspcial-banner .banner-content h5 span' => 'color: {{VALUE}};',
@@ -583,6 +603,7 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
583
  [
584
  'name' => 'banner_offer_tag_typography',
585
  'label' => __( 'Typography', 'woolentor' ),
 
586
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content h5 span',
587
  ]
588
  );
@@ -650,6 +671,7 @@ class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
650
  [
651
  'name' => 'button_typography',
652
  'label' => __( 'Typography', 'woolentor' ),
 
653
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content a',
654
  ]
655
  );
1
  <?php
2
  namespace Elementor;
3
 
 
 
 
 
4
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
 
6
  class Woolentor_Elementor_Widget_Special_day_Banner extends Widget_Base {
88
  $this->add_control(
89
  'banner_sub_title',
90
  [
91
+ 'label' => __( 'Sub Title', 'woolentor' ),
92
  'type' => Controls_Manager::TEXT,
93
  'placeholder' => __( 'Banner Sub Title', 'woolentor' ),
94
  ]
191
  $this->add_responsive_control(
192
  'badge_x_position',
193
  [
194
+ 'label' => __( 'Horizontal Postion', 'woolentor' ),
195
  'type' => Controls_Manager::SLIDER,
196
  'size_units' => [ 'px', '%' ],
197
  'default' => [
220
  $this->add_responsive_control(
221
  'badge_y_position',
222
  [
223
+ 'label' => __( 'Vertical Postion', 'woolentor' ),
224
  'type' => Controls_Manager::SLIDER,
225
  'size_units' => [ 'px', '%' ],
226
  'default' => [
331
  [
332
  'label' => __( 'Color', 'woolentor' ),
333
  'type' => Controls_Manager::COLOR,
334
+ 'scheme' => [
335
+ 'type' => Scheme_Color::get_type(),
336
+ 'value' => Scheme_Color::COLOR_1,
337
+ ],
338
  'default' => '#ffffff',
339
  'selectors' => [
340
  '{{WRAPPER}} .wlspcial-banner .banner-content h2' => 'color: {{VALUE}};',
347
  [
348
  'name' => 'banner_title_typography',
349
  'label' => __( 'Typography', 'woolentor' ),
350
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
351
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content h2',
352
  ]
353
  );
395
  [
396
  'label' => __( 'Color', 'woolentor' ),
397
  'type' => Controls_Manager::COLOR,
398
+ 'scheme' => [
399
+ 'type' => Scheme_Color::get_type(),
400
+ 'value' => Scheme_Color::COLOR_1,
401
+ ],
402
  'default' => '#ffffff',
403
  'selectors' => [
404
  '{{WRAPPER}} .wlspcial-banner .banner-content h6' => 'color: {{VALUE}};',
411
  [
412
  'name' => 'banner_sub_title_typography',
413
  'label' => __( 'Typography', 'woolentor' ),
414
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
415
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content h6',
416
  ]
417
  );
459
  [
460
  'label' => __( 'Color', 'woolentor' ),
461
  'type' => Controls_Manager::COLOR,
462
+ 'scheme' => [
463
+ 'type' => Scheme_Color::get_type(),
464
+ 'value' => Scheme_Color::COLOR_1,
465
+ ],
466
  'default' => '#ffffff',
467
  'selectors' => [
468
  '{{WRAPPER}} .wlspcial-banner .banner-content p' => 'color: {{VALUE}};',
475
  [
476
  'name' => 'banner_description_typography',
477
  'label' => __( 'Typography', 'woolentor' ),
478
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
479
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content p',
480
  ]
481
  );
523
  [
524
  'label' => __( 'Color', 'woolentor' ),
525
  'type' => Controls_Manager::COLOR,
526
+ 'scheme' => [
527
+ 'type' => Scheme_Color::get_type(),
528
+ 'value' => Scheme_Color::COLOR_1,
529
+ ],
530
  'default' => '#ffffff',
531
  'selectors' => [
532
  '{{WRAPPER}} .wlspcial-banner .banner-content h5' => 'color: {{VALUE}};',
539
  [
540
  'name' => 'banner_offer_typography',
541
  'label' => __( 'Typography', 'woolentor' ),
542
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
543
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content h5',
544
  ]
545
  );
587
  [
588
  'label' => __( 'Color', 'woolentor' ),
589
  'type' => Controls_Manager::COLOR,
590
+ 'scheme' => [
591
+ 'type' => Scheme_Color::get_type(),
592
+ 'value' => Scheme_Color::COLOR_1,
593
+ ],
594
  'default' => '#ffffff',
595
  'selectors' => [
596
  '{{WRAPPER}} .wlspcial-banner .banner-content h5 span' => 'color: {{VALUE}};',
603
  [
604
  'name' => 'banner_offer_tag_typography',
605
  'label' => __( 'Typography', 'woolentor' ),
606
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
607
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content h5 span',
608
  ]
609
  );
671
  [
672
  'name' => 'button_typography',
673
  'label' => __( 'Typography', 'woolentor' ),
674
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
675
  'selector' => '{{WRAPPER}} .wlspcial-banner .banner-content a',
676
  ]
677
  );
includes/addons/universal_product.php CHANGED
@@ -1,9 +1,6 @@
1
  <?php
2
- namespace Elementor;
3
 
4
- // Elementor Classes
5
- use \Elementor\Core\Schemes\Color as Scheme_Color;
6
- use \Elementor\Core\Schemes\Typography as Scheme_Typography;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
9
 
@@ -30,7 +27,6 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
30
  'htflexboxgrid',
31
  'font-awesome',
32
  'simple-line-icons',
33
- 'elementor-icons-shared-0-css','elementor-icons-fa-brands','elementor-icons-fa-regular','elementor-icons-fa-solid',
34
  'slick',
35
  'woolentor-widgets',
36
  ];
@@ -114,7 +110,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
114
  'sale' => esc_html__( 'Sale Products', 'woolentor' ),
115
  'top_rated' => esc_html__( 'Top Rated Products', 'woolentor' ),
116
  'mixed_order' => esc_html__( 'Random Products', 'woolentor' ),
117
- 'show_byid' => esc_html__( 'Show By ID', 'woolentor' ),
118
  'show_byid_manually' => esc_html__( 'Add ID Manually', 'woolentor' ),
119
  ],
120
  ]
@@ -173,7 +169,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
173
  $this->add_control(
174
  'woolentor_custom_order',
175
  [
176
- 'label' => esc_html__( 'Custom Order', 'woolentor' ),
177
  'type' => Controls_Manager::SWITCHER,
178
  'return_value' => 'yes',
179
  'default' => 'no',
@@ -183,7 +179,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
183
  $this->add_control(
184
  'orderby',
185
  [
186
- 'label' => esc_html__( 'Order by', 'woolentor' ),
187
  'type' => Controls_Manager::SELECT,
188
  'default' => 'none',
189
  'options' => [
@@ -204,7 +200,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
204
  $this->add_control(
205
  'order',
206
  [
207
- 'label' => esc_html__( 'Order', 'woolentor' ),
208
  'type' => Controls_Manager::SELECT,
209
  'default' => 'DESC',
210
  'options' => [
@@ -242,20 +238,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
242
  ]
243
  );
244
 
245
- $this->add_control(
246
- 'product_title_html_tag',
247
- [
248
- 'label' => __( 'Title HTML Tag', 'woolentor' ),
249
- 'type' => Controls_Manager::SELECT,
250
- 'options' => woolentor_html_tag_lists(),
251
- 'default' => 'h4',
252
- ]
253
- );
254
-
255
  $this->add_control(
256
  'hide_product_title',
257
  [
258
- 'label' => __( 'Hide Title', 'woolentor' ),
259
  'type' => Controls_Manager::SWITCHER,
260
  'selectors' => [
261
  '{{WRAPPER}} .ht-product-inner .ht-product-title' => 'display: none !important;',
@@ -266,7 +252,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
266
  $this->add_control(
267
  'hide_product_price',
268
  [
269
- 'label' => __( 'Hide Price', 'woolentor' ),
270
  'type' => Controls_Manager::SWITCHER,
271
  'selectors' => [
272
  '{{WRAPPER}} .ht-product-inner .ht-product-price' => 'display: none !important;',
@@ -277,7 +263,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
277
  $this->add_control(
278
  'hide_product_category',
279
  [
280
- 'label' => __( 'Hide Category', 'woolentor' ),
281
  'type' => Controls_Manager::SWITCHER,
282
  'selectors' => [
283
  '{{WRAPPER}} .ht-product-inner .ht-product-categories' => 'display: none !important;',
@@ -286,28 +272,85 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
286
  );
287
 
288
  $this->add_control(
289
- 'hide_category_before_border',
290
  [
291
- 'label' => __( 'Hide category before border', 'woolentor-pro' ),
292
  'type' => Controls_Manager::SWITCHER,
293
  'selectors' => [
294
- '{{WRAPPER}} .ht-product-inner .ht-product-categories::before' => 'display: none !important;',
295
- '{{WRAPPER}} .ht-product-inner .ht-product-categories' => 'padding-left: 0 !important;',
296
  ],
297
  ]
298
  );
299
 
300
  $this->add_control(
301
- 'hide_product_ratting',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
302
  [
303
- 'label' => __( 'Hide Rating', 'woolentor' ),
304
  'type' => Controls_Manager::SWITCHER,
305
  'selectors' => [
306
- '{{WRAPPER}} .ht-product-inner .ht-product-ratting-wrap' => 'display: none !important;',
307
  ],
308
  ]
309
  );
310
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  $this->end_controls_section();
312
 
313
  // Product Action Button
@@ -350,7 +393,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
350
  $this->add_control(
351
  'action_button_show_on',
352
  [
353
- 'label' => __( 'Show on', 'woolentor' ),
354
  'type' => Controls_Manager::SELECT,
355
  'default' => 'normal',
356
  'options' => [
@@ -401,7 +444,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
401
  $this->add_control(
402
  'addtocart_button_txt',
403
  [
404
- 'label' => __( 'Show Add to Cart Button Text', 'woolentor' ),
405
  'type' => Controls_Manager::SWITCHER,
406
  ]
407
  );
@@ -435,6 +478,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
435
  [
436
  'label' => __( 'Arrows Color', 'woolentor' ),
437
  'type' => Controls_Manager::COLOR,
 
 
 
 
438
  'default' =>'#444444',
439
  'selectors' => [
440
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image .ht-product-image-slider .slick-arrow' => 'color: {{VALUE}} !important;',
@@ -450,6 +497,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
450
  [
451
  'label' => __( 'Dots Background Color', 'woolentor' ),
452
  'type' => Controls_Manager::COLOR,
 
 
 
 
453
  'default' =>'#cccccc',
454
  'selectors' => [
455
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image .ht-product-image-slider .slick-dots li button' => 'background-color: {{VALUE}} !important;',
@@ -465,6 +516,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
465
  [
466
  'label' => __( 'Dots Active Background Color', 'woolentor' ),
467
  'type' => Controls_Manager::COLOR,
 
 
 
 
468
  'condition'=>[
469
  'thumbnails_style'=>'2',
470
  ],
@@ -480,6 +535,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
480
  [
481
  'label' => __( 'Border Color', 'woolentor' ),
482
  'type' => Controls_Manager::COLOR,
 
 
 
 
483
  'default' =>'#737373',
484
  'selectors' => [
485
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image .ht-product-cus-tab-links li a' => 'border-color: {{VALUE}};',
@@ -495,6 +554,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
495
  [
496
  'label' => __( 'Active Border Color', 'woolentor' ),
497
  'type' => Controls_Manager::COLOR,
 
 
 
 
498
  'default' =>'#ECC87B',
499
  'selectors' => [
500
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image .ht-product-cus-tab-links li a.htactive' => 'border-color: {{VALUE}} !important;',
@@ -511,7 +574,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
511
  $this->start_controls_section(
512
  'woolentor-products-countdown-setting',
513
  [
514
- 'label' => esc_html__( 'Countdown Settings', 'woolentor' ),
515
  ]
516
  );
517
 
@@ -702,7 +765,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
702
  $this->add_control(
703
  'slautolay',
704
  [
705
- 'label' => esc_html__( 'Slider autoplay', 'woolentor' ),
706
  'type' => Controls_Manager::SWITCHER,
707
  'return_value' => 'yes',
708
  'separator' => 'before',
@@ -784,7 +847,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
784
  'sltablet_width',
785
  [
786
  'label' => __('Tablet Resolution', 'woolentor'),
787
- 'description' => __('The resolution to the tablet.', 'woolentor'),
788
  'type' => Controls_Manager::NUMBER,
789
  'default' => 750,
790
  ]
@@ -873,6 +936,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
873
  [
874
  'label' => __( 'Border Color', 'woolentor' ),
875
  'type' => Controls_Manager::COLOR,
 
 
 
 
876
  'default' => '#f1f1f1',
877
  'selectors' => [
878
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner' => 'border-color: {{VALUE}};',
@@ -915,6 +982,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
915
  [
916
  'label' => __( 'Background Color', 'woolentor' ),
917
  'type' => Controls_Manager::COLOR,
 
 
 
 
918
  'default' => woolentor_get_option( 'content_area_bg','woolentor_style_tabs', '#ffffff' ),
919
  'selectors' => [
920
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content' => 'background-color: {{VALUE}};',
@@ -945,6 +1016,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
945
  [
946
  'label' => __( 'Badge Color', 'woolentor' ),
947
  'type' => Controls_Manager::COLOR,
 
 
 
 
948
  'default' => woolentor_get_option( 'badge_color','woolentor_style_tabs', '#444444' ),
949
  'selectors' => [
950
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-label' => 'color: {{VALUE}};',
@@ -952,37 +1027,15 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
952
  ]
953
  );
954
 
955
- $this->add_control(
956
- 'product_badge_bg_color',
957
- [
958
- 'label' => __( 'Badge Background Color', 'woolentor-pro' ),
959
- 'type' => Controls_Manager::COLOR,
960
- 'selectors' => [
961
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-label' => 'background-color: {{VALUE}};',
962
- ],
963
- ]
964
- );
965
-
966
  $this->add_group_control(
967
  Group_Control_Typography::get_type(),
968
  [
969
  'name' => 'product_badge_typography',
 
970
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-label',
971
  ]
972
  );
973
 
974
- $this->add_responsive_control(
975
- 'product_badge_padding',
976
- [
977
- 'label' => __( 'Padding', 'woolentor-pro' ),
978
- 'type' => Controls_Manager::DIMENSIONS,
979
- 'size_units' => [ 'px', '%', 'em' ],
980
- 'selectors' => [
981
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-label' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
982
- ],
983
- ]
984
- );
985
-
986
  // Product Category
987
  $this->add_control(
988
  'product_category_heading',
@@ -997,6 +1050,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
997
  Group_Control_Typography::get_type(),
998
  [
999
  'name' => 'product_category_typography',
 
1000
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-categories a',
1001
  ]
1002
  );
@@ -1006,6 +1060,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1006
  [
1007
  'label' => __( 'Category Color', 'woolentor' ),
1008
  'type' => Controls_Manager::COLOR,
 
 
 
 
1009
  'default' => woolentor_get_option( 'category_color','woolentor_style_tabs', '#444444' ),
1010
  'selectors' => [
1011
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-categories a' => 'color: {{VALUE}};',
@@ -1019,6 +1077,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1019
  [
1020
  'label' => __( 'Category Hover Color', 'woolentor' ),
1021
  'type' => Controls_Manager::COLOR,
 
 
 
 
1022
  'default' => woolentor_get_option( 'category_hover_color','woolentor_style_tabs', '#dc9a0e' ),
1023
  'selectors' => [
1024
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-categories a:hover' => 'color: {{VALUE}};',
@@ -1052,6 +1114,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1052
  Group_Control_Typography::get_type(),
1053
  [
1054
  'name' => 'product_title_typography',
 
1055
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-title a',
1056
  ]
1057
  );
@@ -1061,6 +1124,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1061
  [
1062
  'label' => __( 'Title Color', 'woolentor' ),
1063
  'type' => Controls_Manager::COLOR,
 
 
 
 
1064
  'default' => woolentor_get_option( 'title_color','woolentor_style_tabs', '#444444' ),
1065
  'selectors' => [
1066
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-title a' => 'color: {{VALUE}};',
@@ -1073,6 +1140,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1073
  [
1074
  'label' => __( 'Title Hover Color', 'woolentor' ),
1075
  'type' => Controls_Manager::COLOR,
 
 
 
 
1076
  'default' => woolentor_get_option( 'title_hover_color','woolentor_style_tabs', '#dc9a0e' ),
1077
  'selectors' => [
1078
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-title a:hover' => 'color: {{VALUE}};',
@@ -1107,6 +1178,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1107
  [
1108
  'label' => __( 'Sale Price Color', 'woolentor' ),
1109
  'type' => Controls_Manager::COLOR,
 
 
 
 
1110
  'default' => woolentor_get_option( 'sale_price_color','woolentor_style_tabs', '#444444' ),
1111
  'selectors' => [
1112
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-price span' => 'color: {{VALUE}};',
@@ -1118,6 +1193,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1118
  Group_Control_Typography::get_type(),
1119
  [
1120
  'name' => 'product_sale_price_typography',
 
1121
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-price span',
1122
  ]
1123
  );
@@ -1127,6 +1203,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1127
  [
1128
  'label' => __( 'Regular Price Color', 'woolentor' ),
1129
  'type' => Controls_Manager::COLOR,
 
 
 
 
1130
  'separator' => 'before',
1131
  'default' => woolentor_get_option( 'regular_price_color','woolentor_style_tabs', '#444444' ),
1132
  'selectors' => [
@@ -1139,6 +1219,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1139
  Group_Control_Typography::get_type(),
1140
  [
1141
  'name' => 'product_regular_price_typography',
 
1142
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-price span del span',
1143
  ]
1144
  );
@@ -1170,9 +1251,13 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1170
  [
1171
  'label' => __( 'Empty Rating Color', 'woolentor' ),
1172
  'type' => Controls_Manager::COLOR,
 
 
 
 
1173
  'default' => woolentor_get_option( 'empty_rating_color','woolentor_style_tabs', '#aaaaaa' ),
1174
  'selectors' => [
1175
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting i.empty' => 'color: {{VALUE}};',
1176
  ],
1177
  ]
1178
  );
@@ -1182,6 +1267,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1182
  [
1183
  'label' => __( 'Rating Color', 'woolentor' ),
1184
  'type' => Controls_Manager::COLOR,
 
 
 
 
1185
  'default' => woolentor_get_option( 'rating_color','woolentor_style_tabs', '#dc9a0e' ),
1186
  'selectors' => [
1187
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting i' => 'color: {{VALUE}};',
@@ -1218,7 +1307,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1218
  'name' => 'product_action_button_background_color',
1219
  'label' => __( 'Background', 'woolentor' ),
1220
  'types' => [ 'classic', 'gradient' ],
1221
- 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul',
1222
  ]
1223
  );
1224
 
@@ -1227,7 +1316,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1227
  [
1228
  'name' => 'product_action_button_box_shadow',
1229
  'label' => __( 'Box Shadow', 'woolentor' ),
1230
- 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul',
1231
  ]
1232
  );
1233
 
@@ -1243,11 +1332,15 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1243
  $this->add_control(
1244
  'product_tooltip_color',
1245
  [
1246
- 'label' => __( 'Tooltip Color', 'woolentor' ),
1247
  'type' => Controls_Manager::COLOR,
 
 
 
 
1248
  'default' => woolentor_get_option( 'tooltip_color','woolentor_style_tabs', '#ffffff' ),
1249
  'selectors' => [
1250
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,{{WRAPPER}} span.woolentor-tip' => 'color: {{VALUE}};',
1251
  ],
1252
  ]
1253
  );
@@ -1258,7 +1351,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1258
  'name' => 'product_action_button_tooltip_background_color',
1259
  'label' => __( 'Background', 'woolentor' ),
1260
  'types' => [ 'classic', 'gradient' ],
1261
- 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li a .ht-product-action-tooltip,{{WRAPPER}} span.woolentor-tip',
1262
  ]
1263
  );
1264
 
@@ -1277,9 +1370,13 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1277
  [
1278
  'label' => __( 'Color', 'woolentor' ),
1279
  'type' => Controls_Manager::COLOR,
 
 
 
 
1280
  'default' => woolentor_get_option( 'btn_color','woolentor_style_tabs', '#000000' ),
1281
  'selectors' => [
1282
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li a' => 'color: {{VALUE}};',
1283
  ],
1284
  ]
1285
  );
@@ -1346,7 +1443,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1346
  'name' => 'product_action_button_normal_background_color',
1347
  'label' => __( 'Background', 'woolentor' ),
1348
  'types' => [ 'classic', 'gradient' ],
1349
- 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li',
1350
  ]
1351
  );
1352
 
@@ -1357,7 +1454,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1357
  'type' => Controls_Manager::DIMENSIONS,
1358
  'size_units' => [ 'px', '%', 'em' ],
1359
  'selectors' => [
1360
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1361
  ],
1362
  ]
1363
  );
@@ -1369,7 +1466,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1369
  'type' => Controls_Manager::DIMENSIONS,
1370
  'size_units' => [ 'px', '%', 'em' ],
1371
  'selectors' => [
1372
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1373
  ],
1374
  ]
1375
  );
@@ -1379,7 +1476,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1379
  [
1380
  'name' => 'product_action_button_normal_button_border',
1381
  'label' => __( 'Border', 'woolentor' ),
1382
- 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li',
1383
  ]
1384
  );
1385
 
@@ -1390,7 +1487,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1390
  'type' => Controls_Manager::DIMENSIONS,
1391
  'size_units' => [ 'px', '%', 'em' ],
1392
  'selectors' => [
1393
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1394
  ],
1395
  ]
1396
  );
@@ -1464,9 +1561,13 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1464
  [
1465
  'label' => __( 'Color', 'woolentor' ),
1466
  'type' => Controls_Manager::COLOR,
 
 
 
 
1467
  'default' => woolentor_get_option( 'btn_hover_color','woolentor_style_tabs', '#dc9a0e' ),
1468
  'selectors' => [
1469
- '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li:hover a' => 'color: {{VALUE}};',
1470
  '{{WRAPPER}} .ht-product-action .yith-wcwl-wishlistaddedbrowse a, .ht-product-action .yith-wcwl-wishlistexistsbrowse a' => 'color: {{VALUE}} !important;',
1471
  ],
1472
  ]
@@ -1478,7 +1579,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1478
  'name' => 'product_action_button_hover_background_color',
1479
  'label' => __( 'Background', 'woolentor' ),
1480
  'types' => [ 'classic', 'gradient' ],
1481
- 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li:hover',
1482
  ]
1483
  );
1484
 
@@ -1487,7 +1588,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1487
  [
1488
  'name' => 'product_action_button_hover_button_border',
1489
  'label' => __( 'Border', 'woolentor' ),
1490
- 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-action ul li:hover',
1491
  ]
1492
  );
1493
 
@@ -1501,7 +1602,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1501
  $this->start_controls_section(
1502
  'universal_product_counter_style_section',
1503
  [
1504
- 'label' => __( 'Offer Price Countdown', 'woolentor' ),
1505
  'tab' => Controls_Manager::TAB_STYLE,
1506
  'condition'=>[
1507
  'show_countdown'=>'yes',
@@ -1514,6 +1615,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1514
  [
1515
  'label' => __( 'Color', 'woolentor' ),
1516
  'type' => Controls_Manager::COLOR,
 
 
 
 
1517
  'default' => woolentor_get_option( 'counter_color','woolentor_style_tabs', '#ffffff' ),
1518
  'selectors' => [
1519
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-countdown-wrap .ht-product-countdown .cd-single .cd-single-inner h3' => 'color: {{VALUE}};',
@@ -1608,6 +1713,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1608
  [
1609
  'label' => __( 'Color', 'woolentor' ),
1610
  'type' => Controls_Manager::COLOR,
 
 
 
 
1611
  'default' =>'#dddddd',
1612
  'selectors' => [
1613
  '{{WRAPPER}} .product-slider .slick-arrow' => 'color: {{VALUE}};',
@@ -1620,6 +1729,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1620
  [
1621
  'label' => __( 'Background Color', 'woolentor' ),
1622
  'type' => Controls_Manager::COLOR,
 
 
 
 
1623
  'default' =>'#ffffff',
1624
  'selectors' => [
1625
  '{{WRAPPER}} .product-slider .slick-arrow' => 'background-color: {{VALUE}} !important;',
@@ -1699,6 +1812,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1699
  [
1700
  'label' => __( 'Background Color', 'woolentor' ),
1701
  'type' => Controls_Manager::COLOR,
 
 
 
 
1702
  'default' =>'#ffffff',
1703
  'selectors' => [
1704
  '{{WRAPPER}} .product-slider .slick-dots li button' => 'background-color: {{VALUE}} !important;',
@@ -1749,6 +1866,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1749
  [
1750
  'label' => __( 'Color', 'woolentor' ),
1751
  'type' => Controls_Manager::COLOR,
 
 
 
 
1752
  'default' =>'#23252a',
1753
  'selectors' => [
1754
  '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'color: {{VALUE}};',
@@ -1761,6 +1882,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1761
  [
1762
  'label' => __( 'Background', 'woolentor' ),
1763
  'type' => Controls_Manager::COLOR,
 
 
 
 
1764
  'default' =>'#ffffff',
1765
  'selectors' => [
1766
  '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'background-color: {{VALUE}} !important;',
@@ -1802,6 +1927,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1802
  [
1803
  'label' => __( 'Background Color', 'woolentor' ),
1804
  'type' => Controls_Manager::COLOR,
 
 
 
 
1805
  'default' =>'#282828',
1806
  'selectors' => [
1807
  '{{WRAPPER}} .product-slider .slick-dots li button:hover' => 'background-color: {{VALUE}} !important;',
@@ -1905,6 +2034,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1905
  Group_Control_Typography::get_type(),
1906
  [
1907
  'name' => 'tabmenutypography',
 
1908
  'selector' => '{{WRAPPER}} .ht-tab-menus li a',
1909
  ]
1910
  );
@@ -1914,6 +2044,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1914
  [
1915
  'label' => __( 'Color', 'woolentor' ),
1916
  'type' => Controls_Manager::COLOR,
 
 
 
 
1917
  'default' =>'#23252a',
1918
  'selectors' => [
1919
  '{{WRAPPER}} .ht-tab-menus li a' => 'color: {{VALUE}};',
@@ -1926,6 +2060,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1926
  [
1927
  'label' => __( 'Product tab menu background', 'woolentor' ),
1928
  'type' => Controls_Manager::COLOR,
 
 
 
 
1929
  'default' =>'#ffffff',
1930
  'selectors' => [
1931
  '{{WRAPPER}} .ht-tab-menus li a' => 'background-color: {{VALUE}} !important;',
@@ -1993,6 +2131,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
1993
  [
1994
  'label' => __( 'Color', 'woolentor' ),
1995
  'type' => Controls_Manager::COLOR,
 
 
 
 
1996
  'default' =>'#23252a',
1997
  'selectors' => [
1998
  '{{WRAPPER}} .ht-tab-menus li a:hover' => 'color: {{VALUE}};',
@@ -2006,6 +2148,10 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2006
  [
2007
  'label' => __( 'Product tab menu background', 'woolentor' ),
2008
  'type' => Controls_Manager::COLOR,
 
 
 
 
2009
  'default' =>'#ffffff',
2010
  'selectors' => [
2011
  '{{WRAPPER}} .ht-tab-menus li a:hover' => 'background-color: {{VALUE}} !important;',
@@ -2042,6 +2188,130 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2042
 
2043
  $this->end_controls_section(); // Tab option end
2044
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2045
 
2046
  }
2047
 
@@ -2056,39 +2326,84 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2056
  $tabuniqid = $this->get_id();
2057
  $columns = $this->get_settings_for_display('woolentor_product_grid_column');
2058
 
 
 
 
 
2059
  // Query Argument
2060
- $query_args = array(
2061
- 'per_page' => $per_page,
2062
- 'product_type' => $product_type,
2063
- 'product_ids' => $product_type === '' ? : $settings['woolentor_product_id'],
 
2064
  );
2065
 
2066
- // Category Wise
2067
- $product_cats = $settings['woolentor_product_grid_categories'];
2068
- if( is_array( $product_cats ) && count( $product_cats ) > 0 ){
2069
- $query_args['categories'] = $product_cats;
2070
- }
2071
 
2072
- /**
2073
- * Show by IDs
2074
- */
2075
- if( 'show_byid' == $product_type ){
2076
- $query_args['product_ids'] = $settings['woolentor_product_id'];
2077
- }elseif( 'show_byid_manually' == $product_type ){
2078
- $query_args['product_ids'] = explode( ',', $settings['woolentor_product_ids_manually'] );
2079
- }else{
2080
- $query_args['product_ids'] = array();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2081
  }
2082
 
2083
  // Custom Order
2084
  if( $custom_order_ck == 'yes' ){
2085
- $query_args['custom_order'] = array(
2086
- 'orderby' => $orderby,
2087
- 'order' => $order,
2088
- );
2089
  }
2090
 
2091
- $args = woolentor_product_query( $query_args );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2092
 
2093
  $products = new \WP_Query( $args );
2094
 
@@ -2204,8 +2519,6 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2204
  $this->add_render_attribute( 'action_btn_attr', 'class', 'woolentor-btn-text-cart' );
2205
  }
2206
 
2207
- $title_html_tag = woolentor_validate_html_tag( $settings['product_title_html_tag'] );
2208
-
2209
  ?>
2210
  <?php if ( $settings['product_layout_style'] == 'tab' ) { ?>
2211
  <div class="product-tab-list ht-text-center">
@@ -2386,20 +2699,19 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2386
  </a>
2387
  </li>
2388
  <?php
2389
- if( true === woolentor_has_wishlist_plugin() ){
2390
  echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
2391
  }
 
 
 
 
 
2392
  ?>
2393
  <?php
2394
- if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() ){
2395
  echo '<li>';
2396
- woolentor_compare_button(
2397
- array(
2398
- 'style'=>2,
2399
- 'btn_text'=>'<i class="sli sli-refresh"></i>',
2400
- 'btn_added_txt'=>'<i class="sli sli-check"></i>'
2401
- )
2402
- );
2403
  echo '</li>';
2404
  }
2405
  ?>
@@ -2413,7 +2725,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2413
  <div class="ht-product-content">
2414
  <div class="ht-product-content-inner">
2415
  <div class="ht-product-categories"><?php woolentor_get_product_category_list(); ?></div>
2416
- <?php echo sprintf( "<%s class='ht-product-title'><a href='%s'>%s</a></%s>", $title_html_tag, get_the_permalink(), get_the_title(), $title_html_tag ); ?>
2417
  <div class="ht-product-price"><?php woocommerce_template_loop_price();?></div>
2418
  <div class="ht-product-ratting-wrap"><?php echo woolentor_wc_get_rating_html(); ?></div>
2419
 
@@ -2427,20 +2739,19 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2427
  </a>
2428
  </li>
2429
  <?php
2430
- if( true === woolentor_has_wishlist_plugin() ){
2431
  echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
2432
  }
 
 
 
 
 
2433
  ?>
2434
  <?php
2435
- if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() ){
2436
  echo '<li>';
2437
- woolentor_compare_button(
2438
- array(
2439
- 'style'=>2,
2440
- 'btn_text'=>'<i class="sli sli-refresh"></i>',
2441
- 'btn_added_txt'=>'<i class="sli sli-check"></i>'
2442
- )
2443
- );
2444
  echo '</li>';
2445
  }
2446
  ?>
@@ -2449,6 +2760,12 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2449
  </div>
2450
  <?php endif; } ?>
2451
 
 
 
 
 
 
 
2452
  </div>
2453
  <?php
2454
  if( $settings['show_countdown'] == 'yes' && $settings['product_countdown_position'] == 'contentbottom' && $offer_end_date != '' ):
@@ -2504,7 +2821,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2504
 
2505
  <div class="ht-product-image-wrap">
2506
  <?php
2507
- if( class_exists('WooCommerce') ){
2508
  woolentor_custom_product_badge();
2509
  woolentor_sale_flash();
2510
  }
@@ -2569,20 +2886,19 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2569
  </a>
2570
  </li>
2571
  <?php
2572
- if( true === woolentor_has_wishlist_plugin() ){
2573
  echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
2574
  }
 
 
 
 
 
2575
  ?>
2576
  <?php
2577
- if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() ){
2578
  echo '<li>';
2579
- woolentor_compare_button(
2580
- array(
2581
- 'style'=>2,
2582
- 'btn_text'=>'<i class="sli sli-refresh"></i>',
2583
- 'btn_added_txt'=>'<i class="sli sli-check"></i>'
2584
- )
2585
- );
2586
  echo '</li>';
2587
  }
2588
  ?>
@@ -2596,7 +2912,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2596
  <div class="ht-product-content">
2597
  <div class="ht-product-content-inner">
2598
  <div class="ht-product-categories"><?php woolentor_get_product_category_list(); ?></div>
2599
- <?php echo sprintf( "<%s class='ht-product-title'><a href='%s'>%s</a></%s>", $title_html_tag, get_the_permalink(), get_the_title(), $title_html_tag ); ?>
2600
  <div class="ht-product-price"><?php woocommerce_template_loop_price();?></div>
2601
  <div class="ht-product-ratting-wrap"><?php echo woolentor_wc_get_rating_html(); ?></div>
2602
 
@@ -2610,20 +2926,19 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2610
  </a>
2611
  </li>
2612
  <?php
2613
- if( true === woolentor_has_wishlist_plugin() ){
2614
  echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
2615
  }
 
 
 
 
 
2616
  ?>
2617
  <?php
2618
- if( function_exists('woolentor_compare_button') && true === woolentor_exist_compare_plugin() ){
2619
  echo '<li>';
2620
- woolentor_compare_button(
2621
- array(
2622
- 'style'=>2,
2623
- 'btn_text'=>'<i class="sli sli-refresh"></i>',
2624
- 'btn_added_txt'=>'<i class="sli sli-check"></i>'
2625
- )
2626
- );
2627
  echo '</li>';
2628
  }
2629
  ?>
@@ -2631,6 +2946,11 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2631
  </ul>
2632
  </div>
2633
  <?php endif; } ?>
 
 
 
 
 
2634
  </div>
2635
  <?php
2636
  if( $settings['show_countdown'] == 'yes' && $settings['product_countdown_position'] == 'contentbottom' && $offer_end_date != '' ):
@@ -2655,7 +2975,7 @@ class Woolentor_Universal_Product_Layout_Widget extends Widget_Base {
2655
 
2656
  <?php if ( Plugin::instance()->editor->is_edit_mode() ) { ?>
2657
  <script>
2658
- ;jQuery(document).ready(function($) {
2659
  'use strict';
2660
  $(".ht-product-image-thumbnaisl-<?php echo $tabuniqid; ?>").slick({
2661
  dots: true,
1
  <?php
 
2
 
3
+ namespace Elementor;
 
 
4
 
5
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
6
 
27
  'htflexboxgrid',
28
  'font-awesome',
29
  'simple-line-icons',
 
30
  'slick',
31
  'woolentor-widgets',
32
  ];
110
  'sale' => esc_html__( 'Sale Products', 'woolentor' ),
111
  'top_rated' => esc_html__( 'Top Rated Products', 'woolentor' ),
112
  'mixed_order' => esc_html__( 'Random Products', 'woolentor' ),
113
+ 'show_byid' => esc_html__( 'Show By Id', 'woolentor' ),
114
  'show_byid_manually' => esc_html__( 'Add ID Manually', 'woolentor' ),
115
  ],
116
  ]
169
  $this->add_control(
170
  'woolentor_custom_order',
171
  [
172
+ 'label' => esc_html__( 'Custom order', 'woolentor' ),
173
  'type' => Controls_Manager::SWITCHER,
174
  'return_value' => 'yes',
175
  'default' => 'no',
179
  $this->add_control(
180
  'orderby',
181
  [
182
+ 'label' => esc_html__( 'Orderby', 'woolentor' ),
183
  'type' => Controls_Manager::SELECT,
184
  'default' => 'none',
185
  'options' => [
200
  $this->add_control(
201
  'order',
202
  [
203
+ 'label' => esc_html__( 'order', 'woolentor' ),
204
  'type' => Controls_Manager::SELECT,
205
  'default' => 'DESC',
206
  'options' => [
238
  ]
239
  );
240
 
 
 
 
 
 
 
 
 
 
 
241
  $this->add_control(
242
  'hide_product_title',
243
  [
244
+ 'label' => __( 'Title Hide', 'woolentor' ),
245
  'type' => Controls_Manager::SWITCHER,
246
  'selectors' => [
247
  '{{WRAPPER}} .ht-product-inner .ht-product-title' => 'display: none !important;',
252
  $this->add_control(
253
  'hide_product_price',
254
  [
255
+ 'label' => __( 'Price Hide', 'woolentor' ),
256
  'type' => Controls_Manager::SWITCHER,
257
  'selectors' => [
258
  '{{WRAPPER}} .ht-product-inner .ht-product-price' => 'display: none !important;',
263
  $this->add_control(
264
  'hide_product_category',
265
  [
266
+ 'label' => __( 'Category Hide', 'woolentor' ),
267
  'type' => Controls_Manager::SWITCHER,
268
  'selectors' => [
269
  '{{WRAPPER}} .ht-product-inner .ht-product-categories' => 'display: none !important;',
272
  );
273
 
274
  $this->add_control(
275
+ 'hide_product_ratting',
276
  [
277
+ 'label' => __( 'Ratting Hide', 'woolentor' ),
278
  'type' => Controls_Manager::SWITCHER,
279
  'selectors' => [
280
+ '{{WRAPPER}} .ht-product-inner .ht-product-ratting-wrap' => 'display: none !important;',
 
281
  ],
282
  ]
283
  );
284
 
285
  $this->add_control(
286
+ 'stock_progress_bar',
287
+ [
288
+ 'label' => __( 'Show Product Stock Progress Bar', 'woolentor-pro' ),
289
+ 'type' => Controls_Manager::SWITCHER,
290
+ ]
291
+ );
292
+
293
+ $this->end_controls_section();
294
+
295
+ $this->start_controls_section(
296
+ 'section_stock_progressbar',
297
+ [
298
+ 'label' => __( 'Stock Progressbar', 'woolentor-pro' ),
299
+ 'tab' => Controls_Manager::TAB_CONTENT,
300
+ 'condition'=>[
301
+ 'stock_progress_bar'=>'yes',
302
+ ],
303
+ ]
304
+ );
305
+
306
+ $this->add_control(
307
+ 'hide_order_counter',
308
  [
309
+ 'label' => __( 'Hide Order Counter', 'woolentor-pro' ),
310
  'type' => Controls_Manager::SWITCHER,
311
  'selectors' => [
312
+ '{{WRAPPER}} .wltotal-sold' => 'display: none !important;',
313
  ],
314
  ]
315
  );
316
 
317
+ $this->add_control(
318
+ 'hide_available_counter',
319
+ [
320
+ 'label' => __( 'Hide Available Counter', 'woolentor-pro' ),
321
+ 'type' => Controls_Manager::SWITCHER,
322
+ 'selectors' => [
323
+ '{{WRAPPER}} .wlcurrent-stock' => 'display: none !important;',
324
+ ],
325
+ ]
326
+ );
327
+
328
+ $this->add_control(
329
+ 'order_custom_text',
330
+ [
331
+ 'label' => __( 'Ordered Custom Text', 'woolentor-pro' ),
332
+ 'type' => Controls_Manager::TEXT,
333
+ 'placeholder' => __( 'Ordered', 'woolentor-pro' ),
334
+ 'condition' => [
335
+ 'hide_order_counter!' => 'yes',
336
+ ],
337
+ 'label_block' => true,
338
+ ]
339
+ );
340
+
341
+ $this->add_control(
342
+ 'available_custom_text',
343
+ [
344
+ 'label' => __( 'Available Custom Text', 'woolentor-pro' ),
345
+ 'type' => Controls_Manager::TEXT,
346
+ 'placeholder' => __( 'Items available', 'woolentor-pro' ),
347
+ 'condition' => [
348
+ 'hide_available_counter!' => 'yes',
349
+ ],
350
+ 'label_block' => true,
351
+ ]
352
+ );
353
+
354
  $this->end_controls_section();
355
 
356
  // Product Action Button
393
  $this->add_control(
394
  'action_button_show_on',
395
  [
396
+ 'label' => __( 'Show On', 'woolentor' ),
397
  'type' => Controls_Manager::SELECT,
398
  'default' => 'normal',
399
  'options' => [
444
  $this->add_control(
445
  'addtocart_button_txt',
446
  [
447
+ 'label' => __( 'Show Cart Button Text', 'woolentor' ),
448
  'type' => Controls_Manager::SWITCHER,
449
  ]
450
  );
478
  [
479
  'label' => __( 'Arrows Color', 'woolentor' ),
480
  'type' => Controls_Manager::COLOR,
481
+ 'scheme' => [
482
+ 'type' => Scheme_Color::get_type(),
483
+ 'value' => Scheme_Color::COLOR_1,
484
+ ],
485
  'default' =>'#444444',
486
  'selectors' => [
487
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image .ht-product-image-slider .slick-arrow' => 'color: {{VALUE}} !important;',
497
  [
498
  'label' => __( 'Dots Background Color', 'woolentor' ),
499
  'type' => Controls_Manager::COLOR,
500
+ 'scheme' => [
501
+ 'type' => Scheme_Color::get_type(),
502
+ 'value' => Scheme_Color::COLOR_1,
503
+ ],
504
  'default' =>'#cccccc',
505
  'selectors' => [
506
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image .ht-product-image-slider .slick-dots li button' => 'background-color: {{VALUE}} !important;',
516
  [
517
  'label' => __( 'Dots Active Background Color', 'woolentor' ),
518
  'type' => Controls_Manager::COLOR,
519
+ 'scheme' => [
520
+ 'type' => Scheme_Color::get_type(),
521
+ 'value' => Scheme_Color::COLOR_1,
522
+ ],
523
  'condition'=>[
524
  'thumbnails_style'=>'2',
525
  ],
535
  [
536
  'label' => __( 'Border Color', 'woolentor' ),
537
  'type' => Controls_Manager::COLOR,
538
+ 'scheme' => [
539
+ 'type' => Scheme_Color::get_type(),
540
+ 'value' => Scheme_Color::COLOR_1,
541
+ ],
542
  'default' =>'#737373',
543
  'selectors' => [
544
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image .ht-product-cus-tab-links li a' => 'border-color: {{VALUE}};',
554
  [
555
  'label' => __( 'Active Border Color', 'woolentor' ),
556
  'type' => Controls_Manager::COLOR,
557
+ 'scheme' => [
558
+ 'type' => Scheme_Color::get_type(),
559
+ 'value' => Scheme_Color::COLOR_1,
560
+ ],
561
  'default' =>'#ECC87B',
562
  'selectors' => [
563
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-image .ht-product-cus-tab-links li a.htactive' => 'border-color: {{VALUE}} !important;',
574
  $this->start_controls_section(
575
  'woolentor-products-countdown-setting',
576
  [
577
+ 'label' => esc_html__( 'Offer Price Counter Settings', 'woolentor' ),
578
  ]
579
  );
580
 
765
  $this->add_control(
766
  'slautolay',
767
  [
768
+ 'label' => esc_html__( 'Slider auto play', 'woolentor' ),
769
  'type' => Controls_Manager::SWITCHER,
770
  'return_value' => 'yes',
771
  'separator' => 'before',
847
  'sltablet_width',
848
  [
849
  'label' => __('Tablet Resolution', 'woolentor'),
850
+ 'description' => __('The resolution to tablet.', 'woolentor'),
851
  'type' => Controls_Manager::NUMBER,
852
  'default' => 750,
853
  ]
936
  [
937
  'label' => __( 'Border Color', 'woolentor' ),
938
  'type' => Controls_Manager::COLOR,
939
+ 'scheme' => [
940
+ 'type' => Scheme_Color::get_type(),
941
+ 'value' => Scheme_Color::COLOR_1,
942
+ ],
943
  'default' => '#f1f1f1',
944
  'selectors' => [
945
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner' => 'border-color: {{VALUE}};',
982
  [
983
  'label' => __( 'Background Color', 'woolentor' ),
984
  'type' => Controls_Manager::COLOR,
985
+ 'scheme' => [
986
+ 'type' => Scheme_Color::get_type(),
987
+ 'value' => Scheme_Color::COLOR_1,
988
+ ],
989
  'default' => woolentor_get_option( 'content_area_bg','woolentor_style_tabs', '#ffffff' ),
990
  'selectors' => [
991
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content' => 'background-color: {{VALUE}};',
1016
  [
1017
  'label' => __( 'Badge Color', 'woolentor' ),
1018
  'type' => Controls_Manager::COLOR,
1019
+ 'scheme' => [
1020
+ 'type' => Scheme_Color::get_type(),
1021
+ 'value' => Scheme_Color::COLOR_1,
1022
+ ],
1023
  'default' => woolentor_get_option( 'badge_color','woolentor_style_tabs', '#444444' ),
1024
  'selectors' => [
1025
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-label' => 'color: {{VALUE}};',
1027
  ]
1028
  );
1029
 
 
 
 
 
 
 
 
 
 
 
 
1030
  $this->add_group_control(
1031
  Group_Control_Typography::get_type(),
1032
  [
1033
  'name' => 'product_badge_typography',
1034
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1035
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-label',
1036
  ]
1037
  );
1038
 
 
 
 
 
 
 
 
 
 
 
 
 
1039
  // Product Category
1040
  $this->add_control(
1041
  'product_category_heading',
1050
  Group_Control_Typography::get_type(),
1051
  [
1052
  'name' => 'product_category_typography',
1053
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1054
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-categories a',
1055
  ]
1056
  );
1060
  [
1061
  'label' => __( 'Category Color', 'woolentor' ),
1062
  'type' => Controls_Manager::COLOR,
1063
+ 'scheme' => [
1064
+ 'type' => Scheme_Color::get_type(),
1065
+ 'value' => Scheme_Color::COLOR_1,
1066
+ ],
1067
  'default' => woolentor_get_option( 'category_color','woolentor_style_tabs', '#444444' ),
1068
  'selectors' => [
1069
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-categories a' => 'color: {{VALUE}};',
1077
  [
1078
  'label' => __( 'Category Hover Color', 'woolentor' ),
1079
  'type' => Controls_Manager::COLOR,
1080
+ 'scheme' => [
1081
+ 'type' => Scheme_Color::get_type(),
1082
+ 'value' => Scheme_Color::COLOR_1,
1083
+ ],
1084
  'default' => woolentor_get_option( 'category_hover_color','woolentor_style_tabs', '#dc9a0e' ),
1085
  'selectors' => [
1086
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-categories a:hover' => 'color: {{VALUE}};',
1114
  Group_Control_Typography::get_type(),
1115
  [
1116
  'name' => 'product_title_typography',
1117
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1118
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-title a',
1119
  ]
1120
  );
1124
  [
1125
  'label' => __( 'Title Color', 'woolentor' ),
1126
  'type' => Controls_Manager::COLOR,
1127
+ 'scheme' => [
1128
+ 'type' => Scheme_Color::get_type(),
1129
+ 'value' => Scheme_Color::COLOR_1,
1130
+ ],
1131
  'default' => woolentor_get_option( 'title_color','woolentor_style_tabs', '#444444' ),
1132
  'selectors' => [
1133
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-title a' => 'color: {{VALUE}};',
1140
  [
1141
  'label' => __( 'Title Hover Color', 'woolentor' ),
1142
  'type' => Controls_Manager::COLOR,
1143
+ 'scheme' => [
1144
+ 'type' => Scheme_Color::get_type(),
1145
+ 'value' => Scheme_Color::COLOR_1,
1146
+ ],
1147
  'default' => woolentor_get_option( 'title_hover_color','woolentor_style_tabs', '#dc9a0e' ),
1148
  'selectors' => [
1149
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-title a:hover' => 'color: {{VALUE}};',
1178
  [
1179
  'label' => __( 'Sale Price Color', 'woolentor' ),
1180
  'type' => Controls_Manager::COLOR,
1181
+ 'scheme' => [
1182
+ 'type' => Scheme_Color::get_type(),
1183
+ 'value' => Scheme_Color::COLOR_1,
1184
+ ],
1185
  'default' => woolentor_get_option( 'sale_price_color','woolentor_style_tabs', '#444444' ),
1186
  'selectors' => [
1187
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-price span' => 'color: {{VALUE}};',
1193
  Group_Control_Typography::get_type(),
1194
  [
1195
  'name' => 'product_sale_price_typography',
1196
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1197
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-price span',
1198
  ]
1199
  );
1203
  [
1204
  'label' => __( 'Regular Price Color', 'woolentor' ),
1205
  'type' => Controls_Manager::COLOR,
1206
+ 'scheme' => [
1207
+ 'type' => Scheme_Color::get_type(),
1208
+ 'value' => Scheme_Color::COLOR_1,
1209
+ ],
1210
  'separator' => 'before',
1211
  'default' => woolentor_get_option( 'regular_price_color','woolentor_style_tabs', '#444444' ),
1212
  'selectors' => [
1219
  Group_Control_Typography::get_type(),
1220
  [
1221
  'name' => 'product_regular_price_typography',
1222
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1223
  'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-price span del span',
1224
  ]
1225
  );
1251
  [
1252
  'label' => __( 'Empty Rating Color', 'woolentor' ),
1253
  'type' => Controls_Manager::COLOR,
1254
+ 'scheme' => [
1255
+ 'type' => Scheme_Color::get_type(),
1256
+ 'value' => Scheme_Color::COLOR_1,
1257
+ ],
1258
  'default' => woolentor_get_option( 'empty_rating_color','woolentor_style_tabs', '#aaaaaa' ),
1259
  'selectors' => [
1260
+ '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting i' => 'color: {{VALUE}};',
1261
  ],
1262
  ]
1263
  );
1267
  [
1268
  'label' => __( 'Rating Color', 'woolentor' ),
1269
  'type' => Controls_Manager::COLOR,
1270
+ 'scheme' => [
1271
+ 'type' => Scheme_Color::get_type(),
1272
+ 'value' => Scheme_Color::COLOR_1,
1273
+ ],
1274
  'default' => woolentor_get_option( 'rating_color','woolentor_style_tabs', '#dc9a0e' ),
1275
  'selectors' => [
1276
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-content .ht-product-content-inner .ht-product-ratting-wrap .ht-product-ratting .ht-product-user-ratting i' => 'color: {{VALUE}};',
1307
  'name' => 'product_action_button_background_color',
1308
  'label' => __( 'Background', 'woolentor' ),
1309
  'types' => [ 'classic', 'gradient' ],
1310
+ 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul',
1311
  ]
1312
  );
1313
 
1316
  [
1317
  'name' => 'product_action_button_box_shadow',
1318
  'label' => __( 'Box Shadow', 'woolentor' ),
1319
+ 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul',
1320
  ]
1321
  );
1322
 
1332
  $this->add_control(
1333
  'product_tooltip_color',
1334
  [
1335
+ 'label' => __( 'Tool Tip Color', 'woolentor' ),
1336
  'type' => Controls_Manager::COLOR,
1337
+ 'scheme' => [
1338
+ 'type' => Scheme_Color::get_type(),
1339
+ 'value' => Scheme_Color::COLOR_1,
1340
+ ],
1341
  'default' => woolentor_get_option( 'tooltip_color','woolentor_style_tabs', '#ffffff' ),
1342
  'selectors' => [
1343
+ '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li a .ht-product-action-tooltip,{{WRAPPER}} span.woolentor-tip' => 'color: {{VALUE}};',
1344
  ],
1345
  ]
1346
  );
1351
  'name' => 'product_action_button_tooltip_background_color',
1352
  'label' => __( 'Background', 'woolentor' ),
1353
  'types' => [ 'classic', 'gradient' ],
1354
+ 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li a .ht-product-action-tooltip,{{WRAPPER}} span.woolentor-tip',
1355
  ]
1356
  );
1357
 
1370
  [
1371
  'label' => __( 'Color', 'woolentor' ),
1372
  'type' => Controls_Manager::COLOR,
1373
+ 'scheme' => [
1374
+ 'type' => Scheme_Color::get_type(),
1375
+ 'value' => Scheme_Color::COLOR_1,
1376
+ ],
1377
  'default' => woolentor_get_option( 'btn_color','woolentor_style_tabs', '#000000' ),
1378
  'selectors' => [
1379
+ '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li a' => 'color: {{VALUE}};',
1380
  ],
1381
  ]
1382
  );
1443
  'name' => 'product_action_button_normal_background_color',
1444
  'label' => __( 'Background', 'woolentor' ),
1445
  'types' => [ 'classic', 'gradient' ],
1446
+ 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li',
1447
  ]
1448
  );
1449
 
1454
  'type' => Controls_Manager::DIMENSIONS,
1455
  'size_units' => [ 'px', '%', 'em' ],
1456
  'selectors' => [
1457
+ '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1458
  ],
1459
  ]
1460
  );
1466
  'type' => Controls_Manager::DIMENSIONS,
1467
  'size_units' => [ 'px', '%', 'em' ],
1468
  'selectors' => [
1469
+ '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1470
  ],
1471
  ]
1472
  );
1476
  [
1477
  'name' => 'product_action_button_normal_button_border',
1478
  'label' => __( 'Border', 'woolentor' ),
1479
+ 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li',
1480
  ]
1481
  );
1482
 
1487
  'type' => Controls_Manager::DIMENSIONS,
1488
  'size_units' => [ 'px', '%', 'em' ],
1489
  'selectors' => [
1490
+ '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1491
  ],
1492
  ]
1493
  );
1561
  [
1562
  'label' => __( 'Color', 'woolentor' ),
1563
  'type' => Controls_Manager::COLOR,
1564
+ 'scheme' => [
1565
+ 'type' => Scheme_Color::get_type(),
1566
+ 'value' => Scheme_Color::COLOR_1,
1567
+ ],
1568
  'default' => woolentor_get_option( 'btn_hover_color','woolentor_style_tabs', '#dc9a0e' ),
1569
  'selectors' => [
1570
+ '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li:hover a' => 'color: {{VALUE}};',
1571
  '{{WRAPPER}} .ht-product-action .yith-wcwl-wishlistaddedbrowse a, .ht-product-action .yith-wcwl-wishlistexistsbrowse a' => 'color: {{VALUE}} !important;',
1572
  ],
1573
  ]
1579
  'name' => 'product_action_button_hover_background_color',
1580
  'label' => __( 'Background', 'woolentor' ),
1581
  'types' => [ 'classic', 'gradient' ],
1582
+ 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li:hover',
1583
  ]
1584
  );
1585
 
1588
  [
1589
  'name' => 'product_action_button_hover_button_border',
1590
  'label' => __( 'Border', 'woolentor' ),
1591
+ 'selector' => '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-image-wrap .ht-product-action ul li:hover',
1592
  ]
1593
  );
1594
 
1602
  $this->start_controls_section(
1603
  'universal_product_counter_style_section',
1604
  [
1605
+ 'label' => __( 'Offer Price Counter', 'woolentor' ),
1606
  'tab' => Controls_Manager::TAB_STYLE,
1607
  'condition'=>[
1608
  'show_countdown'=>'yes',
1615
  [
1616
  'label' => __( 'Color', 'woolentor' ),
1617
  'type' => Controls_Manager::COLOR,
1618
+ 'scheme' => [
1619
+ 'type' => Scheme_Color::get_type(),
1620
+ 'value' => Scheme_Color::COLOR_1,
1621
+ ],
1622
  'default' => woolentor_get_option( 'counter_color','woolentor_style_tabs', '#ffffff' ),
1623
  'selectors' => [
1624
  '{{WRAPPER}} .ht-products .ht-product .ht-product-inner .ht-product-countdown-wrap .ht-product-countdown .cd-single .cd-single-inner h3' => 'color: {{VALUE}};',
1713
  [
1714
  'label' => __( 'Color', 'woolentor' ),
1715
  'type' => Controls_Manager::COLOR,
1716
+ 'scheme' => [
1717
+ 'type' => Scheme_Color::get_type(),
1718
+ 'value' => Scheme_Color::COLOR_1,
1719
+ ],
1720
  'default' =>'#dddddd',
1721
  'selectors' => [
1722
  '{{WRAPPER}} .product-slider .slick-arrow' => 'color: {{VALUE}};',
1729
  [
1730
  'label' => __( 'Background Color', 'woolentor' ),
1731
  'type' => Controls_Manager::COLOR,
1732
+ 'scheme' => [
1733
+ 'type' => Scheme_Color::get_type(),
1734
+ 'value' => Scheme_Color::COLOR_1,
1735
+ ],
1736
  'default' =>'#ffffff',
1737
  'selectors' => [
1738
  '{{WRAPPER}} .product-slider .slick-arrow' => 'background-color: {{VALUE}} !important;',
1812
  [
1813
  'label' => __( 'Background Color', 'woolentor' ),
1814
  'type' => Controls_Manager::COLOR,
1815
+ 'scheme' => [
1816
+ 'type' => Scheme_Color::get_type(),
1817
+ 'value' => Scheme_Color::COLOR_1,
1818
+ ],
1819
  'default' =>'#ffffff',
1820
  'selectors' => [
1821
  '{{WRAPPER}} .product-slider .slick-dots li button' => 'background-color: {{VALUE}} !important;',
1866
  [
1867
  'label' => __( 'Color', 'woolentor' ),
1868
  'type' => Controls_Manager::COLOR,
1869
+ 'scheme' => [
1870
+ 'type' => Scheme_Color::get_type(),
1871
+ 'value' => Scheme_Color::COLOR_1,
1872
+ ],
1873
  'default' =>'#23252a',
1874
  'selectors' => [
1875
  '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'color: {{VALUE}};',
1882
  [
1883
  'label' => __( 'Background', 'woolentor' ),
1884
  'type' => Controls_Manager::COLOR,
1885
+ 'scheme' => [
1886
+ 'type' => Scheme_Color::get_type(),
1887
+ 'value' => Scheme_Color::COLOR_1,
1888
+ ],
1889
  'default' =>'#ffffff',
1890
  'selectors' => [
1891
  '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'background-color: {{VALUE}} !important;',
1927
  [
1928
  'label' => __( 'Background Color', 'woolentor' ),
1929
  'type' => Controls_Manager::COLOR,
1930
+ 'scheme' => [
1931
+ 'type' => Scheme_Color::get_type(),
1932
+ 'value' => Scheme_Color::COLOR_1,
1933
+ ],
1934
  'default' =>'#282828',
1935
  'selectors' => [
1936
  '{{WRAPPER}} .product-slider .slick-dots li button:hover' => 'background-color: {{VALUE}} !important;',
2034
  Group_Control_Typography::get_type(),
2035
  [
2036
  'name' => 'tabmenutypography',
2037
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
2038
  'selector' => '{{WRAPPER}} .ht-tab-menus li a',
2039
  ]
2040
  );
2044
  [
2045
  'label' => __( 'Color', 'woolentor' ),
2046
  'type' => Controls_Manager::COLOR,
2047
+ 'scheme' => [
2048
+ 'type' => Scheme_Color::get_type(),
2049
+ 'value' => Scheme_Color::COLOR_1,
2050
+ ],
2051
  'default' =>'#23252a',
2052
  'selectors' => [
2053
  '{{WRAPPER}} .ht-tab-menus li a' => 'color: {{VALUE}};',
2060
  [
2061
  'label' => __( 'Product tab menu background', 'woolentor' ),
2062
  'type' => Controls_Manager::COLOR,
2063
+ 'scheme' => [
2064
+ 'type' => Scheme_Color::get_type(),
2065
+ 'value' => Scheme_Color::COLOR_1,
2066
+ ],
2067
  'default' =>'#ffffff',
2068
  'selectors' => [
2069
  '{{WRAPPER}} .ht-tab-menus li a' => 'background-color: {{VALUE}} !important;',
2131
  [
2132
  'label' => __( 'Color', 'woolentor' ),
2133
  'type' => Controls_Manager::COLOR,
2134
+ 'scheme' => [
2135
+ 'type' => Scheme_Color::get_type(),
2136
+ 'value' => Scheme_Color::COLOR_1,
2137
+ ],
2138
  'default' =>'#23252a',
2139
  'selectors' => [
2140
  '{{WRAPPER}} .ht-tab-menus li a:hover' => 'color: {{VALUE}};',
2148
  [
2149
  'label' => __( 'Product tab menu background', 'woolentor' ),
2150
  'type' => Controls_Manager::COLOR,
2151
+ 'scheme' => [
2152
+ 'type' => Scheme_Color::get_type(),
2153
+ 'value' => Scheme_Color::COLOR_1,
2154
+ ],
2155
  'default' =>'#ffffff',
2156
  'selectors' => [
2157
  '{{WRAPPER}} .ht-tab-menus li a:hover' => 'background-color: {{VALUE}} !important;',
2188
 
2189
  $this->end_controls_section(); // Tab option end
2190
 
2191
+ // Progressbar Style
2192
+ $this->start_controls_section(
2193
+ 'section_stock_progressbar_style',
2194
+ [
2195
+ 'label' => __( 'Stock Progressbar', 'woolentor-pro' ),
2196
+ 'tab' => Controls_Manager::TAB_STYLE,
2197
+ 'condition'=>[
2198
+ 'stock_progress_bar'=>'yes',
2199
+ ],
2200
+ ]
2201
+ );
2202
+
2203
+ $this->add_control(
2204
+ 'progressbar_heading',
2205
+ [
2206
+ 'label' => __( 'Progressbar', 'woolentor-pro' ),
2207
+ 'type' => Controls_Manager::HEADING,
2208
+ 'separator' => 'before',
2209
+ ]
2210
+ );
2211
+
2212
+ $this->add_control(
2213
+ 'progressbar_height',
2214
+ [
2215
+ 'label' => __( 'Height', 'woolentor-pro' ),
2216
+ 'type' => Controls_Manager::SLIDER,
2217
+ 'size_units' => [ 'px', '%' ],
2218
+ 'range' => [
2219
+ 'px' => [
2220
+ 'min' => 0,
2221
+ 'max' => 1000,
2222
+ 'step' => 1,
2223
+ ],
2224
+ '%' => [
2225
+ 'min' => 0,
2226
+ 'max' => 100,
2227
+ ],
2228
+ ],
2229
+ 'default' => [
2230
+ 'unit' => 'px',
2231
+ 'size' => 10,
2232
+ ],
2233
+ 'selectors' => [
2234
+ '{{WRAPPER}} .woolentor-stock-progress-bar .wlprogress-area' => 'height: {{SIZE}}{{UNIT}};',
2235
+ ],
2236
+ ]
2237
+ );
2238
+
2239
+ $this->add_control(
2240
+ 'progressbar_bg_color',
2241
+ [
2242
+ 'label' => __( 'Background Color', 'woolentor-pro' ),
2243
+ 'type' => Controls_Manager::COLOR,
2244
+ 'selectors' => [
2245
+ '{{WRAPPER}} .woolentor-stock-progress-bar .wlprogress-area' => 'background-color: {{VALUE}}',
2246
+ ],
2247
+ ]
2248
+ );
2249
+
2250
+ $this->add_control(
2251
+ 'progressbar_active_bg_color',
2252
+ [
2253
+ 'label' => __( 'Sell Progress Background Color', 'woolentor-pro' ),
2254
+ 'type' => Controls_Manager::COLOR,
2255
+ 'selectors' => [
2256
+ '{{WRAPPER}} .woolentor-stock-progress-bar .wlprogress-bar' => 'background-color: {{VALUE}}',
2257
+ ],
2258
+ ]
2259
+ );
2260
+
2261
+ $this->add_control(
2262
+ 'progressbar_area',
2263
+ [
2264
+ 'label' => __( 'Margin', 'woolentor-pro' ),
2265
+ 'type' => Controls_Manager::DIMENSIONS,
2266
+ 'size_units' => [ 'px', '%', 'em' ],
2267
+ 'selectors' => [
2268
+ '{{WRAPPER}} .woolentor-stock-progress-bar' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2269
+ ],
2270
+ ]
2271
+ );
2272
+
2273
+ $this->add_control(
2274
+ 'progressbar_order_heading',
2275
+ [
2276
+ 'label' => __( 'Order & Ability Counter', 'woolentor-pro' ),
2277
+ 'type' => Controls_Manager::HEADING,
2278
+ 'separator' => 'before',
2279
+ ]
2280
+ );
2281
+
2282
+ $this->add_group_control(
2283
+ Group_Control_Typography::get_type(),
2284
+ [
2285
+ 'name' => 'order_ability_typography',
2286
+ 'label' => __( 'Typography', 'woolentor-pro' ),
2287
+ 'selector' => '{{WRAPPER}} .woolentor-stock-progress-bar .wlstock-info',
2288
+ ]
2289
+ );
2290
+
2291
+ $this->add_control(
2292
+ 'order_ability_color',
2293
+ [
2294
+ 'label' => __( 'Label Color', 'woolentor-pro' ),
2295
+ 'type' => Controls_Manager::COLOR,
2296
+ 'selectors' => [
2297
+ '{{WRAPPER}} .woolentor-stock-progress-bar .wlstock-info' => 'color: {{VALUE}}',
2298
+ ],
2299
+ ]
2300
+ );
2301
+
2302
+ $this->add_control(
2303
+ 'counter_number_color',
2304
+ [
2305
+ 'label' => __( 'Counter Number Color', 'woolentor-pro' ),
2306
+ 'type' => Controls_Manager::COLOR,
2307
+ 'selectors' => [
2308
+ '{{WRAPPER}} .woolentor-stock-progress-bar .wlstock-info span' => 'color: {{VALUE}}',
2309
+ ],
2310
+ ]
2311
+ );
2312
+
2313
+ $this->end_controls_section();
2314
+
2315
 
2316
  }
2317
 
2326
  $tabuniqid = $this->get_id();
2327
  $columns = $this->get_settings_for_display('woolentor_product_grid_column');
2328
 
2329
+ // Stock Progress Bar data
2330
+ $order_text = $settings['order_custom_text'] ? $settings['order_custom_text'] : esc_html__('Ordered:','woolentor-pro');
2331
+ $available_text = $settings['available_custom_text'] ? $settings['available_custom_text'] : esc_html__( 'Items available:','woolentor-pro' );
2332
+
2333
  // Query Argument
2334
+ $args = array(
2335
+ 'post_type' => 'product',
2336
+ 'post_status' => 'publish',
2337
+ 'ignore_sticky_posts' => 1,
2338
+ 'posts_per_page' => $per_page,
2339
  );
2340
 
2341
+ switch( $product_type ){
 
 
 
 
2342
 
2343
+ case 'sale':
2344
+ $args['post__in'] = array_merge( array( 0 ), wc_get_product_ids_on_sale() );
2345
+ break;
2346
+
2347
+ case 'featured':
2348
+ $args['tax_query'][] = array(
2349
+ 'taxonomy' => 'product_visibility',
2350
+ 'field' => 'name',
2351
+ 'terms' => 'featured',
2352
+ 'operator' => 'IN',
2353
+ );
2354
+ break;
2355
+
2356
+ case 'best_selling':
2357
+ $args['meta_key'] = 'total_sales';
2358
+ $args['orderby'] = 'meta_value_num';
2359
+ $args['order'] = 'desc';
2360
+ break;
2361
+
2362
+ case 'top_rated':
2363
+ $args['meta_key'] = '_wc_average_rating';
2364
+ $args['orderby'] = 'meta_value_num';
2365
+ $args['order'] = 'desc';
2366
+ break;
2367
+
2368
+ case 'mixed_order':
2369
+ $args['orderby'] = 'rand';
2370
+ break;
2371
+
2372
+ case 'show_byid':
2373
+ $args['post__in'] = $settings['woolentor_product_id'];
2374
+ break;
2375
+
2376
+ case 'show_byid_manually':
2377
+ $args['post__in'] = explode( ',', $settings['woolentor_product_ids_manually'] );
2378
+ break;
2379
+
2380
+ default: /* Recent */
2381
+ $args['orderby'] = 'date';
2382
+ $args['order'] = 'desc';
2383
+ break;
2384
  }
2385
 
2386
  // Custom Order
2387
  if( $custom_order_ck == 'yes' ){
2388
+ $args['orderby'] = $orderby;
2389
+ $args['order'] = $order;
 
 
2390
  }
2391
 
2392
+ $get_product_categories = $settings['woolentor_product_grid_categories']; // get custom field value
2393
+ $product_cats = str_replace(' ', '', $get_product_categories);
2394
+ if ( "0" != $get_product_categories) {
2395
+ if( is_array($product_cats) && count($product_cats) > 0 ){
2396
+ $field_name = is_numeric($product_cats[0])?'term_id':'slug';
2397
+ $args['tax_query'][] = array(
2398
+ array(
2399
+ 'taxonomy' => 'product_cat',
2400
+ 'terms' => $product_cats,
2401
+ 'field' => $field_name,
2402
+ 'include_children' => false
2403
+ )
2404
+ );
2405
+ }
2406
+ }
2407
 
2408
  $products = new \WP_Query( $args );
2409
 
2519
  $this->add_render_attribute( 'action_btn_attr', 'class', 'woolentor-btn-text-cart' );
2520
  }
2521
 
 
 
2522
  ?>
2523
  <?php if ( $settings['product_layout_style'] == 'tab' ) { ?>
2524
  <div class="product-tab-list ht-text-center">
2699
  </a>
2700
  </li>
2701
  <?php
2702
+ if ( class_exists( 'YITH_WCWL' ) ) {
2703
  echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
2704
  }
2705
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
2706
+ echo '<li>';
2707
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
2708
+ echo '</li>';
2709
+ }
2710
  ?>
2711
  <?php
2712
+ if( function_exists('woolentor_compare_button') && class_exists('YITH_Woocompare_Frontend') ){
2713
  echo '<li>';
2714
+ woolentor_compare_button(2);
 
 
 
 
 
 
2715
  echo '</li>';
2716
  }
2717
  ?>
2725
  <div class="ht-product-content">
2726
  <div class="ht-product-content-inner">
2727
  <div class="ht-product-categories"><?php woolentor_get_product_category_list(); ?></div>
2728
+ <h4 class="ht-product-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
2729
  <div class="ht-product-price"><?php woocommerce_template_loop_price();?></div>
2730
  <div class="ht-product-ratting-wrap"><?php echo woolentor_wc_get_rating_html(); ?></div>
2731
 
2739
  </a>
2740
  </li>
2741
  <?php
2742
+ if ( class_exists( 'YITH_WCWL' ) ) {
2743
  echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
2744
  }
2745
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
2746
+ echo '<li>';
2747
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
2748
+ echo '</li>';
2749
+ }
2750
  ?>
2751
  <?php
2752
+ if( function_exists('woolentor_compare_button') && class_exists('YITH_Woocompare_Frontend') ){
2753
  echo '<li>';
2754
+ woolentor_compare_button(2);
 
 
 
 
 
 
2755
  echo '</li>';
2756
  }
2757
  ?>
2760
  </div>
2761
  <?php endif; } ?>
2762
 
2763
+ <?php
2764
+ if( $settings['stock_progress_bar'] == 'yes'){
2765
+ woolentor_stock_status( $order_text, $available_text, get_the_ID() );
2766
+ }
2767
+ ?>
2768
+
2769
  </div>
2770
  <?php
2771
  if( $settings['show_countdown'] == 'yes' && $settings['product_countdown_position'] == 'contentbottom' && $offer_end_date != '' ):
2821
 
2822
  <div class="ht-product-image-wrap">
2823
  <?php
2824
+ if( class_exists('WooCommerce') ){
2825
  woolentor_custom_product_badge();
2826
  woolentor_sale_flash();
2827
  }
2886
  </a>
2887
  </li>
2888
  <?php
2889
+ if ( class_exists( 'YITH_WCWL' ) ) {
2890
  echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
2891
  }
2892
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
2893
+ echo '<li>';
2894
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
2895
+ echo '</li>';
2896
+ }
2897
  ?>
2898
  <?php
2899
+ if( function_exists('woolentor_compare_button') && class_exists('YITH_Woocompare_Frontend') ){
2900
  echo '<li>';
2901
+ woolentor_compare_button(2);
 
 
 
 
 
 
2902
  echo '</li>';
2903
  }
2904
  ?>
2912
  <div class="ht-product-content">
2913
  <div class="ht-product-content-inner">
2914
  <div class="ht-product-categories"><?php woolentor_get_product_category_list(); ?></div>
2915
+ <h4 class="ht-product-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
2916
  <div class="ht-product-price"><?php woocommerce_template_loop_price();?></div>
2917
  <div class="ht-product-ratting-wrap"><?php echo woolentor_wc_get_rating_html(); ?></div>
2918
 
2926
  </a>
2927
  </li>
2928
  <?php
2929
+ if ( class_exists( 'YITH_WCWL' ) ) {
2930
  echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
2931
  }
2932
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
2933
+ echo '<li>';
2934
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
2935
+ echo '</li>';
2936
+ }
2937
  ?>
2938
  <?php
2939
+ if( function_exists('woolentor_compare_button') && class_exists('YITH_Woocompare_Frontend') ){
2940
  echo '<li>';
2941
+ woolentor_compare_button(2);
 
 
 
 
 
 
2942
  echo '</li>';
2943
  }
2944
  ?>
2946
  </ul>
2947
  </div>
2948
  <?php endif; } ?>
2949
+ <?php
2950
+ if( $settings['stock_progress_bar'] == 'yes'){
2951
+ woolentor_stock_status( $order_text, $available_text, get_the_ID() );
2952
+ }
2953
+ ?>
2954
  </div>
2955
  <?php
2956
  if( $settings['show_countdown'] == 'yes' && $settings['product_countdown_position'] == 'contentbottom' && $offer_end_date != '' ):
2975
 
2976
  <?php if ( Plugin::instance()->editor->is_edit_mode() ) { ?>
2977
  <script>
2978
+ jQuery(document).ready(function($) {
2979
  'use strict';
2980
  $(".ht-product-image-thumbnaisl-<?php echo $tabuniqid; ?>").slick({
2981
  dots: true,
includes/addons/wb_archive_product.php CHANGED
@@ -1,10 +1,6 @@
1
  <?php
2
  namespace Elementor;
3
 
4
- // Elementor Classes
5
- use \Elementor\Core\Schemes\Color as Scheme_Color;
6
- use \Elementor\Core\Schemes\Typography as Scheme_Typography;
7
-
8
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
9
 
10
  class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
@@ -49,7 +45,7 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
49
  [
50
  'label' => __( 'Columns', 'woolentor' ),
51
  'type' => Controls_Manager::NUMBER,
52
- 'prefix_class' => 'woolentorducts-columns%s-',
53
  'min' => 1,
54
  'max' => 12,
55
  'default' => 4,
@@ -325,6 +321,10 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
325
  [
326
  'label' => __( 'Color', 'woolentor' ),
327
  'type' => Controls_Manager::COLOR,
 
 
 
 
328
  'selectors' => [
329
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .woocommerce-loop-product__title' => 'color: {{VALUE}}',
330
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .woocommerce-loop-product__title' => 'color: {{VALUE}} !important',
@@ -336,6 +336,7 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
336
  Group_Control_Typography::get_type(),
337
  [
338
  'name' => 'product_title_typography',
 
339
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .woocommerce-loop-product__title',
340
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .woocommerce-loop-product__title',
341
  ]
@@ -382,6 +383,10 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
382
  [
383
  'label' => __( 'Color', 'woolentor' ),
384
  'type' => Controls_Manager::COLOR,
 
 
 
 
385
  'selectors' => [
386
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .woocommerce-loop-product__title:hover' => 'color: {{VALUE}}',
387
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .woocommerce-loop-product__title:hover' => 'color: {{VALUE}} !important',
@@ -417,6 +422,10 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
417
  [
418
  'label' => __( 'Color', 'woolentor' ),
419
  'type' => Controls_Manager::COLOR,
 
 
 
 
420
  'selectors' => [
421
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price' => 'color: {{VALUE}}',
422
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price' => 'color: {{VALUE}} !important',
@@ -424,7 +433,6 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
424
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price ins' => 'color: {{VALUE}} !important',
425
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price ins .amount' => 'color: {{VALUE}}',
426
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price ins .amount' => 'color: {{VALUE}} !important',
427
- '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price .amount' => 'color: {{VALUE}} !important',
428
  ],
429
  ]
430
  );
@@ -433,6 +441,7 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
433
  Group_Control_Typography::get_type(),
434
  [
435
  'name' => 'product_price_typography',
 
436
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price,{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price',
437
  ]
438
  );
@@ -452,10 +461,14 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
452
  [
453
  'label' => __( 'Color', 'woolentor' ),
454
  'type' => Controls_Manager::COLOR,
 
 
 
 
455
  'selectors' => [
456
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price del' => 'color: {{VALUE}}',
457
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price del' => 'color: {{VALUE}}',
458
- '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price del .amount' => 'color: {{VALUE}} !important',
459
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price del .amount' => 'color: {{VALUE}} !important',
460
  ],
461
  ]
@@ -465,6 +478,7 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
465
  Group_Control_Typography::get_type(),
466
  [
467
  'name' => 'product_regular_price_typography',
 
468
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price del .amount, {{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price del, {{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price del',
469
  ]
470
  );
@@ -483,7 +497,7 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
483
  $this->add_control(
484
  'product_rating_color',
485
  [
486
- 'label' => __( 'Rating Star Color', 'woolentor' ),
487
  'type' => Controls_Manager::COLOR,
488
  'selectors' => [
489
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .star-rating' => 'color: {{VALUE}}',
@@ -495,7 +509,7 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
495
  $this->add_control(
496
  'product_empty_rating_color',
497
  [
498
- 'label' => __( 'Empty Rating Star Color', 'woolentor' ),
499
  'type' => Controls_Manager::COLOR,
500
  'selectors' => [
501
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .star-rating::before' => 'color: {{VALUE}}',
@@ -600,6 +614,7 @@ class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
600
  Group_Control_Typography::get_type(),
601
  [
602
  'name' => 'atc_button_typography',
 
603
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .button,{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .button',
604
  ]
605
  );
1
  <?php
2
  namespace Elementor;
3
 
 
 
 
 
4
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
 
6
  class Woolentor_Elementor_Widget_Archive_Product extends Widget_Base {
45
  [
46
  'label' => __( 'Columns', 'woolentor' ),
47
  'type' => Controls_Manager::NUMBER,
48
+ 'prefix_class' => 'woolentorproducts-columns%s-',
49
  'min' => 1,
50
  'max' => 12,
51
  'default' => 4,
321
  [
322
  'label' => __( 'Color', 'woolentor' ),
323
  'type' => Controls_Manager::COLOR,
324
+ 'scheme' => [
325
+ 'type' => Scheme_Color::get_type(),
326
+ 'value' => Scheme_Color::COLOR_1,
327
+ ],
328
  'selectors' => [
329
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .woocommerce-loop-product__title' => 'color: {{VALUE}}',
330
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .woocommerce-loop-product__title' => 'color: {{VALUE}} !important',
336
  Group_Control_Typography::get_type(),
337
  [
338
  'name' => 'product_title_typography',
339
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
340
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .woocommerce-loop-product__title',
341
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .woocommerce-loop-product__title',
342
  ]
383
  [
384
  'label' => __( 'Color', 'woolentor' ),
385
  'type' => Controls_Manager::COLOR,
386
+ 'scheme' => [
387
+ 'type' => Scheme_Color::get_type(),
388
+ 'value' => Scheme_Color::COLOR_1,
389
+ ],
390
  'selectors' => [
391
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .woocommerce-loop-product__title:hover' => 'color: {{VALUE}}',
392
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .woocommerce-loop-product__title:hover' => 'color: {{VALUE}} !important',
422
  [
423
  'label' => __( 'Color', 'woolentor' ),
424
  'type' => Controls_Manager::COLOR,
425
+ 'scheme' => [
426
+ 'type' => Scheme_Color::get_type(),
427
+ 'value' => Scheme_Color::COLOR_1,
428
+ ],
429
  'selectors' => [
430
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price' => 'color: {{VALUE}}',
431
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price' => 'color: {{VALUE}} !important',
433
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price ins' => 'color: {{VALUE}} !important',
434
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price ins .amount' => 'color: {{VALUE}}',
435
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price ins .amount' => 'color: {{VALUE}} !important',
 
436
  ],
437
  ]
438
  );
441
  Group_Control_Typography::get_type(),
442
  [
443
  'name' => 'product_price_typography',
444
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
445
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price,{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price',
446
  ]
447
  );
461
  [
462
  'label' => __( 'Color', 'woolentor' ),
463
  'type' => Controls_Manager::COLOR,
464
+ 'scheme' => [
465
+ 'type' => Scheme_Color::get_type(),
466
+ 'value' => Scheme_Color::COLOR_1,
467
+ ],
468
  'selectors' => [
469
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price del' => 'color: {{VALUE}}',
470
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price del' => 'color: {{VALUE}}',
471
+ '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price del .amount' => 'color: {{VALUE}} !important',
472
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price del .amount' => 'color: {{VALUE}} !important',
473
  ],
474
  ]
478
  Group_Control_Typography::get_type(),
479
  [
480
  'name' => 'product_regular_price_typography',
481
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
482
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price del .amount, {{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .price del, {{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .price del',
483
  ]
484
  );
497
  $this->add_control(
498
  'product_rating_color',
499
  [
500
+ 'label' => __( 'Rating Start Color', 'woolentor' ),
501
  'type' => Controls_Manager::COLOR,
502
  'selectors' => [
503
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .star-rating' => 'color: {{VALUE}}',
509
  $this->add_control(
510
  'product_empty_rating_color',
511
  [
512
+ 'label' => __( 'Empty Rating Start Color', 'woolentor' ),
513
  'type' => Controls_Manager::COLOR,
514
  'selectors' => [
515
  '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .star-rating::before' => 'color: {{VALUE}}',
614
  Group_Control_Typography::get_type(),
615
  [
616
  'name' => 'atc_button_typography',
617
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
618
  'selector' => '{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons ul.products li.product .button,{{WRAPPER}}.elementor-widget-woolentor-product-archive-addons .button',
619
  ]
620
  );
includes/addons/wb_customer_review.php DELETED
@@ -1,737 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Customer_Review_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wl-customer-veview';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: Customer Review', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-comments';
18
- }
19
-
20
- public function get_categories() {
21
- return array( 'woolentor-addons' );
22
- }
23
-
24
- public function get_style_depends(){
25
- return [
26
- 'woolentor-widgets',
27
- ];
28
- }
29
-
30
- public function get_keywords(){
31
- return ['review','customer','product review','customer review'];
32
- }
33
-
34
- protected function _register_controls() {
35
-
36
- $this->start_controls_section(
37
- 'review_content',
38
- [
39
- 'label' => __( 'Review', 'woolentor' ),
40
- ]
41
- );
42
-
43
- $this->add_control(
44
- 'review_layout',
45
- [
46
- 'label' => __( 'Style', 'woolentor' ),
47
- 'type' => Controls_Manager::SELECT,
48
- 'default' => '1',
49
- 'options' => [
50
- '1' => __( 'Style One', 'woolentor' ),
51
- '2' => __( 'Style Two', 'woolentor' ),
52
- '3' => __( 'Style Three', 'woolentor' ),
53
- '4' => __( 'Style Four', 'woolentor' ),
54
- ],
55
- ]
56
- );
57
-
58
- $this->add_control(
59
- 'review_type',
60
- [
61
- 'label' => __( 'Review Type', 'woolentor' ),
62
- 'type' => Controls_Manager::SELECT,
63
- 'default' => 'custom',
64
- 'options' => [
65
- 'custom' => __( 'Custom', 'woolentor' ),
66
- ],
67
- 'description' => sprintf( __( 'Product Wise Rating/Review Display is available in WooLentor Pro. <a href="%s" target="_blank">Purchase WooLentor Pro</a>', 'woolentor' ), esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?reviewwidget' ) ),
68
- ]
69
- );
70
-
71
- $repeater = new Repeater();
72
-
73
- $repeater->add_control(
74
- 'client_name',
75
- [
76
- 'label' => __( 'Name', 'woolentor' ),
77
- 'type' => Controls_Manager::TEXT,
78
- 'default' => __('Carolina Monntoya','woolentor'),
79
- ]
80
- );
81
-
82
- $repeater->add_control(
83
- 'client_designation',
84
- [
85
- 'label' => __( 'Designation', 'woolentor' ),
86
- 'type' => Controls_Manager::TEXT,
87
- 'default' => __('Managing Director','woolentor'),
88
- ]
89
- );
90
-
91
- $repeater->add_control(
92
- 'client_rating',
93
- [
94
- 'label' => __( 'Client Rating', 'woolentor' ),
95
- 'type' => Controls_Manager::NUMBER,
96
- 'min' => 1,
97
- 'max' => 5,
98
- 'step' => 1,
99
- ]
100
- );
101
-
102
- $repeater->add_control(
103
- 'client_image',
104
- [
105
- 'label' => __( 'Image', 'woolentor' ),
106
- 'type' => Controls_Manager::MEDIA,
107
- ]
108
- );
109
-
110
- $repeater->add_group_control(
111
- Group_Control_Image_Size::get_type(),
112
- [
113
- 'name' => 'client_imagesize',
114
- 'default' => 'large',
115
- 'separator' => 'none',
116
- ]
117
- );
118
-
119
- $repeater->add_control(
120
- 'client_say',
121
- [
122
- 'label' => __( 'Client Say', 'woolentor' ),
123
- 'type' => Controls_Manager::TEXTAREA,
124
- 'default' => __('Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.','woolentor'),
125
- ]
126
- );
127
-
128
- $this->add_control(
129
- 'review_list',
130
- [
131
- 'type' => Controls_Manager::REPEATER,
132
- 'condition'=>[
133
- 'review_type' => 'custom',
134
- ],
135
- 'fields' => $repeater->get_controls(),
136
- 'default' => [
137
-
138
- [
139
- 'client_name' => __('Carolina Monntoya','woolentor'),
140
- 'client_designation' => __( 'Managing Director','woolentor' ),
141
- 'client_rating'=>'5',
142
- 'client_say' => __( 'Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', 'woolentor' ),
143
- ],
144
-
145
- [
146
- 'client_name' => __('Peter Rose','woolentor'),
147
- 'client_designation' => __( 'Manager','woolentor' ),
148
- 'client_rating'=>'5',
149
- 'client_say' => __( 'Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', 'woolentor' ),
150
- ],
151
-
152
- [
153
- 'client_name' => __('Gerald Gilbert','woolentor'),
154
- 'client_designation' => __( 'Developer','woolentor' ),
155
- 'client_rating'=>'5',
156
- 'client_say' => __( 'Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', 'woolentor' ),
157
- ],
158
- ],
159
- 'title_field' => '{{{ client_name }}}',
160
- ]
161
- );
162
-
163
- $this->end_controls_section();
164
-
165
- // Options
166
- $this->start_controls_section(
167
- 'review_option',
168
- [
169
- 'label' => __( 'Option', 'woolentor' ),
170
- ]
171
- );
172
-
173
- $this->add_responsive_control(
174
- 'column',
175
- [
176
- 'label' => esc_html__( 'Columns', 'woolentor' ),
177
- 'type' => Controls_Manager::SELECT,
178
- 'default' => '3',
179
- 'options' => [
180
- '1' => esc_html__( 'One', 'woolentor' ),
181
- '2' => esc_html__( 'Two', 'woolentor' ),
182
- '3' => esc_html__( 'Three', 'woolentor' ),
183
- '4' => esc_html__( 'Four', 'woolentor' ),
184
- '5' => esc_html__( 'Five', 'woolentor' ),
185
- '6' => esc_html__( 'Six', 'woolentor' ),
186
- '7' => esc_html__( 'Seven', 'woolentor' ),
187
- '8' => esc_html__( 'Eight', 'woolentor' ),
188
- '9' => esc_html__( 'Nine', 'woolentor' ),
189
- '10'=> esc_html__( 'Ten', 'woolentor' ),
190
- ],
191
- 'label_block' => true,
192
- 'prefix_class' => 'wl-columns%s-',
193
- ]
194
- );
195
-
196
- $this->add_control(
197
- 'no_gutters',
198
- [
199
- 'label' => esc_html__( 'No Gutters', 'woolentor' ),
200
- 'type' => Controls_Manager::SWITCHER,
201
- 'label_on' => esc_html__( 'Yes', 'woolentor' ),
202
- 'label_off' => esc_html__( 'No', 'woolentor' ),
203
- 'return_value' => 'yes',
204
- 'default' => 'no',
205
- ]
206
- );
207
-
208
- $this->add_responsive_control(
209
- 'item_space',
210
- [
211
- 'label' => esc_html__( 'Space', 'woolentor' ),
212
- 'type' => Controls_Manager::SLIDER,
213
- 'size_units' => [ 'px', '%' ],
214
- 'range' => [
215
- 'px' => [
216
- 'min' => 0,
217
- 'max' => 1000,
218
- 'step' => 1,
219
- ],
220
- '%' => [
221
- 'min' => 0,
222
- 'max' => 100,
223
- ],
224
- ],
225
- 'default' => [
226
- 'unit' => 'px',
227
- 'size' => 15,
228
- ],
229
- 'condition'=>[
230
- 'no_gutters!'=>'yes',
231
- ],
232
- 'selectors' => [
233
- '{{WRAPPER}} .wl-row > [class*="col-"]' => 'padding: 0 {{SIZE}}{{UNIT}};',
234
- ],
235
- ]
236
- );
237
-
238
- $this->add_responsive_control(
239
- 'item_bottom_space',
240
- [
241
- 'label' => esc_html__( 'Bottom Space', 'woolentor' ),
242
- 'type' => Controls_Manager::SLIDER,
243
- 'size_units' => [ 'px', '%' ],
244
- 'range' => [
245
- 'px' => [
246
- 'min' => 0,
247
- 'max' => 1000,
248
- 'step' => 1,
249
- ],
250
- '%' => [
251
- 'min' => 0,
252
- 'max' => 100,
253
- ],
254
- ],
255
- 'default' => [
256
- 'unit' => 'px',
257
- 'size' => 30,
258
- ],
259
- 'condition'=>[
260
- 'no_gutters!'=>'yes',
261
- ],
262
- 'selectors' => [
263
- '{{WRAPPER}} .wl-row > [class*="col-"]' => 'margin-bottom:{{SIZE}}{{UNIT}};',
264
- ],
265
- ]
266
- );
267
-
268
- $this->end_controls_section();
269
-
270
- // Style style start
271
- $this->start_controls_section(
272
- 'testimonial_area_style',
273
- [
274
- 'label' => __( 'Area', 'woolentor' ),
275
- 'tab' => Controls_Manager::TAB_STYLE,
276
- ]
277
- );
278
-
279
- $this->add_responsive_control(
280
- 'testimonial_content_align',
281
- [
282
- 'label' => __( 'Alignment', 'woolentor' ),
283
- 'type' => Controls_Manager::CHOOSE,
284
- 'options' => [
285
- 'left' => [
286
- 'title' => __( 'Left', 'woolentor' ),
287
- 'icon' => 'fa fa-align-left',
288
- ],
289
- 'center' => [
290
- 'title' => __( 'Center', 'woolentor' ),
291
- 'icon' => 'fa fa-align-center',
292
- ],
293
- 'right' => [
294
- 'title' => __( 'Right', 'woolentor' ),
295
- 'icon' => 'fa fa-align-right',
296
- ],
297
- ],
298
- 'selectors' => [
299
- '{{WRAPPER}} .wl-customer-testimonal' => 'text-align: {{VALUE}};',
300
- ],
301
- 'prefix_class' => 'wl-customer-align%s-',
302
- 'separator' =>'before',
303
- ]
304
- );
305
-
306
- $this->add_responsive_control(
307
- 'testimonial_area_padding',
308
- [
309
- 'label' => __( 'Padding', 'woolentor' ),
310
- 'type' => Controls_Manager::DIMENSIONS,
311
- 'size_units' => [ 'px', '%', 'em' ],
312
- 'selectors' => [
313
- '{{WRAPPER}} .wl-customer-testimonal' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
314
- ],
315
- 'separator' =>'before',
316
- ]
317
- );
318
-
319
- $this->add_group_control(
320
- Group_Control_Background::get_type(),
321
- [
322
- 'name' => 'testimonial_area_background',
323
- 'label' => __( 'Background', 'woolentor' ),
324
- 'types' => [ 'classic', 'gradient' ],
325
- 'selector' => '{{WRAPPER}} .wl-customer-testimonal',
326
- ]
327
- );
328
-
329
- $this->add_group_control(
330
- Group_Control_Border::get_type(),
331
- [
332
- 'name' => 'testimonial_area_border',
333
- 'label' => __( 'Border', 'woolentor' ),
334
- 'selector' => '{{WRAPPER}} .wl-customer-testimonal',
335
- ]
336
- );
337
-
338
- $this->add_responsive_control(
339
- 'testimonial_area_border_radius',
340
- [
341
- 'label' => __( 'Border Radius', 'woolentor' ),
342
- 'type' => Controls_Manager::DIMENSIONS,
343
- 'size_units' => [ 'px', '%', 'em' ],
344
- 'selectors' => [
345
- '{{WRAPPER}} .wl-customer-testimonal' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
346
- ],
347
- 'separator' =>'before',
348
- ]
349
- );
350
-
351
- $this->end_controls_section();
352
-
353
- // Style image style start
354
- $this->start_controls_section(
355
- 'testimonial_image_style',
356
- [
357
- 'label' => __( 'Image', 'woolentor' ),
358
- 'tab' => Controls_Manager::TAB_STYLE,
359
- ]
360
- );
361
-
362
- $this->add_group_control(
363
- Group_Control_Border::get_type(),
364
- [
365
- 'name' => 'testimonial_image_border',
366
- 'label' => __( 'Border', 'woolentor' ),
367
- 'selector' => '{{WRAPPER}} .wl-customer-testimonal img',
368
- ]
369
- );
370
-
371
- $this->add_responsive_control(
372
- 'testimonial_image_border_radius',
373
- [
374
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
375
- 'type' => Controls_Manager::DIMENSIONS,
376
- 'selectors' => [
377
- '{{WRAPPER}} .wl-customer-testimonal img' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
378
- ],
379
- ]
380
- );
381
-
382
- $this->end_controls_section(); // Style Testimonial image style end
383
-
384
- // Style Testimonial name style start
385
- $this->start_controls_section(
386
- 'testimonial_name_style',
387
- [
388
- 'label' => __( 'Name', 'woolentor' ),
389
- 'tab' => Controls_Manager::TAB_STYLE,
390
- ]
391
- );
392
-
393
- $this->add_control(
394
- 'testimonial_name_color',
395
- [
396
- 'label' => __( 'Color', 'woolentor' ),
397
- 'type' => Controls_Manager::COLOR,
398
- 'selectors' => [
399
- '{{WRAPPER}} .wl-customer-testimonal .clint-info h4' => 'color: {{VALUE}};',
400
- '{{WRAPPER}} .wlb-review-style-2 .wl-customer-testimonal .clint-info h4:before' => 'background-color: {{VALUE}};',
401
- ],
402
- ]
403
- );
404
-
405
- $this->add_group_control(
406
- Group_Control_Typography::get_type(),
407
- [
408
- 'name' => 'testimonial_name_typography',
409
- 'selector' => '{{WRAPPER}} .wl-customer-testimonal .clint-info h4',
410
- ]
411
- );
412
-
413
- $this->add_responsive_control(
414
- 'testimonial_name_margin',
415
- [
416
- 'label' => __( 'Margin', 'woolentor' ),
417
- 'type' => Controls_Manager::DIMENSIONS,
418
- 'size_units' => [ 'px', '%', 'em' ],
419
- 'selectors' => [
420
- '{{WRAPPER}} .wl-customer-testimonal .clint-info h4' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
421
- ],
422
- 'separator' =>'before',
423
- ]
424
- );
425
-
426
- $this->add_responsive_control(
427
- 'testimonial_name_padding',
428
- [
429
- 'label' => __( 'Padding', 'woolentor' ),
430
- 'type' => Controls_Manager::DIMENSIONS,
431
- 'size_units' => [ 'px', '%', 'em' ],
432
- 'selectors' => [
433
- '{{WRAPPER}} .wl-customer-testimonal .clint-info h4' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
434
- ],
435
- 'separator' =>'before',
436
- ]
437
- );
438
-
439
- $this->end_controls_section(); // Style Testimonial name style end
440
-
441
- // Style Testimonial designation style start
442
- $this->start_controls_section(
443
- 'testimonial_designation_style',
444
- [
445
- 'label' => __( 'Designation', 'woolentor' ),
446
- 'tab' => Controls_Manager::TAB_STYLE,
447
- ]
448
- );
449
-
450
- $this->add_control(
451
- 'testimonial_designation_color',
452
- [
453
- 'label' => __( 'Color', 'woolentor' ),
454
- 'type' => Controls_Manager::COLOR,
455
- 'selectors' => [
456
- '{{WRAPPER}} .wl-customer-testimonal .clint-info span' => 'color: {{VALUE}};',
457
- ],
458
- ]
459
- );
460
-
461
- $this->add_group_control(
462
- Group_Control_Typography::get_type(),
463
- [
464
- 'name' => 'testimonial_designation_typography',
465
- 'selector' => '{{WRAPPER}} .wl-customer-testimonal .clint-info span',
466
- ]
467
- );
468
-
469
- $this->add_responsive_control(
470
- 'testimonial_designation_margin',
471
- [
472
- 'label' => __( 'Margin', 'woolentor' ),
473
- 'type' => Controls_Manager::DIMENSIONS,
474
- 'size_units' => [ 'px', '%', 'em' ],
475
- 'selectors' => [
476
- '{{WRAPPER}} .wl-customer-testimonal .clint-info span' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
477
- ],
478
- 'separator' =>'before',
479
- ]
480
- );
481
-
482
- $this->add_responsive_control(
483
- 'testimonial_designation_padding',
484
- [
485
- 'label' => __( 'Padding', 'woolentor' ),
486
- 'type' => Controls_Manager::DIMENSIONS,
487
- 'size_units' => [ 'px', '%', 'em' ],
488
- 'selectors' => [
489
- '{{WRAPPER}} .wl-customer-testimonal .clint-info span' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
490
- ],
491
- 'separator' =>'before',
492
- ]
493
- );
494
-
495
- $this->end_controls_section(); // Style Testimonial designation style end
496
-
497
- // Style Testimonial designation style start
498
- $this->start_controls_section(
499
- 'testimonial_clientsay_style',
500
- [
501
- 'label' => __( 'Client say', 'woolentor' ),
502
- 'tab' => Controls_Manager::TAB_STYLE,
503
- ]
504
- );
505
-
506
- $this->add_control(
507
- 'testimonial_clientsay_color',
508
- [
509
- 'label' => __( 'Color', 'woolentor' ),
510
- 'type' => Controls_Manager::COLOR,
511
- 'selectors' => [
512
- '{{WRAPPER}} .wl-customer-testimonal p' => 'color: {{VALUE}};',
513
- ],
514
- ]
515
- );
516
-
517
- $this->add_group_control(
518
- Group_Control_Typography::get_type(),
519
- [
520
- 'name' => 'testimonial_clientsay_typography',
521
- 'selector' => '{{WRAPPER}} .wl-customer-testimonal p',
522
- ]
523
- );
524
-
525
- $this->add_responsive_control(
526
- 'testimonial_clientsay_margin',
527
- [
528
- 'label' => __( 'Margin', 'woolentor' ),
529
- 'type' => Controls_Manager::DIMENSIONS,
530
- 'size_units' => [ 'px', '%', 'em' ],
531
- 'selectors' => [
532
- '{{WRAPPER}} .wl-customer-testimonal p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
533
- ],
534
- 'separator' =>'before',
535
- ]
536
- );
537
-
538
- $this->add_responsive_control(
539
- 'testimonial_clientsay_padding',
540
- [
541
- 'label' => __( 'Padding', 'woolentor' ),
542
- 'type' => Controls_Manager::DIMENSIONS,
543
- 'size_units' => [ 'px', '%', 'em' ],
544
- 'selectors' => [
545
- '{{WRAPPER}} .wl-customer-testimonal p' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
546
- ],
547
- 'separator' =>'before',
548
- ]
549
- );
550
-
551
- $this->end_controls_section(); // Style Testimonial designation style end
552
-
553
- // Style Testimonial designation style start
554
- $this->start_controls_section(
555
- 'testimonial_clientrating_style',
556
- [
557
- 'label' => __( 'Rating', 'woolentor' ),
558
- 'tab' => Controls_Manager::TAB_STYLE,
559
- ]
560
- );
561
- $this->add_control(
562
- 'testimonial_clientrating_color',
563
- [
564
- 'label' => __( 'Color', 'woolentor' ),
565
- 'type' => Controls_Manager::COLOR,
566
- 'selectors' => [
567
- '{{WRAPPER}} .wl-customer-testimonal .clint-info .rating' => 'color: {{VALUE}};',
568
- ],
569
- ]
570
- );
571
-
572
- $this->end_controls_section(); // Style Testimonial designation style end
573
-
574
- }
575
-
576
-
577
- protected function render( $instance = [] ) {
578
-
579
- $settings = $this->get_settings_for_display();
580
- $column = $this->get_settings_for_display('column');
581
-
582
- $this->add_render_attribute( 'review_area_attr', 'class', 'wl-customer-review wlb-review-style-'.$settings['review_layout'] );
583
-
584
- $collumval = 'wl-col-6';
585
- if( $column !='' ){
586
- $collumval = 'wl-col-'.$column;
587
- }
588
-
589
- // Generate review
590
- $review_list = [];
591
- if( $settings['review_type'] === 'custom' ){
592
- foreach ( $settings['review_list'] as $review ){
593
- $review_list[] = array(
594
- 'image' => Group_Control_Image_Size::get_attachment_image_html( $review, 'client_imagesize', 'client_image' ),
595
- 'name' => $review['client_name'],
596
- 'designation' => $review['client_designation'],
597
- 'ratting' => $review['client_rating'],
598
- 'message' => $review['client_say'],
599
- );
600
- }
601
- }
602
-
603
- echo '<div '.$this->get_render_attribute_string( 'review_area_attr' ).'>';
604
- echo '<div class="wl-row '.( $settings['no_gutters'] === 'yes' ? 'wlno-gutters' : '' ).'">';
605
- ?>
606
- <?php foreach ( $review_list as $review ): ?>
607
- <div class="<?php echo esc_attr( esc_attr( $collumval ) ); ?>">
608
-
609
- <?php if( $settings['review_layout'] == 2 || $settings['review_layout'] == 3 ): ?>
610
-
611
- <div class="wl-customer-testimonal">
612
- <?php
613
- if( $review['image'] ){
614
- echo $review['image'];
615
- }
616
- ?>
617
- <div class="content">
618
- <?php
619
- if( !empty($review['message']) ){
620
- echo '<p>'.esc_html__( $review['message'],'woolentor' ).'</p>';
621
- }
622
- ?>
623
- <div class="clint-info">
624
- <?php
625
- if( !empty( $review['name'] ) ){
626
- echo '<h4>'.esc_html__( $review['name'],'woolentor' ).'</h4>';
627
- }
628
- if( !empty( $review['designation'] ) ){
629
- echo '<span>'.esc_html__( $review['designation'],'woolentor' ).'</span>';
630
- }
631
-
632
- // Rating
633
- if( !empty( $review['ratting'] ) ){
634
- $this->ratting( $review['ratting'] );
635
- }
636
- ?>
637
- </div>
638
- </div>
639
- </div>
640
-
641
- <?php elseif( $settings['review_layout'] == 4 ): ?>
642
- <div class="wl-customer-testimonal">
643
- <div class="content">
644
- <?php
645
- if( !empty($review['message']) ){
646
- echo '<p>'.esc_html__( $review['message'],'woolentor' ).'</p>';
647
- }
648
- ?>
649
- <div class="triangle"></div>
650
- </div>
651
- <div class="clint-info">
652
- <?php
653
- if( $review['image'] ){
654
- echo $review['image'];
655
- }
656
-
657
- if( !empty( $review['name'] ) ){
658
- echo '<h4>'.esc_html__( $review['name'],'woolentor' ).'</h4>';
659
- }
660
-
661
- if( !empty( $review['designation'] ) ){
662
- echo '<span>'.esc_html__( $review['designation'],'woolentor' ).'</span>';
663
- }
664
-
665
- // Rating
666
- if( !empty( $review['ratting'] ) ){
667
- $this->ratting( $review['ratting'] );
668
- }
669
-
670
- ?>
671
- </div>
672
- </div>
673
-
674
- <?php else:?>
675
- <div class="wl-customer-testimonal">
676
- <div class="content">
677
- <?php
678
- if( $review['image'] ){
679
- echo $review['image'];
680
- }
681
- ?>
682
- <div class="clint-info">
683
- <?php
684
- if( !empty( $review['name'] ) ){
685
- echo '<h4>'.esc_html__( $review['name'],'woolentor' ).'</h4>';
686
- }
687
- if( !empty( $review['designation'] ) ){
688
- echo '<span>'.esc_html__( $review['designation'],'woolentor' ).'</span>';
689
- }
690
-
691
- // Rating
692
- if( !empty( $review['ratting'] ) ){
693
- $this->ratting( $review['ratting'] );
694
- }
695
-
696
- ?>
697
- </div>
698
- </div>
699
- <?php
700
- if( !empty($review['message']) ){
701
- echo '<p>'.esc_html__( $review['message'],'woolentor' ).'</p>';
702
- }
703
- ?>
704
- </div>
705
- <?php endif; ?>
706
-
707
- </div>
708
- <?php endforeach;
709
- echo '</div></div>';
710
-
711
-
712
- }
713
-
714
- public function ratting( $ratting_num ){
715
- if( !empty( $ratting_num ) ){
716
- $rating = $ratting_num;
717
- $rating_whole = floor( $ratting_num );
718
- $rating_fraction = $rating - $rating_whole;
719
- echo '<ul class="rating">';
720
- for($i = 1; $i <= 5; $i++){
721
- if( $i <= $rating_whole ){
722
- echo '<li><i class="fas fa-star"></i></li>';
723
- } else {
724
- if( $rating_fraction != 0 ){
725
- echo '<li><i class="fas fa-star-half-alt"></i></li>';
726
- $rating_fraction = 0;
727
- } else {
728
- echo '<li><i class="far fa-star empty"></i></li>';
729
- }
730
- }
731
- }
732
- echo '</ul>';
733
- }
734
- }
735
-
736
- }
737
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Customer_Review_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wb_ever_compare_table.php DELETED
@@ -1,205 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_EverCompare_Table_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wb-evercompare-table';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: EverCompare', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-table';
18
- }
19
-
20
- public function get_categories() {
21
- return array( 'woolentor-addons' );
22
- }
23
-
24
- public function get_style_depends(){
25
- return [
26
- 'evercompare-frontend',
27
- 'woolentor-widgets',
28
- ];
29
- }
30
-
31
- public function get_script_depends(){
32
- return ['evercompare-frontend'];
33
- }
34
-
35
- public function get_keywords(){
36
- return ['compare','product compare','ever compare'];
37
- }
38
-
39
- protected function _register_controls() {
40
-
41
- // Content
42
- $this->start_controls_section(
43
- 'evercompare_content',
44
- [
45
- 'label' => __( 'EverCompare', 'woolentor' ),
46
- ]
47
- );
48
-
49
- $this->add_control(
50
- 'empty_table_text',
51
- [
52
- 'label' => __( 'Empty table text', 'woolentor' ),
53
- 'type' => Controls_Manager::TEXT,
54
- 'label_block'=>true,
55
- ]
56
- );
57
-
58
- $this->end_controls_section();
59
-
60
- // Heading Style
61
- $this->start_controls_section(
62
- 'heading_style_section',
63
- [
64
- 'label' => __( 'Heading', 'woolentor' ),
65
- 'tab' => Controls_Manager::TAB_STYLE,
66
- ]
67
- );
68
-
69
- $this->add_control(
70
- 'heading_color',
71
- [
72
- 'label' => __( 'Heading Color', 'woolentor' ),
73
- 'type' => Controls_Manager::COLOR,
74
- 'selectors' => [
75
- '{{WRAPPER}} .htcolumn-field-name' => 'color: {{VALUE}}',
76
- ],
77
- ]
78
- );
79
-
80
- $this->add_group_control(
81
- \Elementor\Group_Control_Typography::get_type(),
82
- [
83
- 'name' => 'heading_typography',
84
- 'label' => __( 'Typography', 'woolentor' ),
85
- 'selector' => '{{WRAPPER}} .htcolumn-field-name',
86
- ]
87
- );
88
-
89
- $this->add_group_control(
90
- Group_Control_Background::get_type(),
91
- [
92
- 'name' => 'heading_background',
93
- 'label' => __( 'Even Heading Background', 'woolentor' ),
94
- 'types' => [ 'classic', 'gradient' ],
95
- 'selector' => '{{WRAPPER}} .htcompare-row:nth-child(2n) .htcompare-col',
96
- 'exclude' =>['image'],
97
- 'fields_options'=>[
98
- 'background'=>[
99
- 'label'=>__( 'Even Heading Background', 'woolentor' )
100
- ]
101
- ]
102
- ]
103
- );
104
-
105
- $this->add_group_control(
106
- Group_Control_Background::get_type(),
107
- [
108
- 'name' => 'heading_background_odd',
109
- 'label' => __( 'Odd Heading Background', 'woolentor' ),
110
- 'types' => [ 'classic', 'gradient' ],
111
- 'selector' => '{{WRAPPER}} .htcompare-row:nth-child(2n+1) .htcompare-col',
112
- 'exclude' =>['image'],
113
- 'fields_options'=>[
114
- 'background'=>[
115
- 'label'=>__( 'Odd Heading Background', 'woolentor' )
116
- ]
117
- ]
118
- ]
119
- );
120
-
121
- $this->end_controls_section();
122
-
123
- // Content Style
124
- $this->start_controls_section(
125
- 'content_style_section',
126
- [
127
- 'label' => __( 'Content', 'woolentor' ),
128
- 'tab' => Controls_Manager::TAB_STYLE,
129
- ]
130
- );
131
- $this->add_control(
132
- 'content_color',
133
- [
134
- 'label' => __( 'Content Color', 'woolentor' ),
135
- 'type' => Controls_Manager::COLOR,
136
- 'selectors' => [
137
- '{{WRAPPER}} .htcolumn-value' => 'color: {{VALUE}}',
138
- ],
139
- ]
140
- );
141
-
142
- $this->add_control(
143
- 'content_link_color',
144
- [
145
- 'label' => __( 'Content Link Color', 'woolentor' ),
146
- 'type' => Controls_Manager::COLOR,
147
- 'selectors' => [
148
- '{{WRAPPER}} .htcolumn-value a' => 'color: {{VALUE}}',
149
- ],
150
- ]
151
- );
152
-
153
- $this->add_control(
154
- 'cart_btn_color',
155
- [
156
- 'label' => __( 'Cart Button Color', 'woolentor' ),
157
- 'type' => Controls_Manager::COLOR,
158
- 'selectors' => [
159
- '{{WRAPPER}} .htcolumn-value a.htcompare-cart-button' => 'color: {{VALUE}}',
160
- ],
161
- ]
162
- );
163
-
164
- $this->add_group_control(
165
- Group_Control_Background::get_type(),
166
- [
167
- 'name' => 'cart_btn_background',
168
- 'label' => __( 'Cart Button Background', 'woolentor' ),
169
- 'types' => [ 'classic', 'gradient' ],
170
- 'selector' => '{{WRAPPER}} .htcolumn-value a.htcompare-cart-button',
171
- 'exclude' =>['image'],
172
- 'fields_options'=>[
173
- 'background'=>[
174
- 'label'=>__( 'Cart Button Background', 'woolentor' )
175
- ]
176
- ]
177
- ]
178
- );
179
-
180
- $this->add_control(
181
- 'border_color',
182
- [
183
- 'label' => __( 'Border Color', 'woolentor' ),
184
- 'type' => Controls_Manager::COLOR,
185
- 'selectors' => [
186
- '{{WRAPPER}} .htcompare-col' => 'border-color: {{VALUE}}',
187
- ],
188
- ]
189
- );
190
-
191
- $this->end_controls_section();
192
-
193
- }
194
-
195
- protected function render( $instance = [] ) {
196
- $settings = $this->get_settings_for_display();
197
-
198
- $short_code_attributes = [
199
- 'empty_compare_text' => $settings['empty_table_text'],
200
- ];
201
- echo woolentor_do_shortcode( 'evercompare_table', $short_code_attributes );
202
- }
203
-
204
- }
205
- Plugin::instance()->widgets_manager->register_widget_type( new WL_EverCompare_Table_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wb_image_marker.php DELETED
@@ -1,440 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Image_Marker_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wl-image-marker';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: Image Marker', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-post';
18
- }
19
-
20
- public function get_categories() {
21
- return array( 'woolentor-addons' );
22
- }
23
-
24
- public function get_style_depends(){
25
- return [
26
- 'woolentor-widgets',
27
- ];
28
- }
29
-
30
- public function get_keywords(){
31
- return ['image marker','marker','product indicator'];
32
- }
33
-
34
- protected function _register_controls() {
35
-
36
- $this->start_controls_section(
37
- 'image_marker_image_section',
38
- [
39
- 'label' => __( 'Image', 'woolentor' ),
40
- ]
41
- );
42
-
43
- $this->add_group_control(
44
- Group_Control_Background::get_type(),
45
- [
46
- 'name' => 'marker_bg_background',
47
- 'label' => __( 'Background', 'woolentor' ),
48
- 'types' => [ 'classic', 'gradient', 'video' ],
49
- 'selector' => '{{WRAPPER}} .wlb-marker-wrapper',
50
- ]
51
- );
52
-
53
- $this->add_control(
54
- 'marker_bg_opacity_color',
55
- [
56
- 'label' => __( 'Opacity Color', 'woolentor' ),
57
- 'selectors' => [
58
- '{{WRAPPER}} .wlb-marker-wrapper:before' => 'background-color: {{VALUE}}',
59
- ],
60
- 'condition'=>[
61
- 'marker_bg_background_image[id]!'=>'',
62
- ]
63
- ]
64
- );
65
-
66
- $this->end_controls_section(); // Marker Image Content section
67
-
68
- // Marker Content section
69
- $this->start_controls_section(
70
- 'image_marker_content_section',
71
- [
72
- 'label' => __( 'Marker', 'woolentor' ),
73
- ]
74
- );
75
- $this->add_control(
76
- 'marker_style',
77
- [
78
- 'label' => __( 'Style', 'woolentor' ),
79
- 'type' => Controls_Manager::SELECT,
80
- 'default' => '1',
81
- 'options' => [
82
- '1' => __( 'Style One', 'woolentor' ),
83
- '2' => __( 'Style Two', 'woolentor' ),
84
- '3' => __( 'Style Three', 'woolentor' ),
85
- '4' => __( 'Style Four', 'woolentor' ),
86
- '5' => __( 'Style Five', 'woolentor' ),
87
- ],
88
- ]
89
- );
90
-
91
- $repeater = new Repeater();
92
-
93
- $repeater->add_control(
94
- 'marker_title',
95
- [
96
- 'label' => __( 'Marker Title', 'woolentor' ),
97
- 'type' => Controls_Manager::TEXT,
98
- 'default' => __( 'Marker #1', 'woolentor' ),
99
- ]
100
- );
101
-
102
- $repeater->add_control(
103
- 'marker_content',
104
- [
105
- 'label' => __( 'Marker Content', 'woolentor' ),
106
- 'type' => Controls_Manager::TEXTAREA,
107
- 'default' => __( 'Lorem ipsum pisaci volupt atem accusa saes ntisdumtiu loperm asaerks.', 'woolentor' ),
108
- ]
109
- );
110
-
111
- $repeater->add_control(
112
- 'marker_x_position',
113
- [
114
- 'label' => __( 'X Position', 'woolentor' ),
115
- 'type' => Controls_Manager::SLIDER,
116
- 'default' => [
117
- 'size' => 66,
118
- 'unit' => '%',
119
- ],
120
- 'range' => [
121
- '%' => [
122
- 'min' => 0,
123
- 'max' => 100,
124
- ],
125
- ],
126
- 'selectors' => [
127
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer{{CURRENT_ITEM}}' => 'left: {{SIZE}}{{UNIT}};',
128
- ],
129
- ]
130
- );
131
-
132
- $repeater->add_control(
133
- 'marker_y_position',
134
- [
135
- 'label' => __( 'Y Position', 'woolentor' ),
136
- 'type' => Controls_Manager::SLIDER,
137
- 'default' => [
138
- 'size' => 15,
139
- 'unit' => '%',
140
- ],
141
- 'range' => [
142
- '%' => [
143
- 'min' => 0,
144
- 'max' => 100,
145
- ],
146
- ],
147
- 'selectors' => [
148
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer{{CURRENT_ITEM}}' => 'top: {{SIZE}}{{UNIT}};',
149
- ],
150
- ]
151
- );
152
-
153
- $this->add_control(
154
- 'image_marker_list',
155
- [
156
- 'type' => Controls_Manager::REPEATER,
157
- 'fields' => $repeater->get_controls(),
158
- 'default' => [
159
- [
160
- 'marker_title' => __( 'Marker #1', 'woolentor' ),
161
- 'marker_content' => __( 'Lorem ipsum pisaci volupt atem accusa saes ntisdumtiu loperm asaerks.','woolentor' ),
162
- 'marker_x_position' => [
163
- 'size' => 66,
164
- 'unit' => '%',
165
- ],
166
- 'marker_y_position' => [
167
- 'size' => 15,
168
- 'unit' => '%',
169
- ]
170
- ]
171
- ],
172
- 'title_field' => '{{{ marker_title }}}',
173
- ]
174
- );
175
-
176
- $this->end_controls_section();
177
-
178
- // Style Marker tab section
179
- $this->start_controls_section(
180
- 'image_marker_style_section',
181
- [
182
- 'label' => __( 'Marker', 'woolentor' ),
183
- 'tab' => Controls_Manager::TAB_STYLE,
184
- ]
185
- );
186
-
187
- $this->add_control(
188
- 'image_marker_color',
189
- [
190
- 'label' => __( 'Color', 'woolentor' ),
191
- 'type' => Controls_Manager::COLOR,
192
- 'selectors' => [
193
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer::before' => 'color: {{VALUE}};',
194
- ],
195
- 'separator' => 'before',
196
- ]
197
- );
198
-
199
- $this->add_group_control(
200
- Group_Control_Background::get_type(),
201
- [
202
- 'name' => 'image_marker_background',
203
- 'label' => __( 'Background', 'woolentor' ),
204
- 'types' => [ 'classic', 'gradient' ],
205
- 'selector' => '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer',
206
- ]
207
- );
208
-
209
- $this->add_group_control(
210
- Group_Control_Border::get_type(),
211
- [
212
- 'name' => 'image_marker_border',
213
- 'label' => __( 'Border', 'woolentor' ),
214
- 'selector' => '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer',
215
- ]
216
- );
217
-
218
- $this->add_responsive_control(
219
- 'image_marker_border_radius',
220
- [
221
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
222
- 'type' => Controls_Manager::DIMENSIONS,
223
- 'selectors' => [
224
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
225
- ],
226
- ]
227
- );
228
-
229
- $this->add_responsive_control(
230
- 'image_marker_padding',
231
- [
232
- 'label' => __( 'Padding', 'woolentor' ),
233
- 'type' => Controls_Manager::DIMENSIONS,
234
- 'size_units' => [ 'px', '%', 'em' ],
235
- 'selectors' => [
236
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
237
- ],
238
- ]
239
- );
240
-
241
- $this->end_controls_section(); // End Marker style tab
242
-
243
- // Style Marker tab section
244
- $this->start_controls_section(
245
- 'image_marker_content_style_section',
246
- [
247
- 'label' => __( 'Content', 'woolentor' ),
248
- 'tab' => Controls_Manager::TAB_STYLE,
249
- ]
250
- );
251
-
252
- $this->add_group_control(
253
- Group_Control_Background::get_type(),
254
- [
255
- 'name' => 'image_marker_content_area_background',
256
- 'label' => __( 'Background', 'woolentor' ),
257
- 'types' => [ 'classic', 'gradient' ],
258
- 'selector' => '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box',
259
- ]
260
- );
261
-
262
- $this->add_group_control(
263
- Group_Control_Border::get_type(),
264
- [
265
- 'name' => 'image_marker_content_area_border',
266
- 'label' => __( 'Border', 'woolentor' ),
267
- 'selector' => '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box',
268
- ]
269
- );
270
-
271
- $this->add_responsive_control(
272
- 'image_marker_content_area_border_radius',
273
- [
274
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
275
- 'type' => Controls_Manager::DIMENSIONS,
276
- 'selectors' => [
277
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
278
- ],
279
- ]
280
- );
281
-
282
- $this->add_responsive_control(
283
- 'image_marker_content_area_padding',
284
- [
285
- 'label' => __( 'Padding', 'woolentor' ),
286
- 'type' => Controls_Manager::DIMENSIONS,
287
- 'size_units' => [ 'px', '%', 'em' ],
288
- 'selectors' => [
289
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
290
- ],
291
- ]
292
- );
293
-
294
- $this->start_controls_tabs('image_marker_content_style_tabs');
295
-
296
- // Style Title Tab start
297
- $this->start_controls_tab(
298
- 'style_title_tab',
299
- [
300
- 'label' => __( 'Title', 'woolentor' ),
301
- ]
302
- );
303
-
304
- $this->add_control(
305
- 'image_marker_title_color',
306
- [
307
- 'label' => __( 'Color', 'woolentor' ),
308
- 'type' => Controls_Manager::COLOR,
309
- 'selectors' => [
310
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box h4' => 'color: {{VALUE}};',
311
- ],
312
- ]
313
- );
314
-
315
- $this->add_group_control(
316
- Group_Control_Typography::get_type(),
317
- [
318
- 'name' => 'image_marker_title_typography',
319
- 'selector' => '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box h4',
320
- ]
321
- );
322
-
323
- $this->add_group_control(
324
- Group_Control_Border::get_type(),
325
- [
326
- 'name' => 'image_marker_title_border',
327
- 'label' => __( 'Border', 'woolentor' ),
328
- 'selector' => '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box h4',
329
- ]
330
- );
331
-
332
- $this->add_responsive_control(
333
- 'image_marker_title_border_radius',
334
- [
335
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
336
- 'type' => Controls_Manager::DIMENSIONS,
337
- 'selectors' => [
338
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box h4' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
339
- ],
340
- ]
341
- );
342
-
343
- $this->add_responsive_control(
344
- 'image_marker_title_margin',
345
- [
346
- 'label' => __( 'Margin', 'woolentor' ),
347
- 'type' => Controls_Manager::DIMENSIONS,
348
- 'size_units' => [ 'px', '%', 'em' ],
349
- 'selectors' => [
350
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box h4' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
351
- ],
352
- ]
353
- );
354
-
355
- $this->end_controls_tab(); // Style Title Tab end
356
-
357
- // Style Description Tab start
358
- $this->start_controls_tab(
359
- 'style_description_tab',
360
- [
361
- 'label' => __( 'Description', 'woolentor' ),
362
- ]
363
- );
364
-
365
- $this->add_control(
366
- 'image_marker_description_color',
367
- [
368
- 'label' => __( 'Color', 'woolentor' ),
369
- 'type' => Controls_Manager::COLOR,
370
- 'selectors' => [
371
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box p' => 'color: {{VALUE}};',
372
- ],
373
- 'separator' => 'before',
374
- ]
375
- );
376
-
377
- $this->add_group_control(
378
- Group_Control_Typography::get_type(),
379
- [
380
- 'name' => 'image_marker_description_typography',
381
- 'selector' => '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box p',
382
- ]
383
- );
384
-
385
- $this->add_responsive_control(
386
- 'image_marker_description_margin',
387
- [
388
- 'label' => __( 'Margin', 'woolentor' ),
389
- 'type' => Controls_Manager::DIMENSIONS,
390
- 'size_units' => [ 'px', '%', 'em' ],
391
- 'selectors' => [
392
- '{{WRAPPER}} .wlb-marker-wrapper .wlb_image_pointer .wlb_pointer_box p' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
393
- ],
394
- ]
395
- );
396
-
397
- $this->end_controls_tab(); // Style Description Tab end
398
-
399
- $this->end_controls_tabs();
400
-
401
- $this->end_controls_section(); // End Content style tab
402
-
403
- }
404
-
405
- protected function render( $instance = [] ) {
406
-
407
- $settings = $this->get_settings_for_display();
408
-
409
- $this->add_render_attribute( 'wl_image_marker_attr', 'class', 'wlb-marker-wrapper' );
410
- $this->add_render_attribute( 'wl_image_marker_attr', 'class', 'wlb-marker-style-'.$settings['marker_style'] );
411
-
412
- ?>
413
- <div <?php echo $this->get_render_attribute_string('wl_image_marker_attr'); ?> >
414
-
415
- <?php
416
- foreach ( $settings['image_marker_list'] as $item ):
417
- ?>
418
- <div class="wlb_image_pointer elementor-repeater-item-<?php echo esc_attr( $item['_id'] );?>">
419
- <div class="wlb_pointer_box">
420
- <?php
421
- if( !empty( $item['marker_title'] ) ){
422
- echo '<h4>'.esc_html__( $item['marker_title'], 'woolentor' ).'</h4>';
423
- }
424
- if( !empty( $item['marker_content'] ) ){
425
- echo '<p>'.esc_html__( $item['marker_content'], 'woolentor' ).'</p>';
426
- }
427
- ?>
428
- </div>
429
- </div>
430
- <?php
431
- endforeach;
432
- ?>
433
-
434
- </div>
435
- <?php
436
-
437
- }
438
-
439
- }
440
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Image_Marker_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wb_just_table.php DELETED
@@ -1,156 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Just_Table_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wb-just-table';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: JustTable', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-table';
18
- }
19
-
20
- public function get_categories() {
21
- return array( 'woolentor-addons' );
22
- }
23
-
24
- public function get_style_depends(){
25
- return [
26
- 'woolentor-widgets',
27
- ];
28
- }
29
-
30
- public function get_script_depends(){
31
- return [];
32
- }
33
-
34
- public function get_keywords(){
35
- return ['table','product table','justtable'];
36
- }
37
-
38
- protected function _register_controls() {
39
-
40
- // Content
41
- $this->start_controls_section(
42
- 'justtable_content',
43
- [
44
- 'label' => __( 'JustTable', 'woolentor' ),
45
- ]
46
- );
47
- $this->add_control(
48
- 'table_id',
49
- [
50
- 'label' => __( 'Select Table', 'woolentor' ),
51
- 'type' => Controls_Manager::SELECT,
52
- 'default' => '0',
53
- 'options' => woolentor_post_name('jt-product-table'),
54
- ]
55
- );
56
-
57
- $this->end_controls_section();
58
-
59
- // Heading Style
60
- $this->start_controls_section(
61
- 'heading_style_section',
62
- [
63
- 'label' => __( 'Heading', 'woolentor' ),
64
- 'tab' => Controls_Manager::TAB_STYLE,
65
- ]
66
- );
67
-
68
- $this->add_control(
69
- 'heading_color',
70
- [
71
- 'label' => __( 'Heading Color', 'woolentor' ),
72
- 'type' => Controls_Manager::COLOR,
73
- 'selectors' => [
74
- '{{WRAPPER}} .jtpt-product-table th.jtpt-head-data' => 'color: {{VALUE}}',
75
- ],
76
- ]
77
- );
78
-
79
- $this->add_group_control(
80
- \Elementor\Group_Control_Typography::get_type(),
81
- [
82
- 'name' => 'heading_typography',
83
- 'label' => __( 'Typography', 'woolentor' ),
84
- 'selector' => '{{WRAPPER}} .jtpt-product-table th.jtpt-head-data',
85
- ]
86
- );
87
-
88
- $this->add_group_control(
89
- Group_Control_Background::get_type(),
90
- [
91
- 'name' => 'heading_background',
92
- 'label' => __( 'Heading Background', 'woolentor' ),
93
- 'types' => [ 'classic', 'gradient' ],
94
- 'selector' => '{{WRAPPER}} .jtpt-product-table th.jtpt-head-data',
95
- 'exclude' =>['image'],
96
- 'fields_options'=>[
97
- 'background'=>[
98
- 'label'=>__( 'Heading Background', 'woolentor' )
99
- ]
100
- ]
101
- ]
102
- );
103
-
104
- $this->end_controls_section();
105
-
106
- // Wrapper Style
107
- $this->start_controls_section(
108
- 'content_style_section',
109
- [
110
- 'label' => __( 'Table Content', 'woolentor' ),
111
- 'tab' => Controls_Manager::TAB_STYLE,
112
- ]
113
- );
114
-
115
- $this->add_group_control(
116
- Group_Control_Background::get_type(),
117
- [
118
- 'name' => 'table_wrapper_background',
119
- 'label' => __( 'Background', 'woolentor' ),
120
- 'types' => [ 'classic', 'gradient' ],
121
- 'selector' => '{{WRAPPER}} .jtpt-product-table-wrapper',
122
- 'exclude' =>['image'],
123
- 'fields_options'=>[
124
- 'background'=>[
125
- 'label'=>__( 'Wrapper Background', 'woolentor' )
126
- ]
127
- ]
128
- ]
129
- );
130
-
131
- $this->add_control(
132
- 'table_td_border_color',
133
- [
134
- 'label' => __( 'Item Gap Color', 'woolentor' ),
135
- 'type' => Controls_Manager::COLOR,
136
- 'selectors' => [
137
- '{{WRAPPER}} .jtpt-product-table .jtpt-body-data' => 'border-color: {{VALUE}}',
138
- ],
139
- ]
140
- );
141
-
142
- $this->end_controls_section();
143
-
144
- }
145
-
146
- protected function render( $instance = [] ) {
147
- $settings = $this->get_settings_for_display();
148
-
149
- $short_code_attributes = [
150
- 'id' => $settings['table_id'],
151
- ];
152
- echo woolentor_do_shortcode( 'JT_Product_Table', $short_code_attributes );
153
- }
154
-
155
- }
156
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Just_Table_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wb_product_data_tab.php CHANGED
@@ -158,7 +158,8 @@ class WL_Product_Product_Data_Tabs_Element extends Widget_Base {
158
  'label' => __( 'Background Color', 'woolentor' ),
159
  'type' => Controls_Manager::COLOR,
160
  'selectors' => [
161
- '.woocommerce {{WRAPPER}} .woocommerce-tabs ul.wc-tabs li.active' => 'background-color: {{VALUE}};border-bottom-color: {{VALUE}}',
 
162
  ],
163
  ]
164
  );
@@ -169,6 +170,7 @@ class WL_Product_Product_Data_Tabs_Element extends Widget_Base {
169
  'label' => __( 'Border Color', 'woolentor' ),
170
  'type' => Controls_Manager::COLOR,
171
  'selectors' => [
 
172
  '.woocommerce {{WRAPPER}} .woocommerce-tabs ul.wc-tabs li.active' => 'border-color: {{VALUE}} {{VALUE}} {{active_tab_bg_color.VALUE}} {{VALUE}}',
173
  '.woocommerce {{WRAPPER}} .woocommerce-tabs ul.wc-tabs li:not(.active)' => 'border-bottom-color: {{VALUE}}',
174
  ],
158
  'label' => __( 'Background Color', 'woolentor' ),
159
  'type' => Controls_Manager::COLOR,
160
  'selectors' => [
161
+ '.woocommerce {{WRAPPER}} .woocommerce-tabs .woocommerce-Tabs-panel, .woocommerce {{WRAPPER}} .woocommerce-tabs ul.wc-tabs li.active' => 'background-color: {{VALUE}}',
162
+ '.woocommerce {{WRAPPER}} .woocommerce-tabs ul.wc-tabs li.active' => 'border-bottom-color: {{VALUE}}',
163
  ],
164
  ]
165
  );
170
  'label' => __( 'Border Color', 'woolentor' ),
171
  'type' => Controls_Manager::COLOR,
172
  'selectors' => [
173
+ '.woocommerce {{WRAPPER}} .woocommerce-tabs .woocommerce-Tabs-panel' => 'border-color: {{VALUE}}',
174
  '.woocommerce {{WRAPPER}} .woocommerce-tabs ul.wc-tabs li.active' => 'border-color: {{VALUE}} {{VALUE}} {{active_tab_bg_color.VALUE}} {{VALUE}}',
175
  '.woocommerce {{WRAPPER}} .woocommerce-tabs ul.wc-tabs li:not(.active)' => 'border-bottom-color: {{VALUE}}',
176
  ],
includes/addons/wb_product_description.php CHANGED
@@ -102,12 +102,7 @@ class WL_Product_Description_Element extends Widget_Base {
102
  echo '<div class="woocommerce_product_description">'.\WooLentor_Default_Data::instance()->default( $this->get_name() ).'</div>';
103
  }else{
104
  if ( empty( $product ) ) { return; }
105
- echo '<div class="woocommerce_product_description">';
106
- the_content();
107
- echo '</div>';
108
- //echo '<div class="woocommerce_product_description">'.$post->post_content.'</div>';
109
- //echo '<div class="woocommerce_product_description">'.$product->get_description().'</div>';
110
-
111
  }
112
  }
113
 
102
  echo '<div class="woocommerce_product_description">'.\WooLentor_Default_Data::instance()->default( $this->get_name() ).'</div>';
103
  }else{
104
  if ( empty( $product ) ) { return; }
105
+ echo '<div class="woocommerce_product_description">'.$post->post_content.'</div>';
 
 
 
 
 
106
  }
107
  }
108
 
includes/addons/wb_product_price.php CHANGED
@@ -37,7 +37,7 @@ class WL_Product_Price_Element extends Widget_Base {
37
  $this->start_controls_section(
38
  'product_price_regular_style_section',
39
  array(
40
- 'label' => __( 'Price', 'woolentor' ),
41
  'tab' => Controls_Manager::TAB_STYLE,
42
  )
43
  );
@@ -47,18 +47,18 @@ class WL_Product_Price_Element extends Widget_Base {
47
  'label' => __( 'Price Color', 'woolentor' ),
48
  'type' => Controls_Manager::COLOR,
49
  'selectors' => [
50
- '{{WRAPPER}} .price' => 'color: {{VALUE}} !important;',
51
  ],
52
  ]
53
  );
54
 
55
  $this->add_group_control(
56
  Group_Control_Typography::get_type(),
57
- [
58
  'name' => 'product_price_typography',
59
  'label' => __( 'Typography', 'woolentor' ),
60
- 'selector' => '{{WRAPPER}} .price .amount',
61
- ]
62
  );
63
 
64
  $this->add_control(
@@ -77,10 +77,10 @@ class WL_Product_Price_Element extends Widget_Base {
77
 
78
  $this->start_controls_section(
79
  'product_price_sale_style_section',
80
- [
81
- 'label' => __( 'Old Price', 'woolentor' ),
82
  'tab' => Controls_Manager::TAB_STYLE,
83
- ]
84
  );
85
  $this->add_control(
86
  'product_sale_price_color',
@@ -88,7 +88,7 @@ class WL_Product_Price_Element extends Widget_Base {
88
  'label' => __( 'Price Color', 'woolentor' ),
89
  'type' => Controls_Manager::COLOR,
90
  'selectors' => [
91
- '{{WRAPPER}} .price del' => 'color: {{VALUE}} !important;',
92
  ],
93
  ]
94
  );
@@ -98,7 +98,7 @@ class WL_Product_Price_Element extends Widget_Base {
98
  array(
99
  'name' => 'product_sale_price_typography',
100
  'label' => __( 'Typography', 'woolentor' ),
101
- 'selector' => '{{WRAPPER}} .price del, {{WRAPPER}} .price del .amount',
102
  )
103
  );
104
 
37
  $this->start_controls_section(
38
  'product_price_regular_style_section',
39
  array(
40
+ 'label' => __( 'Regular Price', 'woolentor' ),
41
  'tab' => Controls_Manager::TAB_STYLE,
42
  )
43
  );
47
  'label' => __( 'Price Color', 'woolentor' ),
48
  'type' => Controls_Manager::COLOR,
49
  'selectors' => [
50
+ '{{WRAPPER}} .price del' => 'color: {{VALUE}} !important;',
51
  ],
52
  ]
53
  );
54
 
55
  $this->add_group_control(
56
  Group_Control_Typography::get_type(),
57
+ array(
58
  'name' => 'product_price_typography',
59
  'label' => __( 'Typography', 'woolentor' ),
60
+ 'selector' => '{{WRAPPER}} .price del, {{WRAPPER}} .price del .amount',
61
+ )
62
  );
63
 
64
  $this->add_control(
77
 
78
  $this->start_controls_section(
79
  'product_price_sale_style_section',
80
+ array(
81
+ 'label' => __( 'Sale Price', 'woolentor' ),
82
  'tab' => Controls_Manager::TAB_STYLE,
83
+ )
84
  );
85
  $this->add_control(
86
  'product_sale_price_color',
88
  'label' => __( 'Price Color', 'woolentor' ),
89
  'type' => Controls_Manager::COLOR,
90
  'selectors' => [
91
+ '{{WRAPPER}} .price' => 'color: {{VALUE}} !important;',
92
  ],
93
  ]
94
  );
98
  array(
99
  'name' => 'product_sale_price_typography',
100
  'label' => __( 'Typography', 'woolentor' ),
101
+ 'selector' => '{{WRAPPER}} .price, {{WRAPPER}} .price .amount',
102
  )
103
  );
104
 
includes/addons/wb_product_qr_code.php CHANGED
@@ -6,11 +6,11 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
6
  class Woolentor_Elementor_Widget_QR_code extends Widget_Base {
7
 
8
  public function get_name() {
9
- return 'woolentor-qrcode-addons';
10
  }
11
 
12
  public function get_title() {
13
- return __( 'WL: QR Code', 'woolentor' );
14
  }
15
 
16
  public function get_icon() {
6
  class Woolentor_Elementor_Widget_QR_code extends Widget_Base {
7
 
8
  public function get_name() {
9
+ return 'woolentor-addbanner-addons';
10
  }
11
 
12
  public function get_title() {
13
+ return __( 'WL: Qr Code', 'woolentor' );
14
  }
15
 
16
  public function get_icon() {
includes/addons/wb_product_related.php CHANGED
@@ -63,7 +63,7 @@ class WL_Product_Related_Element extends Widget_Base {
63
  'prefix_class' => 'woolentorducts-columns%s-',
64
  'default' => 4,
65
  'min' => 1,
66
- 'max' => 6,
67
  ]
68
  );
69
 
@@ -214,7 +214,6 @@ class WL_Product_Related_Element extends Widget_Base {
214
  $args['related_products'] = array_filter( array_map( 'wc_get_product', wc_get_related_products( $product->get_id(),
215
  $args['posts_per_page'], $product->get_upsell_ids() ) ), 'wc_products_array_filter_visible' );
216
  $args['related_products'] = wc_products_array_orderby( $args['related_products'], $args['orderby'], $args['order'] );
217
-
218
  wc_get_template( 'single-product/related.php', $args );
219
  }
220
 
63
  'prefix_class' => 'woolentorducts-columns%s-',
64
  'default' => 4,
65
  'min' => 1,
66
+ 'max' => 12,
67
  ]
68
  );
69
 
214
  $args['related_products'] = array_filter( array_map( 'wc_get_product', wc_get_related_products( $product->get_id(),
215
  $args['posts_per_page'], $product->get_upsell_ids() ) ), 'wc_products_array_filter_visible' );
216
  $args['related_products'] = wc_products_array_orderby( $args['related_products'], $args['orderby'], $args['order'] );
 
217
  wc_get_template( 'single-product/related.php', $args );
218
  }
219
 
includes/addons/wb_product_suggest_price.php CHANGED
@@ -1,9 +1,6 @@
1
  <?php
2
- namespace Elementor;
3
 
4
- // Elementor Classes
5
- use \Elementor\Core\Schemes\Color as Scheme_Color;
6
- use \Elementor\Core\Schemes\Typography as Scheme_Typography;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
9
 
@@ -164,8 +161,8 @@ class WL_Product_Suggest_Price_Element extends Widget_Base {
164
  [
165
  'label' => __( 'Success Message', 'woolentor' ),
166
  'type' => Controls_Manager::TEXT,
167
- 'default' => __( 'Thank you for contacting with us', 'woolentor' ),
168
- 'placeholder' => __( 'Thank you for contacting with us', 'woolentor' ),
169
  'label_block'=>true,
170
  'separator'=>'before',
171
  ]
@@ -176,8 +173,8 @@ class WL_Product_Suggest_Price_Element extends Widget_Base {
176
  [
177
  'label' => __( 'Error Message', 'woolentor' ),
178
  'type' => Controls_Manager::TEXT,
179
- 'default' => __( 'Something is wrong! try again', 'woolentor' ),
180
- 'placeholder' => __( 'Something is wrong! try again', 'woolentor' ),
181
  'label_block'=>true,
182
  ]
183
  );
@@ -225,6 +222,7 @@ class WL_Product_Suggest_Price_Element extends Widget_Base {
225
  Group_Control_Typography::get_type(),
226
  [
227
  'name' => 'input_typography',
 
228
  'selector' => '{{WRAPPER}} .wl-suggest-form-input input',
229
  ]
230
  );
@@ -324,6 +322,7 @@ class WL_Product_Suggest_Price_Element extends Widget_Base {
324
  Group_Control_Typography::get_type(),
325
  [
326
  'name' => 'textarea_typography',
 
327
  'selector' => '{{WRAPPER}} .wl-suggest-form-input textarea',
328
  ]
329
  );
@@ -422,6 +421,7 @@ class WL_Product_Suggest_Price_Element extends Widget_Base {
422
  Group_Control_Typography::get_type(),
423
  [
424
  'name' => 'submitbutton_typography',
 
425
  'selector' => '{{WRAPPER}} .wl-suggest-form-input input[type="submit"]',
426
  ]
427
  );
1
  <?php
 
2
 
3
+ namespace Elementor;
 
 
4
 
5
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
6
 
161
  [
162
  'label' => __( 'Success Message', 'woolentor' ),
163
  'type' => Controls_Manager::TEXT,
164
+ 'default' => __( 'Thank you contacting with us', 'woolentor' ),
165
+ 'placeholder' => __( 'Thank you contacting with us', 'woolentor' ),
166
  'label_block'=>true,
167
  'separator'=>'before',
168
  ]
173
  [
174
  'label' => __( 'Error Message', 'woolentor' ),
175
  'type' => Controls_Manager::TEXT,
176
+ 'default' => __( 'Something is wrong ! try again', 'woolentor' ),
177
+ 'placeholder' => __( 'Something is wrong ! try again', 'woolentor' ),
178
  'label_block'=>true,
179
  ]
180
  );
222
  Group_Control_Typography::get_type(),
223
  [
224
  'name' => 'input_typography',
225
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
226
  'selector' => '{{WRAPPER}} .wl-suggest-form-input input',
227
  ]
228
  );
322
  Group_Control_Typography::get_type(),
323
  [
324
  'name' => 'textarea_typography',
325
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
326
  'selector' => '{{WRAPPER}} .wl-suggest-form-input textarea',
327
  ]
328
  );
421
  Group_Control_Typography::get_type(),
422
  [
423
  'name' => 'submitbutton_typography',
424
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
425
  'selector' => '{{WRAPPER}} .wl-suggest-form-input input[type="submit"]',
426
  ]
427
  );
includes/addons/wb_product_title.php CHANGED
@@ -47,7 +47,7 @@ class WL_Product_Title_Element extends Widget_Base {
47
  'label' => __( 'Title HTML Tag', 'woolentor' ),
48
  'type' => Controls_Manager::SELECT,
49
  'options' => woolentor_html_tag_lists(),
50
- 'default' => 'h2',
51
  ]
52
  );
53
 
@@ -125,14 +125,11 @@ class WL_Product_Title_Element extends Widget_Base {
125
 
126
  protected function render( $instance = [] ) {
127
  $settings = $this->get_settings_for_display();
128
-
129
- $title_html_tag = woolentor_validate_html_tag( $settings['product_title_html_tag'] );
130
-
131
  if( Plugin::instance()->editor->is_edit_mode() ){
132
  $title = get_the_title( woolentor_get_last_product_id() );
133
- echo sprintf( "<%s class='product_title entry-title'>%s</%s>", $title_html_tag, $title, $title_html_tag );
134
  }else{
135
- echo sprintf( "<%s class='product_title entry-title'>%s</%s>", $title_html_tag, get_the_title(), $title_html_tag );
136
  }
137
 
138
  }
47
  'label' => __( 'Title HTML Tag', 'woolentor' ),
48
  'type' => Controls_Manager::SELECT,
49
  'options' => woolentor_html_tag_lists(),
50
+ 'default' => 'h1',
51
  ]
52
  );
53
 
125
 
126
  protected function render( $instance = [] ) {
127
  $settings = $this->get_settings_for_display();
 
 
 
128
  if( Plugin::instance()->editor->is_edit_mode() ){
129
  $title = get_the_title( woolentor_get_last_product_id() );
130
+ echo sprintf( '<%1$s class="product_title entry-title">' . __( $title, 'woolentor' ). '</%1$s>', $settings['product_title_html_tag'] );
131
  }else{
132
+ echo sprintf( the_title( '<%1$s class="product_title entry-title">', '</%1s>', false ), $settings['product_title_html_tag'] );
133
  }
134
 
135
  }
includes/addons/wb_product_upsell.php CHANGED
@@ -45,10 +45,9 @@ class WL_Product_Upsell_Element extends Widget_Base {
45
  [
46
  'label' => __( 'Columns', 'woolentor' ),
47
  'type' => Controls_Manager::NUMBER,
48
- 'prefix_class' => 'woolentorducts-columns%s-',
49
  'default' => 4,
50
  'min' => 1,
51
- 'max' => 6,
52
  ]
53
  );
54
 
@@ -169,7 +168,6 @@ class WL_Product_Upsell_Element extends Widget_Base {
169
  if ( ! empty( $settings['order'] ) ) {
170
  $order = $settings['order'];
171
  }
172
-
173
  if( Plugin::instance()->editor->is_edit_mode() ){
174
  echo \WooLentor_Default_Data::instance()->default( $this->get_name(), $settings );
175
  }else{
45
  [
46
  'label' => __( 'Columns', 'woolentor' ),
47
  'type' => Controls_Manager::NUMBER,
 
48
  'default' => 4,
49
  'min' => 1,
50
+ 'max' => 12,
51
  ]
52
  );
53
 
168
  if ( ! empty( $settings['order'] ) ) {
169
  $order = $settings['order'];
170
  }
 
171
  if( Plugin::instance()->editor->is_edit_mode() ){
172
  echo \WooLentor_Default_Data::instance()->default( $this->get_name(), $settings );
173
  }else{
includes/addons/wb_wc_multicurrency.php DELETED
@@ -1,106 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Multi_Currency_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wb-multi-currency';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: Multi Currency', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-woocommerce';
18
- }
19
-
20
- public function get_categories() {
21
- return array( 'woolentor-addons' );
22
- }
23
-
24
- public function get_style_depends(){
25
- return [
26
- 'woolentor-widgets',
27
- ];
28
- }
29
-
30
- public function get_script_depends(){
31
- return [];
32
- }
33
-
34
- public function get_keywords(){
35
- return ['multi currency','currency','woocommerce currency'];
36
- }
37
-
38
- protected function _register_controls() {
39
-
40
- // Content
41
- $this->start_controls_section(
42
- 'multi_currency_content',
43
- [
44
- 'label' => __( 'MultiCurrency', 'woolentor' ),
45
- ]
46
- );
47
- $this->add_control(
48
- 'multi_currency_style',
49
- [
50
- 'label' => __( 'Style', 'woolentor' ),
51
- 'type' => Controls_Manager::SELECT,
52
- 'default' => 'all',
53
- 'options' => [
54
- 'all' => esc_html__( 'All', 'woolentor' ),
55
- 'flagonly' => esc_html__( 'Flag only', 'woolentor' ),
56
- ],
57
- ]
58
- );
59
-
60
- $this->end_controls_section();
61
-
62
- // Heading Style
63
- $this->start_controls_section(
64
- 'heading_style_section',
65
- [
66
- 'label' => __( 'Heading', 'woolentor' ),
67
- 'tab' => Controls_Manager::TAB_STYLE,
68
- ]
69
- );
70
-
71
- $this->add_control(
72
- 'heading_color',
73
- [
74
- 'label' => __( 'Heading Color', 'woolentor' ),
75
- 'type' => Controls_Manager::COLOR,
76
- 'selectors' => [
77
- '{{WRAPPER}} .ht-mcs-sidebar-widget-list ul li a' => 'color: {{VALUE}}',
78
- ],
79
- ]
80
- );
81
-
82
- $this->add_group_control(
83
- Group_Control_Typography::get_type(),
84
- [
85
- 'name' => 'heading_typography',
86
- 'label' => __( 'Typography', 'woolentor' ),
87
- 'selector' => '{{WRAPPER}} .ht-mcs-sidebar-widget-list ul li a',
88
- ]
89
- );
90
-
91
- $this->end_controls_section();
92
-
93
-
94
- }
95
-
96
- protected function render( $instance = [] ) {
97
- $settings = $this->get_settings_for_display();
98
-
99
- $short_code_attributes = [
100
- 'style' => $settings['multi_currency_style'],
101
- ];
102
- echo woolentor_do_shortcode( 'WCMC', $short_code_attributes );
103
- }
104
-
105
- }
106
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Multi_Currency_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wb_whols.php DELETED
@@ -1,94 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Whols_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wb-whols';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: Whols', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-woocommerce';
18
- }
19
-
20
- public function get_categories() {
21
- return array( 'woolentor-addons' );
22
- }
23
-
24
- public function get_style_depends(){
25
- return [
26
- 'woolentor-widgets',
27
- ];
28
- }
29
-
30
- public function get_script_depends(){
31
- return [];
32
- }
33
-
34
- public function get_keywords(){
35
- return ['whols','whole sale','woocommerce sale'];
36
- }
37
-
38
- protected function _register_controls() {
39
-
40
- // Button Style
41
- $this->start_controls_section(
42
- 'button_style_section',
43
- [
44
- 'label' => __( 'Button', 'woolentor' ),
45
- 'tab' => Controls_Manager::TAB_STYLE,
46
- ]
47
- );
48
-
49
- $this->add_control(
50
- 'button_color',
51
- [
52
- 'label' => __( 'Color', 'woolentor' ),
53
- 'type' => Controls_Manager::COLOR,
54
- 'selectors' => [
55
- '{{WRAPPER}} .whols_registration_form form input#whols_reg_submit' => 'color: {{VALUE}}',
56
- ],
57
- ]
58
- );
59
-
60
- $this->add_group_control(
61
- Group_Control_Typography::get_type(),
62
- [
63
- 'name' => 'button_typography',
64
- 'label' => __( 'Typography', 'woolentor' ),
65
- 'selector' => '{{WRAPPER}} .whols_registration_form form input#whols_reg_submit',
66
- ]
67
- );
68
-
69
- $this->add_responsive_control(
70
- 'button_padding',
71
- [
72
- 'label' => __( 'Padding', 'woolentor' ),
73
- 'type' => Controls_Manager::DIMENSIONS,
74
- 'size_units' => [ 'px', '%', 'em' ],
75
- 'selectors' => [
76
- '{{WRAPPER}} .whols_registration_form form input#whols_reg_submit' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
77
- ],
78
- ]
79
- );
80
-
81
- $this->end_controls_section();
82
-
83
-
84
- }
85
-
86
- protected function render( $instance = [] ) {
87
- $settings = $this->get_settings_for_display();
88
-
89
- $short_code_attributes = [];
90
- echo woolentor_do_shortcode( 'whols_registration_form', $short_code_attributes );
91
- }
92
-
93
- }
94
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Whols_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wb_wishsuite_table.php DELETED
@@ -1,143 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Wishsuite_Table_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wb-wishsuite-table';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: WishSuite Table', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-table';
18
- }
19
-
20
- public function get_categories() {
21
- return array( 'woolentor-addons' );
22
- }
23
-
24
- public function get_style_depends(){
25
- return [
26
- 'wishsuite-frontend',
27
- 'woolentor-widgets',
28
- ];
29
- }
30
-
31
- public function get_script_depends(){
32
- return ['wishsuite-frontend'];
33
- }
34
-
35
- public function get_keywords(){
36
- return ['wishlist','product wishlist','wishsuite'];
37
- }
38
-
39
- protected function _register_controls() {
40
-
41
- // Content
42
- $this->start_controls_section(
43
- 'wishsuite_content',
44
- [
45
- 'label' => __( 'WishSuite', 'woolentor' ),
46
- ]
47
- );
48
-
49
- $this->add_control(
50
- 'empty_table_text',
51
- [
52
- 'label' => __( 'Empty table text', 'woolentor' ),
53
- 'type' => Controls_Manager::TEXT,
54
- 'label_block'=>true,
55
- ]
56
- );
57
-
58
- $this->end_controls_section();
59
-
60
- // Table Heading Style
61
- $this->start_controls_section(
62
- 'table_heading_style_section',
63
- [
64
- 'label' => __( 'Table Heading', 'woolentor' ),
65
- 'tab' => Controls_Manager::TAB_STYLE,
66
- ]
67
- );
68
-
69
- $this->add_control(
70
- 'heading_color',
71
- [
72
- 'label' => __( 'Heading Color', 'woolentor' ),
73
- 'type' => Controls_Manager::COLOR,
74
- 'selectors' => [
75
- '{{WRAPPER}} .wishsuite-table-content table thead > tr th' => 'color: {{VALUE}}',
76
- ],
77
- ]
78
- );
79
-
80
- $this->add_group_control(
81
- Group_Control_Background::get_type(),
82
- [
83
- 'name' => 'heading_background',
84
- 'label' => __( 'Heading Background', 'woolentor' ),
85
- 'types' => [ 'classic', 'gradient' ],
86
- 'selector' => '{{WRAPPER}} .wishsuite-table-content table thead > tr th',
87
- 'exclude' =>['image'],
88
- ]
89
- );
90
-
91
- $this->add_group_control(
92
- Group_Control_Border::get_type(),
93
- [
94
- 'name' => 'heading_border',
95
- 'label' => __( 'Border', 'woolentor' ),
96
- 'selector' => '{{WRAPPER}} .wishsuite-table-content table thead > tr',
97
- ]
98
- );
99
-
100
- $this->add_group_control(
101
- \Elementor\Group_Control_Typography::get_type(),
102
- [
103
- 'name' => 'heading_typography',
104
- 'label' => __( 'Typography', 'woolentor' ),
105
- 'selector' => '{{WRAPPER}} .wishsuite-table-content table thead > tr th',
106
- ]
107
- );
108
-
109
- $this->end_controls_section();
110
-
111
- // Table Content Style
112
- $this->start_controls_section(
113
- 'table_content_style_section',
114
- [
115
- 'label' => __( 'Table Body', 'woolentor' ),
116
- 'tab' => Controls_Manager::TAB_STYLE,
117
- ]
118
- );
119
- $this->add_group_control(
120
- Group_Control_Border::get_type(),
121
- [
122
- 'name' => 'table_body_border',
123
- 'label' => __( 'Border', 'woolentor' ),
124
- 'selector' => '{{WRAPPER}} .wishsuite-table-content table,.wishsuite-table-content table tbody > tr',
125
- ]
126
- );
127
-
128
- $this->end_controls_section();
129
-
130
- }
131
-
132
- protected function render( $instance = [] ) {
133
- $settings = $this->get_settings_for_display();
134
-
135
- $short_code_attributes = [
136
- 'empty_text' => $settings['empty_table_text'],
137
- ];
138
- echo woolentor_do_shortcode( 'wishsuite_table', $short_code_attributes );
139
-
140
- }
141
-
142
- }
143
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Wishsuite_Table_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wl_brand.php CHANGED
@@ -58,7 +58,7 @@ class WL_Brand_Element extends Widget_Base {
58
  'default' => esc_html__('Default','woolentor'),
59
  ],
60
  'label_block' => true,
61
- 'description' => sprintf( __( 'Slider layouts are available in the pro version. <a href="%s" target="_blank">Get Pro</a>', 'woolentor' ), esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd' ) ),
62
  ]
63
  );
64
 
@@ -104,7 +104,7 @@ class WL_Brand_Element extends Widget_Base {
104
  'brand_list',
105
  [
106
  'type' => Controls_Manager::REPEATER,
107
- 'fields' => $repeater->get_controls(),
108
  'default' => [
109
  [
110
  'brand_title' => esc_html__( 'Brand Title', 'woolentor' ),
@@ -219,7 +219,7 @@ class WL_Brand_Element extends Widget_Base {
219
  __( 'Slider Option', 'woolentor' ) .
220
  '</div>
221
  <div class="elementor-nerd-box-message">' .
222
- __( 'Purchase our premium version to unlock these pro features!', 'woolentor' ) .
223
  '</div>
224
  <a class="elementor-nerd-box-link elementor-button elementor-button-default elementor-go-pro" href="' . esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd' ) . '" target="_blank">' .
225
  __( 'Go Pro', 'woolentor' ) .
@@ -362,7 +362,7 @@ class WL_Brand_Element extends Widget_Base {
362
  __( 'Slider Controller Style', 'woolentor' ) .
363
  '</div>
364
  <div class="elementor-nerd-box-message">' .
365
- __( 'Purchase our premium version to unlock these pro features!', 'woolentor' ) .
366
  '</div>
367
  <a class="elementor-nerd-box-link elementor-button elementor-button-default elementor-go-pro" href="' . esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd' ) . '" target="_blank">' .
368
  __( 'Go Pro', 'woolentor' ) .
58
  'default' => esc_html__('Default','woolentor'),
59
  ],
60
  'label_block' => true,
61
+ 'description' => wp_kses_post( 'Slider layout are available in the pro version. (<a href="'.esc_url('https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd').'" target="_blank">Get Pro</a>)', 'woolentor' ),
62
  ]
63
  );
64
 
104
  'brand_list',
105
  [
106
  'type' => Controls_Manager::REPEATER,
107
+ 'fields' => array_values( $repeater->get_controls() ),
108
  'default' => [
109
  [
110
  'brand_title' => esc_html__( 'Brand Title', 'woolentor' ),
219
  __( 'Slider Option', 'woolentor' ) .
220
  '</div>
221
  <div class="elementor-nerd-box-message">' .
222
+ __( 'Purchase our premium version to unlock these pro feature!', 'woolentor' ) .
223
  '</div>
224
  <a class="elementor-nerd-box-link elementor-button elementor-button-default elementor-go-pro" href="' . esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd' ) . '" target="_blank">' .
225
  __( 'Go Pro', 'woolentor' ) .
362
  __( 'Slider Controller Style', 'woolentor' ) .
363
  '</div>
364
  <div class="elementor-nerd-box-message">' .
365
+ __( 'Purchase our premium version to unlock these pro feature!', 'woolentor' ) .
366
  '</div>
367
  <a class="elementor-nerd-box-link elementor-button elementor-button-default elementor-go-pro" href="' . esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd' ) . '" target="_blank">' .
368
  __( 'Go Pro', 'woolentor' ) .
includes/addons/wl_category.php CHANGED
@@ -1,10 +1,6 @@
1
  <?php
2
  namespace Elementor;
3
 
4
- // Elementor Classes
5
- use \Elementor\Core\Schemes\Color as Scheme_Color;
6
- use \Elementor\Core\Schemes\Typography as Scheme_Typography;
7
-
8
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
9
 
10
  class WL_Category_List_Element extends Widget_Base {
@@ -314,6 +310,10 @@ class WL_Category_List_Element extends Widget_Base {
314
  [
315
  'label' => __( 'Color', 'woolentor' ),
316
  'type' => Controls_Manager::COLOR,
 
 
 
 
317
  'default'=>'#878787',
318
  'selectors' => [
319
  '{{WRAPPER}} .wlsingle-categorie .wlcategorie-content h4' => 'color: {{VALUE}}',
@@ -326,6 +326,10 @@ class WL_Category_List_Element extends Widget_Base {
326
  [
327
  'label' => __( 'Hover Color', 'woolentor' ),
328
  'type' => Controls_Manager::COLOR,
 
 
 
 
329
  'default'=>'#878787',
330
  'selectors' => [
331
  '{{WRAPPER}} .wlsingle-categorie .wlcategorie-content h4 a:hover' => 'color: {{VALUE}}',
@@ -338,6 +342,7 @@ class WL_Category_List_Element extends Widget_Base {
338
  [
339
  'name' => 'title_typography',
340
  'label' => __( 'Typography', 'woolentor' ),
 
341
  'selector' => '{{WRAPPER}} .wlsingle-categorie .wlcategorie-content h4',
342
  ]
343
  );
@@ -425,7 +430,7 @@ class WL_Category_List_Element extends Widget_Base {
425
  <?php endif; ?>
426
  <div class="wlcategorie-content">
427
  <h4><a href="<?php echo esc_url( $term_link ); ?>"><?php echo esc_html__( $prod_cat->name, 'woolentor' ); ?></a><sup>(<?php echo esc_html__( $prod_cat->count, 'woolentor' ); ?>)</sup></h4>
428
- <p><?php echo wp_trim_words( $prod_cat->description ); ?></p>
429
  </div>
430
  </div>
431
  </div>
1
  <?php
2
  namespace Elementor;
3
 
 
 
 
 
4
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
 
6
  class WL_Category_List_Element extends Widget_Base {
310
  [
311
  'label' => __( 'Color', 'woolentor' ),
312
  'type' => Controls_Manager::COLOR,
313
+ 'scheme' => [
314
+ 'type' => Scheme_Color::get_type(),
315
+ 'value' => Scheme_Color::COLOR_1,
316
+ ],
317
  'default'=>'#878787',
318
  'selectors' => [
319
  '{{WRAPPER}} .wlsingle-categorie .wlcategorie-content h4' => 'color: {{VALUE}}',
326
  [
327
  'label' => __( 'Hover Color', 'woolentor' ),
328
  'type' => Controls_Manager::COLOR,
329
+ 'scheme' => [
330
+ 'type' => Scheme_Color::get_type(),
331
+ 'value' => Scheme_Color::COLOR_1,
332
+ ],
333
  'default'=>'#878787',
334
  'selectors' => [
335
  '{{WRAPPER}} .wlsingle-categorie .wlcategorie-content h4 a:hover' => 'color: {{VALUE}}',
342
  [
343
  'name' => 'title_typography',
344
  'label' => __( 'Typography', 'woolentor' ),
345
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
346
  'selector' => '{{WRAPPER}} .wlsingle-categorie .wlcategorie-content h4',
347
  ]
348
  );
430
  <?php endif; ?>
431
  <div class="wlcategorie-content">
432
  <h4><a href="<?php echo esc_url( $term_link ); ?>"><?php echo esc_html__( $prod_cat->name, 'woolentor' ); ?></a><sup>(<?php echo esc_html__( $prod_cat->count, 'woolentor' ); ?>)</sup></h4>
433
+ <p><?php echo wp_trim_words( $prod_cat->description, $settings['length'] ); ?></p>
434
  </div>
435
  </div>
436
  </div>
includes/addons/wl_category_grid.php DELETED
@@ -1,1130 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
-
5
- class WL_Category_Grid_Element extends Widget_Base {
6
-
7
- public function get_name() {
8
- return 'wl-category-grid';
9
- }
10
-
11
- public function get_title() {
12
- return __( 'WL: Category Grid', 'woolentor' );
13
- }
14
-
15
- public function get_icon() {
16
- return 'eicon-product-categories';
17
- }
18
-
19
- public function get_categories() {
20
- return [ 'woolentor-addons' ];
21
- }
22
-
23
- public function get_style_depends(){
24
- return ['slick','woolentor-category-grid','woolentor-widgets'];
25
- }
26
-
27
- public function get_script_depends() {
28
- return ['slick','woolentor-widgets-scripts'];
29
- }
30
-
31
- public function get_keywords(){
32
- return ['category','product category','category grid','categorise'];
33
- }
34
-
35
- protected function _register_controls() {
36
-
37
- $this->start_controls_section(
38
- 'section_content',
39
- [
40
- 'label' => esc_html__( 'Category Grid', 'woolentor' ),
41
- ]
42
- );
43
-
44
- $this->add_control(
45
- 'layout',
46
- [
47
- 'label' => esc_html__( 'Select Style', 'woolentor' ),
48
- 'type' => Controls_Manager::SELECT,
49
- 'default' => '1',
50
- 'options' => [
51
- '1' => esc_html__('Style One','woolentor'),
52
- '2' => esc_html__('Style Two','woolentor'),
53
- '3' => esc_html__('Style Three','woolentor'),
54
- '4' => esc_html__('Style Four','woolentor'),
55
- '5' => esc_html__('Style Five','woolentor'),
56
- ],
57
- 'label_block' => true,
58
- 'separator'=>'after',
59
- ]
60
- );
61
-
62
- $this->add_control(
63
- 'category_display_type',
64
- [
65
- 'label' => esc_html__( 'Category Display Type', 'woolentor' ),
66
- 'type' => Controls_Manager::SELECT,
67
- 'default' => 'all_cat',
68
- 'options' => [
69
- 'single_cat' => esc_html__('Single Category','woolentor'),
70
- 'multiple_cat'=> esc_html__('Multiple Categories','woolentor'),
71
- 'all_cat'=> esc_html__('All Categories','woolentor'),
72
- ],
73
- 'label_block' => true,
74
- ]
75
- );
76
-
77
- $this->add_control(
78
- 'product_categories',
79
- [
80
- 'label' => esc_html__( 'Select categories', 'woolentor' ),
81
- 'type' => Controls_Manager::SELECT2,
82
- 'label_block' => true,
83
- 'options' => woolentor_taxonomy_list(),
84
- 'condition' => [
85
- 'category_display_type' => 'single_cat',
86
- ]
87
- ]
88
- );
89
-
90
- $this->add_control(
91
- 'multi_categories',
92
- [
93
- 'label' => esc_html__( 'Select categories', 'woolentor' ),
94
- 'type' => Controls_Manager::SELECT2,
95
- 'label_block' => true,
96
- 'multiple' => true,
97
- 'options' => woolentor_taxonomy_list(),
98
- 'condition' => [
99
- 'category_display_type' => 'multiple_cat',
100
- ]
101
- ]
102
- );
103
-
104
- $this->add_control(
105
- 'catorder',
106
- [
107
- 'label' => esc_html__( 'Order', 'woolentor' ),
108
- 'type' => Controls_Manager::SELECT,
109
- 'default' => 'ASC',
110
- 'options' => [
111
- 'ASC' => esc_html__('Ascending','woolentor'),
112
- 'DESC' => esc_html__('Descending','woolentor'),
113
- ],
114
- 'condition' => [
115
- 'category_display_type!' => 'single_cat',
116
- ]
117
- ]
118
- );
119
-
120
- $this->add_control(
121
- 'limitcount',
122
- [
123
- 'label' => esc_html__( 'Show items', 'woolentor' ),
124
- 'type' => Controls_Manager::NUMBER,
125
- 'min' => 1,
126
- 'max' => 10,
127
- 'step' => 1,
128
- 'default' => 5,
129
- 'condition' => [
130
- 'category_display_type' => 'all_cat',
131
- ]
132
- ]
133
- );
134
-
135
- $this->add_group_control(
136
- Group_Control_Image_Size::get_type(),
137
- [
138
- 'name' => 'thumbnailsize',
139
- 'default' => 'full',
140
- 'separator' => 'none',
141
- ]
142
- );
143
-
144
- $this->add_control(
145
- 'show_count',
146
- [
147
- 'label' => __( 'Show Count', 'woolentor' ),
148
- 'type' => Controls_Manager::SWITCHER,
149
- 'label_on' => __( 'Yes', 'woolentor' ),
150
- 'label_off' => __( 'No', 'woolentor' ),
151
- 'return_value' => 'yes',
152
- 'default' => 'yes',
153
- 'condition'=>[
154
- 'layout'=>['1','4']
155
- ]
156
- ]
157
- );
158
-
159
- $this->add_control(
160
- 'slider_on',
161
- [
162
- 'label' => __( 'Slider On', 'woolentor' ),
163
- 'type' => Controls_Manager::SWITCHER,
164
- 'return_value' => 'yes',
165
- 'separator'=>'before',
166
- ]
167
- );
168
-
169
- $this->end_controls_section();
170
-
171
- // Column Option
172
- $this->start_controls_section(
173
- 'section_column_option',
174
- [
175
- 'label' => esc_html__( 'Columns', 'woolentor' ),
176
- 'condition'=>[
177
- 'slider_on!'=>'yes',
178
- ]
179
- ]
180
- );
181
-
182
- $this->add_responsive_control(
183
- 'category_grid_column',
184
- [
185
- 'label' => esc_html__( 'Columns', 'woolentor' ),
186
- 'type' => Controls_Manager::SELECT,
187
- 'default' => '3',
188
- 'options' => [
189
- '1' => esc_html__( 'One', 'woolentor' ),
190
- '2' => esc_html__( 'Two', 'woolentor' ),
191
- '3' => esc_html__( 'Three', 'woolentor' ),
192
- '4' => esc_html__( 'Four', 'woolentor' ),
193
- '5' => esc_html__( 'Five', 'woolentor' ),
194
- '6' => esc_html__( 'Six', 'woolentor' ),
195
- '7' => esc_html__( 'Seven', 'woolentor' ),
196
- '8' => esc_html__( 'Eight', 'woolentor' ),
197
- '9' => esc_html__( 'Nine', 'woolentor' ),
198
- '10'=> esc_html__( 'Ten', 'woolentor' ),
199
- ],
200
- 'label_block' => true,
201
- 'prefix_class' => 'wl-columns%s-',
202
- ]
203
- );
204
-
205
- $this->add_control(
206
- 'no_gutters',
207
- [
208
- 'label' => esc_html__( 'No Gutters', 'woolentor' ),
209
- 'type' => Controls_Manager::SWITCHER,
210
- 'label_on' => esc_html__( 'Yes', 'woolentor' ),
211
- 'label_off' => esc_html__( 'No', 'woolentor' ),
212
- 'return_value' => 'yes',
213
- 'default' => 'no',
214
- ]
215
- );
216
-
217
- $this->add_responsive_control(
218
- 'item_space',
219
- [
220
- 'label' => esc_html__( 'Space', 'woolentor' ),
221
- 'type' => Controls_Manager::SLIDER,
222
- 'size_units' => [ 'px', '%' ],
223
- 'range' => [
224
- 'px' => [
225
- 'min' => 0,
226
- 'max' => 1000,
227
- 'step' => 1,
228
- ],
229
- '%' => [
230
- 'min' => 0,
231
- 'max' => 100,
232
- ],
233
- ],
234
- 'default' => [
235
- 'unit' => 'px',
236
- 'size' => 15,
237
- ],
238
- 'condition'=>[
239
- 'no_gutters!'=>'yes',
240
- ],
241
- 'selectors' => [
242
- '{{WRAPPER}} .wl-row > [class*="col-"]' => 'padding: 0 {{SIZE}}{{UNIT}};',
243
- ],
244
- ]
245
- );
246
-
247
- $this->end_controls_section();
248
-
249
- // Slider Option
250
- $this->start_controls_section(
251
- 'section_slider_option',
252
- [
253
- 'label' => esc_html__( 'Slider Option', 'woolentor' ),
254
- 'condition'=>[
255
- 'slider_on'=>'yes',
256
- ]
257
- ]
258
- );
259
-
260
- $this->add_control(
261
- 'slitems',
262
- [
263
- 'label' => esc_html__( 'Slider Items', 'woolentor' ),
264
- 'type' => Controls_Manager::NUMBER,
265
- 'min' => 1,
266
- 'step' => 1,
267
- 'default' => 3
268
- ]
269
- );
270
-
271
- $this->add_control(
272
- 'slarrows',
273
- [
274
- 'label' => esc_html__( 'Slider Arrow', 'woolentor' ),
275
- 'type' => Controls_Manager::SWITCHER,
276
- 'return_value' => 'yes',
277
- 'default' => 'yes',
278
- ]
279
- );
280
-
281
- $this->add_control(
282
- 'sldots',
283
- [
284
- 'label' => esc_html__( 'Slider dots', 'woolentor' ),
285
- 'type' => Controls_Manager::SWITCHER,
286
- 'return_value' => 'yes',
287
- 'default' => 'no'
288
- ]
289
- );
290
-
291
- $this->add_control(
292
- 'slpause_on_hover',
293
- [
294
- 'type' => Controls_Manager::SWITCHER,
295
- 'label_off' => __('No', 'woolentor'),
296
- 'label_on' => __('Yes', 'woolentor'),
297
- 'return_value' => 'yes',
298
- 'default' => 'yes',
299
- 'label' => __('Pause on Hover?', 'woolentor'),
300
- ]
301
- );
302
-
303
- $this->add_control(
304
- 'slautolay',
305
- [
306
- 'label' => esc_html__( 'Slider autoplay', 'woolentor' ),
307
- 'type' => Controls_Manager::SWITCHER,
308
- 'return_value' => 'yes',
309
- 'separator' => 'before',
310
- 'default' => 'no'
311
- ]
312
- );
313
-
314
- $this->add_control(
315
- 'slautoplay_speed',
316
- [
317
- 'label' => __('Autoplay speed', 'woolentor'),
318
- 'type' => Controls_Manager::NUMBER,
319
- 'default' => 3000,
320
- 'condition' => [
321
- 'slautolay' => 'yes',
322
- ]
323
- ]
324
- );
325
-
326
- $this->add_control(
327
- 'slanimation_speed',
328
- [
329
- 'label' => __('Autoplay animation speed', 'woolentor'),
330
- 'type' => Controls_Manager::NUMBER,
331
- 'default' => 300,
332
- 'condition' => [
333
- 'slautolay' => 'yes',
334
- ]
335
- ]
336
- );
337
-
338
- $this->add_control(
339
- 'slscroll_columns',
340
- [
341
- 'label' => __('Slider item to scroll', 'woolentor'),
342
- 'type' => Controls_Manager::NUMBER,
343
- 'min' => 1,
344
- 'step' => 1,
345
- 'default' => 3,
346
- ]
347
- );
348
-
349
- $this->add_control(
350
- 'heading_tablet',
351
- [
352
- 'label' => __( 'Tablet', 'woolentor' ),
353
- 'type' => Controls_Manager::HEADING,
354
- 'separator' => 'after',
355
- ]
356
- );
357
-
358
- $this->add_control(
359
- 'sltablet_display_columns',
360
- [
361
- 'label' => __('Slider Items', 'woolentor'),
362
- 'type' => Controls_Manager::NUMBER,
363
- 'min' => 1,
364
- 'step' => 1,
365
- 'default' => 2,
366
- ]
367
- );
368
-
369
- $this->add_control(
370
- 'sltablet_scroll_columns',
371
- [
372
- 'label' => __('Slider item to scroll', 'woolentor'),
373
- 'type' => Controls_Manager::NUMBER,
374
- 'min' => 1,
375
- 'step' => 1,
376
- 'default' => 2,
377
- ]
378
- );
379
-
380
- $this->add_control(
381
- 'sltablet_width',
382
- [
383
- 'label' => __('Tablet Resolution', 'woolentor'),
384
- 'description' => __('The resolution to the tablet.', 'woolentor'),
385
- 'type' => Controls_Manager::NUMBER,
386
- 'default' => 750,
387
- ]
388
- );
389
-
390
- $this->add_control(
391
- 'heading_mobile',
392
- [
393
- 'label' => __( 'Mobile Phone', 'woolentor' ),
394
- 'type' => Controls_Manager::HEADING,
395
- 'separator' => 'after',
396
- ]
397
- );
398
-
399
- $this->add_control(
400
- 'slmobile_display_columns',
401
- [
402
- 'label' => __('Slider Items', 'woolentor'),
403
- 'type' => Controls_Manager::NUMBER,
404
- 'min' => 1,
405
- 'step' => 1,
406
- 'default' => 1,
407
- ]
408
- );
409
-
410
- $this->add_control(
411
- 'slmobile_scroll_columns',
412
- [
413
- 'label' => __('Slider item to scroll', 'woolentor'),
414
- 'type' => Controls_Manager::NUMBER,
415
- 'min' => 1,
416
- 'step' => 1,
417
- 'default' => 1,
418
- ]
419
- );
420
-
421
- $this->add_control(
422
- 'slmobile_width',
423
- [
424
- 'label' => __('Mobile Resolution', 'woolentor'),
425
- 'description' => __('The resolution to mobile.', 'woolentor'),
426
- 'type' => Controls_Manager::NUMBER,
427
- 'default' => 480,
428
- ]
429
- );
430
-
431
- $this->end_controls_section();
432
-
433
- // Area Style Section
434
- $this->start_controls_section(
435
- 'category_area_style_section',
436
- [
437
- 'label' => esc_html__( 'Area', 'woolentor' ),
438
- 'tab' => Controls_Manager::TAB_STYLE,
439
- ]
440
- );
441
-
442
- $this->add_responsive_control(
443
- 'area_padding',
444
- [
445
- 'label' => __( 'Padding', 'woolentor' ),
446
- 'type' => Controls_Manager::DIMENSIONS,
447
- 'size_units' => [ 'px', '%', 'em' ],
448
- 'selectors' => [
449
- '{{WRAPPER}} [class*="ht-category-wrap"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
450
- ],
451
- ]
452
- );
453
-
454
- $this->add_group_control(
455
- Group_Control_Box_Shadow::get_type(),
456
- [
457
- 'name' => 'area_box_shadow',
458
- 'label' => __( 'Box Shadow', 'woolentor' ),
459
- 'selector' => '{{WRAPPER}} [class*="ht-category-wrap"]',
460
- ]
461
- );
462
-
463
- $this->add_group_control(
464
- Group_Control_Background::get_type(),
465
- [
466
- 'name' => 'area_box_background',
467
- 'label' => __( 'Background', 'woolentor' ),
468
- 'types' => [ 'classic', 'gradient' ],
469
- 'selector' => '{{WRAPPER}} [class*="ht-category-wrap"]',
470
- ]
471
- );
472
-
473
- $this->end_controls_section();
474
-
475
- // Image Style Section
476
- $this->start_controls_section(
477
- 'category_image_style_section',
478
- [
479
- 'label' => esc_html__( 'Image', 'woolentor' ),
480
- 'tab' => Controls_Manager::TAB_STYLE,
481
- ]
482
- );
483
-
484
- $this->add_control(
485
- 'image_box_color',
486
- [
487
- 'label' => __( 'Box Color', 'woolentor' ),
488
- 'type' => Controls_Manager::COLOR,
489
- 'selectors' => [
490
- '{{WRAPPER}} .ht-category-wrap .ht-category-image a.ht-category-border::before' => 'border-color: {{VALUE}}',
491
- '{{WRAPPER}} .ht-category-wrap-2:hover::before' => 'border-color: {{VALUE}}',
492
- '{{WRAPPER}} .ht-category-wrap .ht-category-image a.ht-category-border-2::before' => 'border-color: {{VALUE}}',
493
- ],
494
- ]
495
- );
496
-
497
- $this->add_responsive_control(
498
- 'image_margin',
499
- [
500
- 'label' => __( 'Margin', 'woolentor' ),
501
- 'type' => Controls_Manager::DIMENSIONS,
502
- 'size_units' => [ 'px', '%', 'em' ],
503
- 'selectors' => [
504
- '{{WRAPPER}} .ht-category-wrap .ht-category-image' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
505
- '{{WRAPPER}} [class*="ht-category-wrap"] [class*="ht-category-image-"]' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
506
- ],
507
- ]
508
- );
509
-
510
- $this->add_group_control(
511
- Group_Control_Border::get_type(),
512
- [
513
- 'name' => 'image_border',
514
- 'label' => __( 'Border', 'woolentor' ),
515
- 'selector' => '{{WRAPPER}} .ht-category-wrap .ht-category-image,{{WRAPPER}} [class*="ht-category-wrap"] [class*="ht-category-image-"]',
516
- ]
517
- );
518
-
519
- $this->add_responsive_control(
520
- 'image_border_radius',
521
- [
522
- 'label' => __( 'Border Radius', 'woolentor' ),
523
- 'type' => Controls_Manager::DIMENSIONS,
524
- 'size_units' => [ 'px', '%', 'em' ],
525
- 'selectors' => [
526
- '{{WRAPPER}} .ht-category-wrap .ht-category-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
527
- '{{WRAPPER}} .ht-category-wrap .ht-category-image a.ht-category-border::before' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
528
- '{{WRAPPER}} [class*="ht-category-wrap"] [class*="ht-category-image-"]' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
529
- ],
530
- ]
531
- );
532
-
533
- $this->end_controls_section();
534
-
535
- // Title Style Section
536
- $this->start_controls_section(
537
- 'category_title_style',
538
- [
539
- 'label' => esc_html__( 'Title', 'woolentor' ),
540
- 'tab' => Controls_Manager::TAB_STYLE,
541
- ]
542
- );
543
-
544
- $this->add_control(
545
- 'title_color',
546
- [
547
- 'label' => __( 'Color', 'woolentor' ),
548
- 'type' => Controls_Manager::COLOR,
549
- 'selectors' => [
550
- '{{WRAPPER}} .ht-category-wrap .ht-category-content h3 a' => 'color: {{VALUE}}',
551
- '{{WRAPPER}} [class*="ht-category-wrap"] [class*="ht-category-content-"] h3 a' => 'color: {{VALUE}}',
552
- ],
553
- ]
554
- );
555
-
556
- $this->add_control(
557
- 'title_hover_color',
558
- [
559
- 'label' => __( 'Hover Color', 'woolentor' ),
560
- 'type' => Controls_Manager::COLOR,
561
- 'selectors' => [
562
- '{{WRAPPER}} .ht-category-wrap .ht-category-content h3 a:hover' => 'color: {{VALUE}}',
563
- '{{WRAPPER}} [class*="ht-category-wrap"] [class*="ht-category-content-"] h3 a:hover' => 'color: {{VALUE}}',
564
- ],
565
- ]
566
- );
567
-
568
- $this->add_control(
569
- 'title_after_color',
570
- [
571
- 'label' => __( 'After Border Color', 'woolentor' ),
572
- 'type' => Controls_Manager::COLOR,
573
- 'selectors' => [
574
- '{{WRAPPER}} .ht-category-wrap-2 .ht-category-content-2 h3::before' => 'background-color: {{VALUE}}',
575
- ],
576
- 'condition'=>[
577
- 'layout'=>['2'],
578
- ]
579
- ]
580
- );
581
-
582
- $this->add_group_control(
583
- Group_Control_Typography::get_type(),
584
- [
585
- 'name' => 'title_typography',
586
- 'label' => __( 'Typography', 'woolentor' ),
587
- 'selector' => '{{WRAPPER}} .ht-category-wrap .ht-category-content h3 a,{{WRAPPER}} [class*="ht-category-wrap"] [class*="ht-category-content-"] h3 a',
588
- ]
589
- );
590
-
591
- $this->add_responsive_control(
592
- 'title_margin',
593
- [
594
- 'label' => __( 'Margin', 'woolentor' ),
595
- 'type' => Controls_Manager::DIMENSIONS,
596
- 'size_units' => [ 'px', '%', 'em' ],
597
- 'selectors' => [
598
- '{{WRAPPER}} .ht-category-wrap .ht-category-content h3' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
599
- '{{WRAPPER}} [class*="ht-category-wrap"] [class*="ht-category-content-"] h3' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
600
- ],
601
- ]
602
- );
603
-
604
- $this->end_controls_section();
605
-
606
- // Count Style Section
607
- $this->start_controls_section(
608
- 'category_count_style',
609
- [
610
- 'label' => esc_html__( 'Count', 'woolentor' ),
611
- 'tab' => Controls_Manager::TAB_STYLE,
612
- ]
613
- );
614
-
615
- $this->add_control(
616
- 'count_color',
617
- [
618
- 'label' => __( 'Color', 'woolentor' ),
619
- 'type' => Controls_Manager::COLOR,
620
- 'selectors' => [
621
- '{{WRAPPER}} .ht-category-wrap [class*="ht-category-content"] span' => 'color: {{VALUE}}',
622
- ],
623
- ]
624
- );
625
-
626
- $this->add_control(
627
- 'count_before_color',
628
- [
629
- 'label' => __( 'Before Border Color', 'woolentor' ),
630
- 'type' => Controls_Manager::COLOR,
631
- 'selectors' => [
632
- '{{WRAPPER}} .ht-category-wrap [class*="ht-category-content"] span::before' => 'background-color: {{VALUE}}',
633
- ],
634
- ]
635
- );
636
-
637
- $this->add_group_control(
638
- Group_Control_Typography::get_type(),
639
- [
640
- 'name' => 'count_typography',
641
- 'label' => __( 'Typography', 'woolentor' ),
642
- 'selector' => '{{WRAPPER}} .ht-category-wrap [class*="ht-category-content"] span',
643
- ]
644
- );
645
-
646
- $this->end_controls_section();
647
-
648
- // Slider Button style
649
- $this->start_controls_section(
650
- 'products-slider-controller-style',
651
- [
652
- 'label' => esc_html__( 'Slider Controller Style', 'woolentor' ),
653
- 'tab' => Controls_Manager::TAB_STYLE,
654
- 'condition' => [
655
- 'slider_on' => 'yes',
656
- ]
657
- ]
658
- );
659
-
660
- $this->start_controls_tabs('product_sliderbtn_style_tabs');
661
-
662
- // Slider Button style Normal
663
- $this->start_controls_tab(
664
- 'product_sliderbtn_style_normal_tab',
665
- [
666
- 'label' => __( 'Normal', 'woolentor' ),
667
- ]
668
- );
669
-
670
- $this->add_control(
671
- 'button_style_heading',
672
- [
673
- 'label' => __( 'Navigation Arrow', 'woolentor' ),
674
- 'type' => Controls_Manager::HEADING,
675
- ]
676
- );
677
-
678
- $this->add_responsive_control(
679
- 'nvigation_position',
680
- [
681
- 'label' => __( 'Position', 'woolentor' ),
682
- 'type' => Controls_Manager::SLIDER,
683
- 'size_units' => [ 'px', '%' ],
684
- 'range' => [
685
- 'px' => [
686
- 'min' => 0,
687
- 'max' => 1000,
688
- 'step' => 1,
689
- ],
690
- '%' => [
691
- 'min' => 0,
692
- 'max' => 100,
693
- ],
694
- ],
695
- 'selectors' => [
696
- '{{WRAPPER}} .product-slider .slick-arrow' => 'top: {{SIZE}}{{UNIT}};',
697
- ],
698
- ]
699
- );
700
-
701
- $this->add_control(
702
- 'button_color',
703
- [
704
- 'label' => __( 'Color', 'woolentor' ),
705
- 'type' => Controls_Manager::COLOR,
706
- 'selectors' => [
707
- '{{WRAPPER}} .product-slider .slick-arrow' => 'color: {{VALUE}};',
708
- ],
709
- ]
710
- );
711
-
712
- $this->add_control(
713
- 'button_bg_color',
714
- [
715
- 'label' => __( 'Background Color', 'woolentor' ),
716
- 'type' => Controls_Manager::COLOR,
717
- 'selectors' => [
718
- '{{WRAPPER}} .product-slider .slick-arrow' => 'background-color: {{VALUE}} !important;',
719
- ],
720
- ]
721
- );
722
-
723
- $this->add_group_control(
724
- Group_Control_Border::get_type(),
725
- [
726
- 'name' => 'button_border',
727
- 'label' => __( 'Border', 'woolentor' ),
728
- 'selector' => '{{WRAPPER}} .product-slider .slick-arrow',
729
- ]
730
- );
731
-
732
- $this->add_responsive_control(
733
- 'button_border_radius',
734
- [
735
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
736
- 'type' => Controls_Manager::DIMENSIONS,
737
- 'selectors' => [
738
- '{{WRAPPER}} .product-slider .slick-arrow' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
739
- ],
740
- ]
741
- );
742
-
743
- $this->add_responsive_control(
744
- 'button_padding',
745
- [
746
- 'label' => __( 'Padding', 'woolentor' ),
747
- 'type' => Controls_Manager::DIMENSIONS,
748
- 'size_units' => [ 'px', '%', 'em' ],
749
- 'selectors' => [
750
- '{{WRAPPER}} .product-slider .slick-arrow' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
751
- ],
752
- ]
753
- );
754
-
755
- $this->add_control(
756
- 'button_style_dots_heading',
757
- [
758
- 'label' => __( 'Navigation Dots', 'woolentor' ),
759
- 'type' => Controls_Manager::HEADING,
760
- ]
761
- );
762
-
763
- $this->add_responsive_control(
764
- 'dots_position',
765
- [
766
- 'label' => __( 'Position', 'woolentor' ),
767
- 'type' => Controls_Manager::SLIDER,
768
- 'size_units' => [ 'px', '%' ],
769
- 'range' => [
770
- 'px' => [
771
- 'min' => 0,
772
- 'max' => 1000,
773
- 'step' => 1,
774
- ],
775
- '%' => [
776
- 'min' => 0,
777
- 'max' => 100,
778
- ],
779
- ],
780
- 'selectors' => [
781
- '{{WRAPPER}} .product-slider .slick-dots' => 'left: {{SIZE}}{{UNIT}};',
782
- ],
783
- ]
784
- );
785
-
786
- $this->add_control(
787
- 'dots_bg_color',
788
- [
789
- 'label' => __( 'Background Color', 'woolentor' ),
790
- 'type' => Controls_Manager::COLOR,
791
- 'selectors' => [
792
- '{{WRAPPER}} .product-slider .slick-dots li button' => 'background-color: {{VALUE}} !important;',
793
- ],
794
- ]
795
- );
796
-
797
- $this->add_group_control(
798
- Group_Control_Border::get_type(),
799
- [
800
- 'name' => 'dots_border',
801
- 'label' => __( 'Border', 'woolentor' ),
802
- 'selector' => '{{WRAPPER}} .product-slider .slick-dots li button',
803
- ]
804
- );
805
-
806
- $this->add_responsive_control(
807
- 'dots_border_radius',
808
- [
809
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
810
- 'type' => Controls_Manager::DIMENSIONS,
811
- 'selectors' => [
812
- '{{WRAPPER}} .product-slider .slick-dots li button' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
813
- ],
814
- ]
815
- );
816
-
817
- $this->end_controls_tab();// Normal button style end
818
-
819
- // Button style Hover
820
- $this->start_controls_tab(
821
- 'product_sliderbtn_style_hover_tab',
822
- [
823
- 'label' => __( 'Hover', 'woolentor' ),
824
- ]
825
- );
826
-
827
- $this->add_control(
828
- 'button_style_arrow_heading',
829
- [
830
- 'label' => __( 'Navigation', 'woolentor' ),
831
- 'type' => Controls_Manager::HEADING,
832
- ]
833
- );
834
-
835
- $this->add_control(
836
- 'button_hover_color',
837
- [
838
- 'label' => __( 'Color', 'woolentor' ),
839
- 'type' => Controls_Manager::COLOR,
840
- 'selectors' => [
841
- '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'color: {{VALUE}};',
842
- ],
843
- ]
844
- );
845
-
846
- $this->add_control(
847
- 'button_hover_bg_color',
848
- [
849
- 'label' => __( 'Background', 'woolentor' ),
850
- 'type' => Controls_Manager::COLOR,
851
- 'selectors' => [
852
- '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'background-color: {{VALUE}} !important;',
853
- ],
854
- ]
855
- );
856
-
857
- $this->add_group_control(
858
- Group_Control_Border::get_type(),
859
- [
860
- 'name' => 'button_hover_border',
861
- 'label' => __( 'Border', 'woolentor' ),
862
- 'selector' => '{{WRAPPER}} .product-slider .slick-arrow:hover',
863
- ]
864
- );
865
-
866
- $this->add_responsive_control(
867
- 'button_hover_border_radius',
868
- [
869
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
870
- 'type' => Controls_Manager::DIMENSIONS,
871
- 'selectors' => [
872
- '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
873
- ],
874
- ]
875
- );
876
-
877
-
878
- $this->add_control(
879
- 'button_style_dotshov_heading',
880
- [
881
- 'label' => __( 'Navigation Dots', 'woolentor' ),
882
- 'type' => Controls_Manager::HEADING,
883
- ]
884
- );
885
-
886
- $this->add_control(
887
- 'dots_hover_bg_color',
888
- [
889
- 'label' => __( 'Background Color', 'woolentor' ),
890
- 'type' => Controls_Manager::COLOR,
891
- 'selectors' => [
892
- '{{WRAPPER}} .product-slider .slick-dots li button:hover' => 'background-color: {{VALUE}} !important;',
893
- '{{WRAPPER}} .product-slider .slick-dots li.slick-active button' => 'background-color: {{VALUE}} !important;',
894
- ],
895
- ]
896
- );
897
-
898
- $this->add_group_control(
899
- Group_Control_Border::get_type(),
900
- [
901
- 'name' => 'dots_border_hover',
902
- 'label' => __( 'Border', 'woolentor' ),
903
- 'selector' => '{{WRAPPER}} .product-slider .slick-dots li button:hover',
904
- ]
905
- );
906
-
907
- $this->add_responsive_control(
908
- 'dots_border_radius_hover',
909
- [
910
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
911
- 'type' => Controls_Manager::DIMENSIONS,
912
- 'selectors' => [
913
- '{{WRAPPER}} .product-slider .slick-dots li button:hover' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
914
- ],
915
- ]
916
- );
917
-
918
- $this->end_controls_tab();// Hover button style end
919
-
920
- $this->end_controls_tabs();
921
-
922
- $this->end_controls_section(); // Tab option end
923
-
924
- }
925
-
926
-
927
- protected function render( $instance = [] ) {
928
- $settings = $this->get_settings_for_display();
929
-
930
- $display_type = $settings['category_display_type'];
931
- $order = ! empty( $settings['catorder'] ) ? $settings['catorder'] : '';
932
-
933
- $column = $settings['category_grid_column'];
934
- $layout = $settings['layout'];
935
-
936
- $collumval = 'wl-col-1';
937
- if( $column !='' ){
938
- $collumval = 'wl-col-'.$column;
939
- }
940
-
941
- $catargs = array(
942
- 'orderby' => 'name',
943
- 'order' => $order,
944
- 'hide_empty' => true,
945
- );
946
-
947
- if( $display_type == 'single_cat' ){
948
- $product_categories = $settings['product_categories'];
949
- $product_cats = str_replace( ' ', '', $product_categories );
950
- $catargs['slug'] = $product_cats;
951
- }
952
- elseif( $display_type == 'multiple_cat' ){
953
- $product_categories = $settings['multi_categories'];
954
- $product_cats = str_replace(' ', '', $product_categories);
955
- $catargs['slug'] = $product_cats;
956
- }else{
957
- $catargs['slug'] = '';
958
- }
959
- $prod_categories = get_terms( 'product_cat', $catargs );
960
-
961
- if( $display_type == 'all_cat' ){
962
- $limitcount = $settings['limitcount'];
963
- }else{
964
- $limitcount = -1;
965
- }
966
-
967
- $size = $settings['thumbnailsize_size'];
968
- $image_size = Null;
969
- if( $size === 'custom' ){
970
- $image_size = [
971
- $settings['thumbnailsize_custom_dimension']['width'],
972
- $settings['thumbnailsize_custom_dimension']['height']
973
- ];
974
- }else{
975
- $image_size = $size;
976
- }
977
-
978
-
979
- // Slider Options
980
- if( $settings['slider_on'] === 'yes' ){
981
-
982
- $is_rtl = is_rtl();
983
- $direction = $is_rtl ? 'rtl' : 'ltr';
984
- $slider_settings = [
985
- 'arrows' => ('yes' === $settings['slarrows']),
986
- 'dots' => ('yes' === $settings['sldots']),
987
- 'autoplay' => ('yes' === $settings['slautolay']),
988
- 'autoplay_speed' => absint($settings['slautoplay_speed']),
989
- 'animation_speed' => absint($settings['slanimation_speed']),
990
- 'pause_on_hover' => ('yes' === $settings['slpause_on_hover']),
991
- 'rtl' => $is_rtl,
992
- ];
993
-
994
- $slider_responsive_settings = [
995
- 'product_items' => $settings['slitems'],
996
- 'scroll_columns' => $settings['slscroll_columns'],
997
- 'tablet_width' => $settings['sltablet_width'],
998
- 'tablet_display_columns' => $settings['sltablet_display_columns'],
999
- 'tablet_scroll_columns' => $settings['sltablet_scroll_columns'],
1000
- 'mobile_width' => $settings['slmobile_width'],
1001
- 'mobile_display_columns' => $settings['slmobile_display_columns'],
1002
- 'mobile_scroll_columns' => $settings['slmobile_scroll_columns'],
1003
-
1004
- ];
1005
- $slider_settings = array_merge( $slider_settings, $slider_responsive_settings );
1006
- }else{
1007
- $slider_settings = '';
1008
- }
1009
-
1010
- $counter = $bgc = 0;
1011
- $thumbnails = '';
1012
-
1013
- $placeholder_image = sprintf( '<img src="%s" alt="%s" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting category image', 'woolentor' ) );
1014
-
1015
- echo '<div class="wl-row '.( $settings['no_gutters'] === 'yes' ? 'wlno-gutters' : '' ).' '.( $settings['slider_on'] === 'yes' ? 'product-slider' : '' ).' " data-settings='.wp_json_encode( $slider_settings ).'>';
1016
- foreach ( $prod_categories as $key => $prod_cat ):
1017
- $counter++;
1018
- $bgc++;
1019
-
1020
- $cat_thumb_id = get_term_meta( $prod_cat->term_id, 'thumbnail_id', true );
1021
-
1022
- $cat_thumb = wp_get_attachment_image( $cat_thumb_id, $image_size );
1023
-
1024
- $term_link = get_term_link( $prod_cat, 'product_cat' );
1025
-
1026
- $thumbnails = $cat_thumb;
1027
-
1028
- ?>
1029
- <div class="<?php echo esc_attr( $collumval ); ?>">
1030
-
1031
- <?php if( '1' === $layout ): ?>
1032
- <div class="ht-category-wrap">
1033
- <?php if( !empty( $thumbnails ) ): ?>
1034
- <div class="ht-category-image ht-category-image-zoom">
1035
- <a class="ht-category-border" href="<?php echo esc_url( $term_link ); ?>">
1036
- <?php echo $thumbnails; ?>
1037
- </a>
1038
- </div>
1039
- <?php endif; ?>
1040
-
1041
- <div class="ht-category-content">
1042
- <h3><a href="<?php echo esc_url( $term_link ); ?>"><?php echo esc_html__( $prod_cat->name, 'woolentor' ); ?></a></h3>
1043
- <?php
1044
- if( $settings['show_count'] === 'yes' ){
1045
- echo '<span>'.esc_html__( $prod_cat->count, 'woolentor' ).'</span>';
1046
- }
1047
- ?>
1048
- </div>
1049
- </div>
1050
-
1051
- <?php elseif( '2' === $layout ):?>
1052
- <div class="ht-category-wrap-2">
1053
- <div class="ht-category-content-2">
1054
- <h3><a href="<?php echo esc_url( $term_link ); ?>"><?php echo esc_html__( $prod_cat->name, 'woolentor' ); ?></a></h3>
1055
- </div>
1056
- <?php if( !empty( $thumbnails ) ):?>
1057
- <div class="ht-category-image-2">
1058
- <a href="<?php echo esc_url( $term_link ); ?>">
1059
- <?php echo $thumbnails; ?>
1060
- </a>
1061
- </div>
1062
- <?php endif; ?>
1063
- </div>
1064
-
1065
- <?php elseif( '3' === $layout ):?>
1066
- <div class="ht-category-wrap">
1067
- <?php if( !empty( $thumbnails ) ): ?>
1068
- <div class="ht-category-image ht-category-image-zoom">
1069
- <a class="ht-category-border-2" href="<?php echo esc_url( $term_link ); ?>">
1070
- <?php echo $thumbnails; ?>
1071
- </a>
1072
- </div>
1073
- <?php else: ?>
1074
- <div class="ht-category-image ht-category-image-zoom">
1075
- <a class="ht-category-border-2" href="<?php echo esc_url( $term_link ); ?>">
1076
- <?php echo $placeholder_image; ?>
1077
- </a>
1078
- </div>
1079
- <?php endif; ?>
1080
- <div class="ht-category-content-3 ht-category-content-3-bg<?php echo $bgc; ?>">
1081
- <h3><a href="<?php echo esc_url( $term_link ); ?>"><?php echo esc_html__( $prod_cat->name, 'woolentor' ); ?></a></h3>
1082
- </div>
1083
- </div>
1084
-
1085
- <?php elseif( '4' === $layout ):?>
1086
- <div class="ht-category-wrap">
1087
- <?php if( !empty( $thumbnails ) ):?>
1088
- <div class="ht-category-image ht-category-image-zoom">
1089
- <a href="<?php echo esc_url( $term_link ); ?>">
1090
- <?php echo $thumbnails; ?>
1091
- </a>
1092
- </div>
1093
- <?php endif; ?>
1094
- <div class="ht-category-content-4">
1095
- <h3>
1096
- <a href="<?php echo esc_url( $term_link ); ?>"><?php echo esc_html__( $prod_cat->name, 'woolentor' ); ?></a>
1097
- <?php
1098
- if( $settings['show_count'] === 'yes' ){
1099
- echo '<span>('.esc_html__( $prod_cat->count, 'woolentor' ).')</span>';
1100
- }
1101
- ?>
1102
- </h3>
1103
- </div>
1104
- </div>
1105
- <?php else:?>
1106
- <div class="ht-category-wrap">
1107
- <?php if( !empty( $thumbnails ) ):?>
1108
- <div class="ht-category-image-3 ht-category-image-zoom">
1109
- <a href="<?php echo esc_url( $term_link ); ?>">
1110
- <?php echo $thumbnails; ?>
1111
- </a>
1112
- </div>
1113
- <?php endif; ?>
1114
- <div class="ht-category-content-5">
1115
- <h3><a href="<?php echo esc_url( $term_link ); ?>"><?php echo esc_html__( $prod_cat->name, 'woolentor' ); ?></a></h3>
1116
- </div>
1117
- </div>
1118
-
1119
- <?php endif; ?>
1120
-
1121
- </div>
1122
- <?php
1123
- if( $bgc == 4 ){ $bgc = 0; }
1124
- if( $counter == $limitcount ) { break; }
1125
- endforeach;
1126
- echo '</div>';
1127
- }
1128
-
1129
- }
1130
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Category_Grid_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wl_faq.php DELETED
@@ -1,948 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Faq_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wl-faq';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: FAQ', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-accordion';
18
- }
19
-
20
- public function get_categories() {
21
- return [ 'woolentor-addons' ];
22
- }
23
-
24
- public function get_style_depends(){
25
- return [ 'woolentor-faq' ];
26
- }
27
-
28
- public function get_script_depends(){
29
- return [ 'woolentor-accordion-min','woolentor-widgets-scripts' ];
30
- }
31
-
32
- public function get_keywords(){
33
- return ['faq','question','answer'];
34
- }
35
-
36
- protected function _register_controls() {
37
-
38
- $this->start_controls_section(
39
- 'content_section',
40
- [
41
- 'label' => esc_html__( 'Content', 'woolentor' ),
42
- ]
43
- );
44
-
45
- $repeater = new Repeater();
46
-
47
- $repeater->add_control(
48
- 'content_source',
49
- [
50
- 'label' => esc_html__( 'Select Content Source', 'woolentor' ),
51
- 'type' => Controls_Manager::SELECT,
52
- 'default' => 'custom',
53
- 'options' => [
54
- 'custom' => esc_html__( 'Custom', 'woolentor' ),
55
- "elementor" => esc_html__( 'Elementor Template', 'woolentor' ),
56
- ],
57
- 'label_block'=>true,
58
- ]
59
- );
60
-
61
- $repeater->add_control(
62
- 'title',
63
- [
64
- 'label' => esc_html__( 'Title', 'woolentor' ),
65
- 'type' => Controls_Manager::TEXT,
66
- 'default' => esc_html__( 'FAQ Title', 'woolentor' ),
67
- 'placeholder' => esc_html__( 'Type your faq title here', 'woolentor' ),
68
- 'label_block'=>true,
69
- 'dynamic' => [
70
- 'active' => true,
71
- ],
72
- ]
73
- );
74
-
75
- $repeater->add_control(
76
- 'content',
77
- [
78
- 'label' => esc_html__( 'Content', 'woolentor' ),
79
- 'type' => Controls_Manager::WYSIWYG,
80
- 'default' => '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris niesi ut aliquip ex ea commodo consequat.sed do eiusmod tempor incididunt ut quis labore et doliore magna aliqua.</p>',
81
- 'condition' => [
82
- 'content_source' =>'custom',
83
- ],
84
- 'dynamic' => [
85
- 'active' => true,
86
- ],
87
- ]
88
- );
89
-
90
- $repeater->add_control(
91
- 'template_id',
92
- [
93
- 'label' => esc_html__( 'Select Template', 'woolentor' ),
94
- 'type' => Controls_Manager::SELECT,
95
- 'default' => '0',
96
- 'options' => woolentor_elementor_template(),
97
- 'condition' => [
98
- 'content_source' =>'elementor',
99
- ],
100
- 'label_block'=>true,
101
- ]
102
- );
103
-
104
- $repeater->add_control(
105
- 'individual_icon',
106
- [
107
- 'label' => esc_html__( 'Do you want to individual icon ?', 'woolentor' ),
108
- 'type' => Controls_Manager::SWITCHER,
109
- 'label_on' => esc_html__( 'Yes', 'woolentor' ),
110
- 'label_off' => esc_html__( 'No', 'woolentor' ),
111
- 'return_value' => 'yes',
112
- 'default' => 'no',
113
- ]
114
- );
115
-
116
- $repeater->add_control(
117
- 'indopen_icon',
118
- [
119
- 'label' => esc_html__( 'Open Icon', 'woolentor' ),
120
- 'type' => Controls_Manager::ICONS,
121
- 'label_block' => true,
122
- 'fa4compatibility' => 'indopenicon',
123
- 'condition'=>[
124
- 'individual_icon'=>'yes',
125
- ],
126
- ]
127
- );
128
-
129
- $repeater->add_control(
130
- 'indclose_icon',
131
- [
132
- 'label' => esc_html__( 'Close Icon', 'woolentor' ),
133
- 'type' => Controls_Manager::ICONS,
134
- 'label_block' => true,
135
- 'fa4compatibility' => 'indcloseicon',
136
- 'condition'=>[
137
- 'individual_icon'=>'yes',
138
- ],
139
- ]
140
- );
141
-
142
- $this->add_control(
143
- 'accordion_list',
144
- [
145
- 'type' => Controls_Manager::REPEATER,
146
- 'fields' => $repeater->get_controls(),
147
- 'default' => [
148
- [
149
- 'title' => esc_html__( 'Words To Live By', 'woolentor' ),
150
- 'content' => '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris niesi ut aliquip ex ea commodo consequat.sed do eiusmod tempor incididunt ut quis labore et doliore magna aliqua.</p>',
151
- 'content_source'=>'custom',
152
- ],
153
- [
154
- 'title' => esc_html__( 'Producing Perfume From Home', 'woolentor' ),
155
- 'content' => '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris niesi ut aliquip ex ea commodo consequat.sed do eiusmod tempor incididunt ut quis labore et doliore magna aliqua.</p>',
156
- 'content_source'=>'custom',
157
- ],
158
- [
159
- 'title' => esc_html__( 'The Basics Of Western Astrology Explained', 'woolentor' ),
160
- 'content' => '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris niesi ut aliquip ex ea commodo consequat.sed do eiusmod tempor incididunt ut quis labore et doliore magna aliqua.</p>',
161
- 'content_source'=>'custom',
162
- ],
163
- [
164
- 'title' => esc_html__( 'What Curling Irons Are The Best Ones', 'woolentor' ),
165
- 'content' => '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris niesi ut aliquip ex ea commodo consequat.sed do eiusmod tempor incididunt ut quis labore et doliore magna aliqua.</p>',
166
- 'content_source'=>'custom',
167
- ]
168
- ],
169
- 'title_field' => '{{{ title }}}',
170
- ]
171
- );
172
-
173
- $this->end_controls_section();
174
-
175
- // Additional Options area Start
176
- $this->start_controls_section(
177
- 'aditional_options',
178
- [
179
- 'label' => esc_html__( 'Additional Options', 'woolentor' ),
180
- ]
181
- );
182
-
183
- $this->add_control(
184
- 'show_item',
185
- [
186
- 'label' => esc_html__( 'Show First Item', 'woolentor' ),
187
- 'type' => Controls_Manager::SWITCHER,
188
- 'label_on' => esc_html__( 'Yes', 'woolentor' ),
189
- 'label_off' => esc_html__( 'No', 'woolentor' ),
190
- 'return_value' => 'yes',
191
- 'default' => 'yes',
192
- 'separator'=>'after',
193
- ]
194
- );
195
-
196
- $this->add_control(
197
- 'custom_icon',
198
- [
199
- 'label' => esc_html__( 'Custom Icon', 'woolentor' ),
200
- 'type' => Controls_Manager::SWITCHER,
201
- 'label_on' => esc_html__( 'Yes', 'woolentor' ),
202
- 'label_off' => esc_html__( 'No', 'woolentor' ),
203
- 'return_value' => 'yes',
204
- 'default' => 'no',
205
- ]
206
- );
207
-
208
- $this->add_control(
209
- 'open_icon',
210
- [
211
- 'label' => esc_html__( 'Open Icon', 'woolentor' ),
212
- 'type' => Controls_Manager::ICONS,
213
- 'label_block' => true,
214
- 'fa4compatibility' => 'openicon',
215
- 'condition'=>[
216
- 'custom_icon'=>'yes',
217
- ],
218
- ]
219
- );
220
-
221
- $this->add_control(
222
- 'close_icon',
223
- [
224
- 'label' => esc_html__( 'Close Icon', 'woolentor' ),
225
- 'type' => Controls_Manager::ICONS,
226
- 'label_block' => true,
227
- 'fa4compatibility' => 'closeicon',
228
- 'condition'=>[
229
- 'custom_icon'=>'yes',
230
- ],
231
- ]
232
- );
233
-
234
- $this->add_control(
235
- 'icon_position',
236
- [
237
- 'label' => esc_html__( 'Icon Position', 'woolentor' ),
238
- 'type' => Controls_Manager::SELECT,
239
- 'default' => 'before',
240
- 'options' => [
241
- 'before'=> esc_html__( 'Before Title', 'woolentor' ),
242
- 'after' => esc_html__( 'After Title', 'woolentor' ),
243
- ],
244
- 'label_block'=>true,
245
- 'separator'=>'after',
246
- ]
247
- );
248
-
249
- $this->end_controls_section();
250
-
251
- // Accordion item style tab section
252
- $this->start_controls_section(
253
- 'accordion_item_style',
254
- [
255
- 'label' => esc_html__( 'FAQ Item', 'woolentor' ),
256
- 'tab' => Controls_Manager::TAB_STYLE,
257
- ]
258
- );
259
-
260
- $this->add_responsive_control(
261
- 'accordion_item_spacing',
262
- [
263
- 'label' => esc_html__( 'FAQ Item Spacing', 'woolentor' ),
264
- 'type' => Controls_Manager::SLIDER,
265
- 'range' => [
266
- 'px' => [
267
- 'min' => 0,
268
- 'max' => 150,
269
- ],
270
- ],
271
- 'default' => [
272
- 'size' => 12,
273
- ],
274
- 'selectors' => [
275
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card + .htwoolentor-faq-card' => 'margin-top: {{SIZE}}{{UNIT}};',
276
- ],
277
- ]
278
- );
279
-
280
- $this->add_group_control(
281
- Group_Control_Border::get_type(),
282
- [
283
- 'name' => 'accordion_item_border',
284
- 'label' => esc_html__( 'Border', 'woolentor' ),
285
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card',
286
- ]
287
- );
288
-
289
- $this->add_responsive_control(
290
- 'accordion_item_border_radius',
291
- [
292
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
293
- 'type' => Controls_Manager::DIMENSIONS,
294
- 'selectors' => [
295
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
296
- ],
297
- ]
298
- );
299
-
300
- $this->add_group_control(
301
- Group_Control_Background::get_type(),
302
- [
303
- 'name' => 'accordion_item_background',
304
- 'label' => esc_html__( 'Background', 'woolentor' ),
305
- 'types' => [ 'classic', 'gradient' ],
306
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card',
307
- ]
308
- );
309
-
310
- $this->add_group_control(
311
- Group_Control_Box_Shadow::get_type(),
312
- [
313
- 'name' => 'accordion_item_box_shadow',
314
- 'label' => esc_html__( 'Box Shadow', 'woolentor' ),
315
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card',
316
- ]
317
- );
318
-
319
- $this->add_responsive_control(
320
- 'accordion_item_padding',
321
- [
322
- 'label' => esc_html__( 'Padding', 'woolentor' ),
323
- 'type' => Controls_Manager::DIMENSIONS,
324
- 'size_units' => [ 'px', '%', 'em' ],
325
- 'selectors' => [
326
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
327
- ],
328
- 'separator' => 'before',
329
- ]
330
- );
331
-
332
- $this->end_controls_section();
333
-
334
- // Title style tab start
335
- $this->start_controls_section(
336
- 'accordion_title_style',
337
- [
338
- 'label' => esc_html__( 'FAQ Title', 'woolentor' ),
339
- 'tab' => Controls_Manager::TAB_STYLE,
340
- ]
341
- );
342
-
343
- $this->add_responsive_control(
344
- 'title_align',
345
- [
346
- 'label' => esc_html__( 'Alignment', 'woolentor' ),
347
- 'type' => Controls_Manager::CHOOSE,
348
- 'options' => [
349
- 'start' => [
350
- 'title' => esc_html__( 'Left', 'woolentor' ),
351
- 'icon' => 'fa fa-align-left',
352
- ],
353
- 'center' => [
354
- 'title' => esc_html__( 'Center', 'woolentor' ),
355
- 'icon' => 'fa fa-align-center',
356
- ],
357
- 'end' => [
358
- 'title' => esc_html__( 'Right', 'woolentor' ),
359
- 'icon' => 'fa fa-align-right',
360
- ],
361
- ],
362
- 'selectors' => [
363
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-head' => 'justify-content: {{VALUE}};',
364
- ],
365
- ]
366
- );
367
-
368
- $this->start_controls_tabs('accordion_title_style_tabs');
369
-
370
- // Accordion Title Normal tab Start
371
- $this->start_controls_tab(
372
- 'accordion_title_style_normal_tab',
373
- [
374
- 'label' => esc_html__( 'Normal', 'woolentor' ),
375
- ]
376
- );
377
-
378
- $this->add_group_control(
379
- Group_Control_Background::get_type(),
380
- [
381
- 'name' => 'title_normal_background',
382
- 'label' => esc_html__( 'Background', 'woolentor' ),
383
- 'types' => [ 'classic', 'gradient' ],
384
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head',
385
- ]
386
- );
387
-
388
- $this->add_responsive_control(
389
- 'accordion_title_padding',
390
- [
391
- 'label' => esc_html__( 'Padding', 'woolentor' ),
392
- 'type' => Controls_Manager::DIMENSIONS,
393
- 'size_units' => [ 'px', '%', 'em' ],
394
- 'selectors' => [
395
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
396
- ],
397
- 'separator' => 'before',
398
- ]
399
- );
400
-
401
- $this->add_group_control(
402
- Group_Control_Border::get_type(),
403
- [
404
- 'name' => 'accordion_title_border',
405
- 'label' => esc_html__( 'Border', 'woolentor' ),
406
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head',
407
- ]
408
- );
409
-
410
- $this->add_responsive_control(
411
- 'accordion_title_border_radius',
412
- [
413
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
414
- 'type' => Controls_Manager::DIMENSIONS,
415
- 'selectors' => [
416
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
417
- ],
418
- 'separator' => 'before',
419
- ]
420
- );
421
-
422
- $this->add_group_control(
423
- Group_Control_Box_Shadow::get_type(),
424
- [
425
- 'name' => 'title_box_shadow',
426
- 'label' => esc_html__( 'Box Shadow', 'woolentor' ),
427
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head',
428
- 'separator' => 'before',
429
- ]
430
- );
431
-
432
- $this->add_control(
433
- 'accordion_title_color',
434
- [
435
- 'label' => esc_html__( 'Color', 'woolentor' ),
436
- 'type' => Controls_Manager::COLOR,
437
- 'selectors' => [
438
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head' => 'color: {{VALUE}};',
439
- ],
440
- 'separator' => 'before',
441
- ]
442
- );
443
-
444
- $this->add_group_control(
445
- Group_Control_Typography::get_type(),
446
- [
447
- 'name' => 'title_typography',
448
- 'label' => esc_html__( 'Typography', 'woolentor' ),
449
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-head',
450
- 'separator' => 'before',
451
- ]
452
- );
453
-
454
- $this->end_controls_tab(); // Accordion Title Normal tab End
455
-
456
- // Accordion Title Active tab Start
457
- $this->start_controls_tab(
458
- 'accordion_title_style_active_tab',
459
- [
460
- 'label' => esc_html__( 'Active', 'woolentor' ),
461
- ]
462
- );
463
- $this->add_group_control(
464
- Group_Control_Background::get_type(),
465
- [
466
- 'name' => 'activebackground',
467
- 'label' => esc_html__( 'Background', 'woolentor' ),
468
- 'types' => [ 'classic', 'gradient' ],
469
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head',
470
- ]
471
- );
472
-
473
- $this->add_control(
474
- 'accordion_title_active_color',
475
- [
476
- 'label' => esc_html__( 'Color', 'woolentor' ),
477
- 'type' => Controls_Manager::COLOR,
478
- 'selectors' => [
479
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head' => 'color: {{VALUE}};',
480
- ],
481
- 'separator' => 'before',
482
- ]
483
- );
484
-
485
- $this->add_group_control(
486
- Group_Control_Border::get_type(),
487
- [
488
- 'name' => 'accordion_title_active_border',
489
- 'label' => esc_html__( 'Border', 'woolentor' ),
490
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head',
491
- ]
492
- );
493
-
494
- $this->add_responsive_control(
495
- 'accordion_title_active_border_radius',
496
- [
497
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
498
- 'type' => Controls_Manager::DIMENSIONS,
499
- 'selectors' => [
500
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
501
- ],
502
- 'separator' => 'before',
503
- ]
504
- );
505
-
506
- $this->add_responsive_control(
507
- 'accordion_title_active_padding',
508
- [
509
- 'label' => esc_html__( 'Padding', 'woolentor' ),
510
- 'type' => Controls_Manager::DIMENSIONS,
511
- 'size_units' => [ 'px', '%', 'em' ],
512
- 'selectors' => [
513
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
514
- ],
515
- 'separator' => 'before',
516
- ]
517
- );
518
-
519
- $this->add_group_control(
520
- Group_Control_Box_Shadow::get_type(),
521
- [
522
- 'name' => 'active_title_box_shadow',
523
- 'label' => esc_html__( 'Box Shadow', 'woolentor' ),
524
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head',
525
- 'separator' => 'before',
526
- ]
527
- );
528
-
529
- $this->end_controls_tab(); // FAQ Title Active tab End
530
-
531
- $this->end_controls_tabs();
532
-
533
- $this->end_controls_section();
534
-
535
-
536
- // Content style tab start
537
- $this->start_controls_section(
538
- 'accordion_content_style',
539
- [
540
- 'label' => esc_html__( 'FAQ Content', 'woolentor' ),
541
- 'tab' => Controls_Manager::TAB_STYLE,
542
- ]
543
- );
544
-
545
- $this->add_control(
546
- 'accordion_content_color',
547
- [
548
- 'label' => esc_html__( 'Color', 'woolentor' ),
549
- 'type' => Controls_Manager::COLOR,
550
- 'selectors' => [
551
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-content' => 'color: {{VALUE}};',
552
- ],
553
- 'separator' => 'before',
554
- ]
555
- );
556
-
557
- $this->add_group_control(
558
- Group_Control_Typography::get_type(),
559
- [
560
- 'name' => 'content_typography',
561
- 'label' => esc_html__( 'Typography', 'woolentor' ),
562
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-content',
563
- ]
564
- );
565
-
566
- $this->add_responsive_control(
567
- 'accordion_content_align',
568
- [
569
- 'label' => esc_html__( 'Alignment', 'woolentor' ),
570
- 'type' => Controls_Manager::CHOOSE,
571
- 'options' => [
572
- 'left' => [
573
- 'title' => esc_html__( 'Left', 'woolentor' ),
574
- 'icon' => 'fa fa-align-left',
575
- ],
576
- 'center' => [
577
- 'title' => esc_html__( 'Center', 'woolentor' ),
578
- 'icon' => 'fa fa-align-center',
579
- ],
580
- 'right' => [
581
- 'title' => esc_html__( 'Right', 'woolentor' ),
582
- 'icon' => 'fa fa-align-right',
583
- ],
584
- ],
585
- 'selectors' => [
586
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-content' => 'text-align: {{VALUE}};',
587
- ],
588
- ]
589
- );
590
-
591
- $this->add_responsive_control(
592
- 'accordion_content_padding',
593
- [
594
- 'label' => esc_html__( 'Padding', 'woolentor' ),
595
- 'type' => Controls_Manager::DIMENSIONS,
596
- 'selectors' => [
597
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card .htwoolentor-faq-content' => 'padding: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
598
- ],
599
- 'separator' => 'before',
600
- ]
601
- );
602
-
603
- $this->end_controls_section();
604
-
605
- // Icon style tab start
606
- $this->start_controls_section(
607
- 'accordion_icon_style',
608
- [
609
- 'label' => esc_html__( 'FAQ Icon', 'woolentor' ),
610
- 'tab' => Controls_Manager::TAB_STYLE,
611
- ]
612
- );
613
-
614
- // FAQ Icon tabs Start
615
- $this->start_controls_tabs('woolentor_faq_icon_style_tabs');
616
-
617
- // FAQ Icon normal tab Start
618
- $this->start_controls_tab(
619
- 'accordion_icon_style_tab',
620
- [
621
- 'label' => esc_html__( 'Normal', 'woolentor' ),
622
- ]
623
- );
624
-
625
- $this->add_control(
626
- 'accordion_icon_indecator_color',
627
- [
628
- 'label' => esc_html__( 'Color', 'woolentor' ),
629
- 'type' => Controls_Manager::COLOR,
630
- 'selectors' => [
631
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-indicator::before' => 'background-color: {{VALUE}};',
632
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-indicator::after' => 'background-color: {{VALUE}};',
633
- ],
634
- 'separator' => 'before',
635
- 'condition'=>[
636
- 'custom_icon!'=>'yes',
637
- ],
638
- ]
639
- );
640
-
641
- $this->add_group_control(
642
- Group_Control_Background::get_type(),
643
- [
644
- 'name' => 'iconbackground',
645
- 'label' => esc_html__( 'Background', 'woolentor' ),
646
- 'types' => [ 'classic', 'gradient' ],
647
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-icon',
648
- 'condition'=>[
649
- 'custom_icon'=>'yes',
650
- ],
651
- ]
652
- );
653
-
654
- $this->add_control(
655
- 'accordion_icon_color',
656
- [
657
- 'label' => esc_html__( 'Color', 'woolentor' ),
658
- 'type' => Controls_Manager::COLOR,
659
- 'selectors' => [
660
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-icon' => 'color: {{VALUE}};',
661
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-icon svg *' => 'stroke: {{VALUE}};fill:{{VALUE}};',
662
- ],
663
- 'separator' => 'before',
664
- 'condition'=>[
665
- 'custom_icon'=>'yes',
666
- ],
667
- ]
668
- );
669
-
670
- $this->add_group_control(
671
- Group_Control_Border::get_type(),
672
- [
673
- 'name' => 'accordion_icon_border',
674
- 'label' => esc_html__( 'Border', 'woolentor' ),
675
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-icon',
676
- 'condition'=>[
677
- 'custom_icon'=>'yes',
678
- ],
679
- ]
680
- );
681
-
682
- $this->add_responsive_control(
683
- 'accordion_icon_border_radius',
684
- [
685
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
686
- 'type' => Controls_Manager::DIMENSIONS,
687
- 'selectors' => [
688
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-icon' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
689
- ],
690
- 'separator' => 'before',
691
- 'condition'=>[
692
- 'custom_icon'=>'yes',
693
- ],
694
- ]
695
- );
696
-
697
- $this->add_group_control(
698
- Group_Control_Box_Shadow::get_type(),
699
- [
700
- 'name' => 'icon_box_shadow',
701
- 'label' => esc_html__( 'Box Shadow', 'woolentor' ),
702
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-icon',
703
- 'separator' => 'before',
704
- 'condition'=>[
705
- 'custom_icon'=>'yes',
706
- ],
707
- ]
708
- );
709
-
710
- $this->add_responsive_control(
711
- 'accordion_icon_lineheight',
712
- [
713
- 'label' => esc_html__( 'Icon Line Height', 'woolentor' ),
714
- 'type' => Controls_Manager::SLIDER,
715
- 'range' => [
716
- 'px' => [
717
- 'min' => 0,
718
- 'max' => 150,
719
- ],
720
- ],
721
- 'selectors' => [
722
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-icon' => 'line-height: {{SIZE}}{{UNIT}};',
723
- ],
724
- 'condition'=>[
725
- 'custom_icon'=>'yes',
726
- ],
727
- ]
728
- );
729
-
730
- $this->add_responsive_control(
731
- 'accordion_icon_width',
732
- [
733
- 'label' => esc_html__( 'Icon Width', 'woolentor' ),
734
- 'type' => Controls_Manager::SLIDER,
735
- 'range' => [
736
- 'px' => [
737
- 'min' => 0,
738
- 'max' => 200,
739
- ],
740
- ],
741
- 'selectors' => [
742
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card:not(.is-active) .htwoolentor-faq-head .htwoolentor-faq-head-icon' => 'width: {{SIZE}}{{UNIT}};',
743
- ],
744
- 'condition'=>[
745
- 'custom_icon'=>'yes',
746
- ],
747
- ]
748
- );
749
-
750
- $this->end_controls_tab(); // Accordion Icon normal tab End
751
-
752
- // Accordion Icon Active tab Start
753
- $this->start_controls_tab(
754
- 'accordion_active_icon_style_tab',
755
- [
756
- 'label' => esc_html__( 'Active', 'woolentor' ),
757
- ]
758
- );
759
-
760
- $this->add_control(
761
- 'accordion_icon_active_indecator_color',
762
- [
763
- 'label' => esc_html__( 'Color', 'woolentor' ),
764
- 'type' => Controls_Manager::COLOR,
765
- 'selectors' => [
766
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-indicator::before' => 'background-color: {{VALUE}};',
767
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-indicator::after' => 'background-color: {{VALUE}};',
768
- ],
769
- 'separator' => 'before',
770
- 'condition'=>[
771
- 'custom_icon!'=>'yes',
772
- ],
773
- ]
774
- );
775
-
776
- $this->add_group_control(
777
- Group_Control_Background::get_type(),
778
- [
779
- 'name' => 'iconactivebackground',
780
- 'label' => esc_html__( 'Background', 'woolentor' ),
781
- 'types' => [ 'classic', 'gradient' ],
782
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon',
783
- 'condition'=>[
784
- 'custom_icon'=>'yes',
785
- ],
786
- ]
787
- );
788
-
789
- $this->add_control(
790
- 'accordion_active_icon_color',
791
- [
792
- 'label' => esc_html__( 'Color', 'woolentor' ),
793
- 'type' => Controls_Manager::COLOR,
794
- 'selectors' => [
795
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon' => 'color: {{VALUE}};',
796
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon svg *' => 'stroke: {{VALUE}};fill:{{VALUE}};',
797
- ],
798
- 'separator' => 'before',
799
- 'condition'=>[
800
- 'custom_icon'=>'yes',
801
- ],
802
- ]
803
- );
804
-
805
- $this->add_group_control(
806
- Group_Control_Border::get_type(),
807
- [
808
- 'name' => 'accordion_active_icon_border',
809
- 'label' => esc_html__( 'Border', 'woolentor' ),
810
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon',
811
- 'condition'=>[
812
- 'custom_icon'=>'yes',
813
- ],
814
- ]
815
- );
816
-
817
- $this->add_responsive_control(
818
- 'accordion_active_icon_border_radius',
819
- [
820
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
821
- 'type' => Controls_Manager::DIMENSIONS,
822
- 'selectors' => [
823
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
824
- ],
825
- 'separator' => 'before',
826
- 'condition'=>[
827
- 'custom_icon'=>'yes',
828
- ],
829
- ]
830
- );
831
-
832
- $this->add_group_control(
833
- Group_Control_Box_Shadow::get_type(),
834
- [
835
- 'name' => 'icon_active_box_shadow',
836
- 'label' => esc_html__( 'Box Shadow', 'woolentor' ),
837
- 'selector' => '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon',
838
- 'separator' => 'before',
839
- 'condition'=>[
840
- 'custom_icon'=>'yes',
841
- ],
842
- ]
843
- );
844
-
845
- $this->add_control(
846
- 'accordion_active_icon_lineheight',
847
- [
848
- 'label' => esc_html__( 'Icon Line Height', 'woolentor' ),
849
- 'type' => Controls_Manager::SLIDER,
850
- 'range' => [
851
- 'px' => [
852
- 'min' => 0,
853
- 'max' => 150,
854
- ],
855
- ],
856
- 'selectors' => [
857
- '{{WRAPPER}} .htwoolentor-faq .htwoolentor-faq-card.is-active .htwoolentor-faq-head .htwoolentor-faq-head-icon' => 'line-height: {{SIZE}}{{UNIT}};',
858
- ],
859
- 'condition'=>[
860
- 'custom_icon'=>'yes',
861
- ],
862
- ]
863
- );
864
-
865
- $this->end_controls_tab(); // Accordion Icon Active tab End
866
-
867
- $this->end_controls_tabs();
868
-
869
- $this->end_controls_section(); // Icon style tabs end
870
-
871
-
872
- }
873
-
874
- protected function render( $instance = [] ) {
875
- $settings = $this->get_settings_for_display();
876
- $accordion_list = $this->get_settings_for_display('accordion_list');
877
- $id = $this->get_id();
878
-
879
- $this->add_render_attribute( 'area_attr', 'class', 'htwoolentor-faq htmove-icon-pos-'.$settings['icon_position'] );
880
- $this->add_render_attribute( 'area_attr', 'id', 'htwoolentor-faq-'.$id );
881
-
882
-
883
- $accordion_settings = [
884
- 'showitem' => ( 'yes' === $settings['show_item'] ),
885
- ];
886
- $this->add_render_attribute( 'area_attr', 'data-settings', wp_json_encode( $accordion_settings ) );
887
-
888
- // Icon
889
- $open_icon = ( !empty( $settings['open_icon']['value'] ) ? '<span class="htwoolentor-faq-head-icon htwoolentor-faq-open-icon">'.woolentor_render_icon( $settings,'open_icon', 'openicon' ).'</span>' : '' );
890
-
891
- $close_icon = ( !empty( $settings['close_icon']['value'] ) ? '<span class="htwoolentor-faq-head-icon htwoolentor-faq-close-icon">'.woolentor_render_icon( $settings,'close_icon', 'closeicon' ).'</span>' : '' );
892
-
893
- $icon = '<span class="htwoolentor-faq-head-indicator"></span>';
894
- if( !empty( $settings['open_icon']['value'] ) || !empty( $settings['close_icon']['value'] )){
895
- $icon = $open_icon.$close_icon;
896
- }
897
-
898
- ?>
899
- <div <?php echo $this->get_render_attribute_string( 'area_attr' ); ?> >
900
- <?php
901
- if( is_array( $accordion_list ) ){
902
- foreach ( $accordion_list as $accordion ){
903
-
904
- $title = ( !empty( $accordion['title'] ) ? '<span class="htwoolentor-faq-head-text">'.$accordion['title'].'</span>' : '' );
905
-
906
- if( $accordion['individual_icon'] == 'yes' ){
907
- $ind_open_icon = ( !empty( $accordion['indopen_icon']['value'] ) ? '<span class="htwoolentor-faq-head-icon htwoolentor-faq-open-icon">'.woolentor_render_icon( $accordion,'indopen_icon', 'indopenicon' ).'</span>' : '' );
908
-
909
- $ind_close_icon = ( !empty( $accordion['indclose_icon']['value'] ) ? '<span class="htwoolentor-faq-head-icon htwoolentor-faq-close-icon">'.woolentor_render_icon( $accordion,'indclose_icon', 'indcloseicon' ).'</span>' : '' );
910
-
911
- $open_close_icon = $ind_open_icon.$ind_close_icon;
912
-
913
- }else{
914
- $open_close_icon = $icon;
915
- }
916
-
917
- ?>
918
- <div class="htwoolentor-faq-card">
919
- <?php
920
- if( $settings['icon_position'] == 'after'){
921
- echo sprintf( '<div class="htwoolentor-faq-head">%2$s %1$s</div>',$open_close_icon, $title );
922
- }else{
923
- echo sprintf( '<div class="htwoolentor-faq-head">%1$s %2$s</div>',$open_close_icon, $title );
924
- }
925
- ?>
926
- <div class="htwoolentor-faq-body">
927
- <div class="htwoolentor-faq-content">
928
- <?php
929
- if ( $accordion['content_source'] == 'custom' && !empty( $accordion['content'] ) ) {
930
- echo wp_kses_post( $accordion['content'] );
931
- } elseif ( $accordion['content_source'] == "elementor" && !empty( $accordion['template_id'] )) {
932
- echo Plugin::instance()->frontend->get_builder_content_for_display( $accordion['template_id'] );
933
- }
934
- ?>
935
- </div>
936
- </div>
937
- </div>
938
- <?php
939
- }
940
- }
941
- ?>
942
- </div>
943
- <?php
944
-
945
- }
946
-
947
- }
948
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Faq_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wl_onepage_slider.php DELETED
@@ -1,646 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
-
5
- class WL_OnePage_Slider_Element extends Widget_Base {
6
-
7
- public function get_name() {
8
- return 'wl-onepage-slider';
9
- }
10
-
11
- public function get_title() {
12
- return __( 'WL: One page slider', 'woolentor' );
13
- }
14
-
15
- public function get_icon() {
16
- return 'eicon-slider-video';
17
- }
18
-
19
- public function get_categories() {
20
- return [ 'woolentor-addons' ];
21
- }
22
-
23
- public function get_style_depends(){
24
- return ['slick','elementor-icons-shared-0-css','elementor-icons-fa-brands','elementor-icons-fa-regular','elementor-icons-fa-solid','woolentor-slider','woolentor-widgets'];
25
- }
26
-
27
- public function get_script_depends() {
28
- return ['one-page-nav','woolentor-widgets-scripts'];
29
- }
30
-
31
- public function get_keywords(){
32
- return ['slider','onepage slider','fullpage','fullslider'];
33
- }
34
-
35
- protected function _register_controls() {
36
-
37
- $this->start_controls_section(
38
- 'section_content',
39
- [
40
- 'label' => esc_html__( 'Slider', 'woolentor' ),
41
- ]
42
- );
43
-
44
- $repeater = new Repeater();
45
-
46
- $repeater->add_control(
47
- 'slider_image',
48
- [
49
- 'label' => esc_html__( 'Image', 'woolentor' ),
50
- 'type' => Controls_Manager::MEDIA,
51
- 'default' => [
52
- 'url' => Utils::get_placeholder_image_src(),
53
- ],
54
- ]
55
- );
56
-
57
- $repeater->start_controls_tabs('slider_item_tabs');
58
-
59
- $repeater->start_controls_tab(
60
- 'content_tab',
61
- [
62
- 'label' => esc_html__( 'Content', 'woolentor' ),
63
- ]
64
- );
65
-
66
- $repeater->add_control(
67
- 'slider_title',
68
- [
69
- 'label' => esc_html__( 'Title', 'woolentor' ),
70
- 'type' => Controls_Manager::TEXT,
71
- 'placeholder' => esc_html__( 'Type your title here', 'woolentor' ),
72
- 'label_block'=>true,
73
- ]
74
- );
75
-
76
- $repeater->add_control(
77
- 'slider_subtitle',
78
- [
79
- 'label' => esc_html__( 'Sub Title', 'woolentor' ),
80
- 'type' => Controls_Manager::TEXT,
81
- 'placeholder' => esc_html__( 'Type your sub title here', 'woolentor' ),
82
- 'label_block'=>true,
83
- ]
84
- );
85
-
86
- $repeater->add_control(
87
- 'slider_buttontxt',
88
- [
89
- 'label' => esc_html__( 'Button Text', 'woolentor' ),
90
- 'type' => Controls_Manager::TEXT,
91
- 'placeholder' => esc_html__( 'Type your button text here', 'woolentor' ),
92
- 'label_block'=>true,
93
- ]
94
- );
95
-
96
- $repeater->add_control(
97
- 'slider_buttonlink',
98
- [
99
- 'label' => esc_html__( 'Button Link', 'woolentor' ),
100
- 'type' => Controls_Manager::TEXT,
101
- 'placeholder' => esc_html__( 'Type your button link here', 'woolentor' ),
102
- 'label_block'=>true,
103
- ]
104
- );
105
-
106
- $repeater->add_control(
107
- 'show_video_btn',
108
- [
109
- 'label' => esc_html__( 'Video Button', 'woolentor' ),
110
- 'type' => Controls_Manager::SWITCHER,
111
- ]
112
- );
113
-
114
- $repeater->add_control(
115
- 'video_link',
116
- [
117
- 'label' => esc_html__( 'Video Link', 'woolentor' ),
118
- 'type' => Controls_Manager::TEXT,
119
- 'label_block'=>true,
120
- 'condition'=>[
121
- 'show_video_btn'=>'yes',
122
- ],
123
- ]
124
- );
125
-
126
- $repeater->add_control(
127
- 'video_icon',
128
- [
129
- 'label' => esc_html__( 'Video Icon', 'woolentor' ),
130
- 'type' => Controls_Manager::ICONS,
131
- 'default' => [
132
- 'value' => 'fas fa-play',
133
- 'library' => 'solid',
134
- ],
135
- 'fa4compatibility' => 'videoicon',
136
- 'condition'=>[
137
- 'show_video_btn'=>'yes',
138
- ],
139
- ]
140
- );
141
-
142
- $repeater->end_controls_tab();
143
-
144
- // Slider Item Style
145
- $repeater->start_controls_tab(
146
- 'style_tab',
147
- [
148
- 'label' => esc_html__( 'Style', 'woolentor' ),
149
- ]
150
- );
151
-
152
- // Area Style
153
- $repeater->add_control(
154
- 'ind_area_heading',
155
- [
156
- 'label' => esc_html__( 'Area', 'woolentor' ),
157
- 'type' => Controls_Manager::HEADING,
158
- 'separator' => 'before',
159
- ]
160
- );
161
-
162
- $repeater->add_responsive_control(
163
- 'ind_content_align',
164
- [
165
- 'label' => esc_html__( 'Alignment', 'woolentor' ),
166
- 'type' => Controls_Manager::CHOOSE,
167
- 'options' => [
168
- 'left' => [
169
- 'title' => esc_html__( 'Left', 'woolentor' ),
170
- 'icon' => 'fa fa-align-left',
171
- ],
172
- 'center' => [
173
- 'title' => esc_html__( 'Center', 'woolentor' ),
174
- 'icon' => 'fa fa-align-center',
175
- ],
176
- 'right' => [
177
- 'title' => esc_html__( 'Right', 'woolentor' ),
178
- 'icon' => 'fa fa-align-right',
179
- ],
180
- ],
181
- 'selectors' => [
182
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-full-slider-content' => 'text-align: {{VALUE}};',
183
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-video-content' => 'text-align: {{VALUE}};',
184
- ],
185
- ]
186
- );
187
-
188
- $repeater->add_group_control(
189
- Group_Control_Background::get_type(),
190
- [
191
- 'name' => 'int_content_background',
192
- 'label' => __( 'Background', 'woolentor' ),
193
- 'types' => [ 'classic', 'gradient' ],
194
- 'selector' => '{{WRAPPER}} {{CURRENT_ITEM}}.ht-single-full-slider',
195
- 'exclude'=>['image'],
196
- 'fields_options'=>[
197
- 'background'=>[
198
- 'label' => esc_html__( 'Area Background Type', 'woolentor' ),
199
- ]
200
- ]
201
- ]
202
- );
203
-
204
- $repeater->add_control(
205
- 'ind_title_heading',
206
- [
207
- 'label' => esc_html__( 'Title', 'woolentor' ),
208
- 'type' => Controls_Manager::HEADING,
209
- 'separator' => 'before',
210
- ]
211
- );
212
-
213
- $repeater->add_control(
214
- 'ind_title_color',
215
- [
216
- 'label' => esc_html__( 'Color', 'woolentor' ),
217
- 'type' => Controls_Manager::COLOR,
218
- 'selectors' => [
219
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-full-slider-content h1' => 'color: {{VALUE}}',
220
- ],
221
- ]
222
- );
223
-
224
- $repeater->add_group_control(
225
- Group_Control_Typography::get_type(),
226
- [
227
- 'name' => 'int_title_typography',
228
- 'label' => esc_html__( 'Typography', 'woolentor' ),
229
- 'selector' => '{{WRAPPER}} {{CURRENT_ITEM}} .ht-full-slider-content h1',
230
- ]
231
- );
232
-
233
- $repeater->add_responsive_control(
234
- 'ind_title_margin',
235
- [
236
- 'label' => esc_html__( 'Margin', 'woolentor' ),
237
- 'type' => Controls_Manager::DIMENSIONS,
238
- 'size_units' => [ 'px', '%', 'em' ],
239
- 'selectors' => [
240
- '{{WRAPPER}} {{WRAPPER}} {{CURRENT_ITEM}} .ht-full-slider-content h1' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
241
- ],
242
- ]
243
- );
244
-
245
- // Sub Title
246
- $repeater->add_control(
247
- 'ind_sub_title_heading',
248
- [
249
- 'label' => esc_html__( 'Sub Title', 'woolentor' ),
250
- 'type' => Controls_Manager::HEADING,
251
- 'separator' => 'before',
252
- ]
253
- );
254
-
255
- $repeater->add_control(
256
- 'ind_sub_title_color',
257
- [
258
- 'label' => esc_html__( 'Color', 'woolentor' ),
259
- 'type' => Controls_Manager::COLOR,
260
- 'selectors' => [
261
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-full-slider-content h2' => 'color: {{VALUE}}',
262
- ],
263
- ]
264
- );
265
-
266
- $repeater->add_group_control(
267
- Group_Control_Typography::get_type(),
268
- [
269
- 'name' => 'int_subtitle_typography',
270
- 'label' => esc_html__( 'Typography', 'woolentor' ),
271
- 'selector' => '{{WRAPPER}} {{CURRENT_ITEM}} .ht-full-slider-content h2',
272
- ]
273
- );
274
-
275
- $repeater->add_responsive_control(
276
- 'ind_subtitle_margin',
277
- [
278
- 'label' => esc_html__( 'Margin', 'woolentor' ),
279
- 'type' => Controls_Manager::DIMENSIONS,
280
- 'size_units' => [ 'px', '%', 'em' ],
281
- 'selectors' => [
282
- '{{WRAPPER}} {{WRAPPER}} {{CURRENT_ITEM}} .ht-full-slider-content h2' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
283
- ],
284
- ]
285
- );
286
-
287
- $repeater->add_control(
288
- 'ind_button_heading',
289
- [
290
- 'label' => esc_html__( 'Button', 'woolentor' ),
291
- 'type' => Controls_Manager::HEADING,
292
- 'separator' => 'before',
293
- ]
294
- );
295
-
296
- $repeater->add_responsive_control(
297
- 'ind_button_padding',
298
- [
299
- 'label' => esc_html__( 'Padding', 'woolentor' ),
300
- 'type' => Controls_Manager::DIMENSIONS,
301
- 'size_units' => [ 'px', '%', 'em' ],
302
- 'selectors' => [
303
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-btn-style a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
304
- ],
305
- ]
306
- );
307
-
308
- $repeater->add_control(
309
- 'ind_button_color',
310
- [
311
- 'label' => esc_html__( 'Color', 'woolentor' ),
312
- 'type' => Controls_Manager::COLOR,
313
- 'selectors' => [
314
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-btn-style a' => 'color: {{VALUE}}',
315
- ],
316
- ]
317
- );
318
-
319
- $repeater->add_control(
320
- 'ind_button_hover_color',
321
- [
322
- 'label' => esc_html__( 'Hover Color', 'woolentor' ),
323
- 'type' => Controls_Manager::COLOR,
324
- 'selectors' => [
325
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-btn-style a:hover' => 'color: {{VALUE}}',
326
- ],
327
- ]
328
- );
329
-
330
- $repeater->add_group_control(
331
- Group_Control_Typography::get_type(),
332
- [
333
- 'name' => 'int_button_typography',
334
- 'label' => esc_html__( 'Typography', 'woolentor' ),
335
- 'selector' => '{{WRAPPER}} {{CURRENT_ITEM}} .ht-btn-style a',
336
- ]
337
- );
338
-
339
- $repeater->add_group_control(
340
- Group_Control_Background::get_type(),
341
- [
342
- 'name' => 'int_button_background',
343
- 'label' => __( 'Background', 'woolentor' ),
344
- 'types' => [ 'classic', 'gradient' ],
345
- 'selector' => '{{WRAPPER}} {{CURRENT_ITEM}} .ht-btn-style a',
346
- 'exclude'=>['image'],
347
- 'fields_options'=>[
348
- 'background'=>[
349
- 'label' => esc_html__( 'Background Type', 'woolentor' ),
350
- ]
351
- ]
352
- ]
353
- );
354
-
355
- $repeater->add_group_control(
356
- Group_Control_Background::get_type(),
357
- [
358
- 'name' => 'int_button_hover_background',
359
- 'label' => __( 'Hover Background', 'woolentor' ),
360
- 'types' => [ 'classic', 'gradient' ],
361
- 'selector' => '{{WRAPPER}} {{CURRENT_ITEM}} .ht-btn-style a:hover,{{WRAPPER}} {{CURRENT_ITEM}} .ht-btn-style a::after',
362
- 'exclude'=>['image'],
363
- 'fields_options'=>[
364
- 'background'=>[
365
- 'label' => esc_html__( 'Hover Background Type', 'woolentor' ),
366
- ]
367
- ]
368
- ]
369
- );
370
-
371
- $repeater->add_control(
372
- 'ind_play_button_heading',
373
- [
374
- 'label' => esc_html__( 'Video Button', 'woolentor' ),
375
- 'type' => Controls_Manager::HEADING,
376
- 'separator' => 'before',
377
- 'condition'=>[
378
- 'show_video_btn'=>'yes',
379
- ],
380
- ]
381
- );
382
-
383
- $repeater->add_control(
384
- 'ind_play_button_color',
385
- [
386
- 'label' => esc_html__( 'Color', 'woolentor' ),
387
- 'type' => Controls_Manager::COLOR,
388
- 'selectors' => [
389
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-video-content .ht-video-icon a' => 'color: {{VALUE}};border-color:{{VALUE}};',
390
- ],
391
- 'condition'=>[
392
- 'show_video_btn'=>'yes',
393
- ],
394
- ]
395
- );
396
-
397
- $repeater->add_control(
398
- 'ind_play_button_hover_color',
399
- [
400
- 'label' => esc_html__( 'Hover Color', 'woolentor' ),
401
- 'type' => Controls_Manager::COLOR,
402
- 'selectors' => [
403
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-video-content .ht-video-icon a:hover' => 'color: {{VALUE}};border-color:{{VALUE}};',
404
- ],
405
- 'condition'=>[
406
- 'show_video_btn'=>'yes',
407
- ],
408
- ]
409
- );
410
-
411
- $repeater->add_responsive_control(
412
- 'ind_play_button_size',
413
- [
414
- 'label' => esc_html__( 'Font Size', 'woolentor' ),
415
- 'type' => Controls_Manager::SLIDER,
416
- 'size_units' => [ 'px', '%' ],
417
- 'selectors' => [
418
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-video-content .ht-video-icon a' => 'font-size: {{SIZE}}{{UNIT}};',
419
- ],
420
- 'condition'=>[
421
- 'show_video_btn'=>'yes',
422
- ],
423
- ]
424
- );
425
-
426
- $repeater->add_responsive_control(
427
- 'ind_play_button_width',
428
- [
429
- 'label' => esc_html__( 'Width', 'woolentor' ),
430
- 'type' => Controls_Manager::SLIDER,
431
- 'size_units' => [ 'px', '%' ],
432
- 'selectors' => [
433
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-video-content .ht-video-icon a' => 'width: {{SIZE}}{{UNIT}};',
434
- ],
435
- 'condition'=>[
436
- 'show_video_btn'=>'yes',
437
- ],
438
- ]
439
- );
440
-
441
- $repeater->add_responsive_control(
442
- 'ind_play_button_height',
443
- [
444
- 'label' => esc_html__( 'Height', 'woolentor' ),
445
- 'type' => Controls_Manager::SLIDER,
446
- 'size_units' => [ 'px', '%' ],
447
- 'selectors' => [
448
- '{{WRAPPER}} {{CURRENT_ITEM}} .ht-video-content .ht-video-icon a' => 'height: {{SIZE}}{{UNIT}};',
449
- ],
450
- 'condition'=>[
451
- 'show_video_btn'=>'yes',
452
- ],
453
- ]
454
- );
455
-
456
- $repeater->end_controls_tab();
457
-
458
- $repeater->end_controls_tabs();
459
-
460
-
461
-
462
- $this->add_control(
463
- 'slider_list',
464
- [
465
- 'type' => Controls_Manager::REPEATER,
466
- 'fields' => $repeater->get_controls(),
467
- 'default' => [
468
- [
469
- 'slider_title' => esc_html__( 'Boho Dreams', 'woolentor' ),
470
- 'slider_subtitle' => esc_html__( 'Ruffled Poplin Dress', 'woolentor' ),
471
- 'slider_buttontxt' => esc_html__( 'Shop now', 'woolentor' ),
472
- 'slider_buttonlink' => esc_html__( '#', 'woolentor' ),
473
- ],
474
- [
475
- 'slider_title' => 'ready to wear<br/>clothing made for a<br/>true contemporary woman',
476
- 'slider_buttontxt' => esc_html__( 'Shop now', 'woolentor' ),
477
- 'slider_buttonlink' => esc_html__( '#', 'woolentor' ),
478
- ],
479
- [
480
- 'slider_title' => esc_html__( 'Zippers cotton jogger', 'woolentor' ),
481
- 'slider_buttontxt' => esc_html__( 'Shop now', 'woolentor' ),
482
- 'slider_buttonlink' => esc_html__( '#', 'woolentor' ),
483
- ],
484
- ],
485
- 'title_field' => '{{{ slider_title }}}',
486
- ]
487
- );
488
-
489
- $this->end_controls_section();
490
-
491
- // Pagination style tab start
492
- $this->start_controls_section(
493
- 'slider_pagination_style',
494
- [
495
- 'label' => esc_html__( 'Pagination', 'woolentor' ),
496
- 'tab' => Controls_Manager::TAB_STYLE,
497
- ]
498
- );
499
-
500
- $this->add_responsive_control(
501
- 'pagination_width',
502
- [
503
- 'label' => esc_html__( 'Width', 'woolentor' ),
504
- 'type' => Controls_Manager::SLIDER,
505
- 'size_units' => [ 'px', '%' ],
506
- 'selectors' => [
507
- '{{WRAPPER}} .ht-full-slider-area .ht-slider-pagination ul li a' => 'width: {{SIZE}}{{UNIT}};',
508
- ],
509
- ]
510
- );
511
-
512
- $this->add_responsive_control(
513
- 'pagination_height',
514
- [
515
- 'label' => esc_html__( 'Height', 'woolentor' ),
516
- 'type' => Controls_Manager::SLIDER,
517
- 'size_units' => [ 'px', '%' ],
518
- 'selectors' => [
519
- '{{WRAPPER}} .ht-full-slider-area .ht-slider-pagination ul li a' => 'height: {{SIZE}}{{UNIT}};',
520
- ],
521
- ]
522
- );
523
-
524
- $this->add_group_control(
525
- Group_Control_Border::get_type(),
526
- [
527
- 'name' => 'pagination_border',
528
- 'label' => esc_html__( 'Border', 'woolentor' ),
529
- 'selector' => '{{WRAPPER}} .ht-full-slider-area .ht-slider-pagination ul li a',
530
- ]
531
- );
532
-
533
- $this->add_responsive_control(
534
- 'pagination_border_radius',
535
- [
536
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
537
- 'type' => Controls_Manager::DIMENSIONS,
538
- 'size_units' => [ 'px', '%', 'em' ],
539
- 'selectors' => [
540
- '{{WRAPPER}} .ht-full-slider-area .ht-slider-pagination ul li a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
541
- ],
542
- ]
543
- );
544
-
545
- $this->add_group_control(
546
- Group_Control_Background::get_type(),
547
- [
548
- 'name' => 'pagination_background',
549
- 'label' => esc_html__( 'Background', 'woolentor' ),
550
- 'types' => [ 'classic', 'gradient' ],
551
- 'selector' => '{{WRAPPER}} .ht-full-slider-area .ht-slider-pagination ul li:not(.current) a',
552
- 'exclude'=>['image'],
553
- 'fields_options'=>[
554
- 'background'=>[
555
- 'label' => esc_html__( 'Background Type', 'woolentor' ),
556
- ]
557
- ]
558
- ]
559
- );
560
-
561
- $this->add_group_control(
562
- Group_Control_Background::get_type(),
563
- [
564
- 'name' => 'pagination_hover_background',
565
- 'label' => esc_html__( 'Background', 'woolentor' ),
566
- 'types' => [ 'classic', 'gradient' ],
567
- 'selector' => '{{WRAPPER}} .ht-full-slider-area .ht-slider-pagination ul li a:hover,{{WRAPPER}} .ht-full-slider-area .ht-slider-pagination ul li.current a',
568
- 'exclude'=>['image'],
569
- 'fields_options'=>[
570
- 'background'=>[
571
- 'label' => esc_html__( 'Hover Background Type', 'woolentor' ),
572
- ]
573
- ]
574
- ]
575
- );
576
-
577
- $this->end_controls_section();
578
-
579
- }
580
-
581
-
582
- protected function render( $instance = [] ) {
583
-
584
- $settings = $this->get_settings_for_display();
585
-
586
- $slider_list = $this->get_settings_for_display('slider_list');
587
- $id = $this->get_id();
588
-
589
- if( is_array( $slider_list ) ){
590
- ?>
591
- <div class="ht-full-slider-area">
592
-
593
- <div class="ht-slider-pagination">
594
- <ul id="ht-nav">
595
- <?php
596
- $counter = 0;
597
- foreach ( $slider_list as $slider ){
598
- $counter++;
599
- $class = ( 1 == $counter ) ? 'current' : '';
600
- echo sprintf('<li class="%2$s"><a href="#%1$s">%3$s</a></li>', $id.$slider['_id'], $class, $slider['_id'] );
601
- }
602
- ?>
603
- </ul>
604
- </div>
605
-
606
- <?php
607
- $bg_color = 0;
608
- foreach ( $slider_list as $slider ):
609
- $bg_color++;
610
- $image_url = !empty( $slider['slider_image']['id'] ) ? 'background-image:url('.$slider['slider_image']['url'].')' : '';
611
-
612
- $bg_color = ( $bg_color > 5 ) ? 1 : $bg_color;
613
- ?>
614
- <div id="<?php echo esc_attr( $id.$slider['_id'] ); ?>" class="ht-single-full-slider ht-full-slider-bg-color-<?php echo $bg_color; ?> ht-slider-align-items-center ht-jarallax-img ht-parallax-active elementor-repeater-item-<?php echo $slider['_id']; ?>" style="<?php echo esc_attr( $image_url ); ?>">
615
- <div class="ht-container">
616
- <div class="<?php echo ( 'yes' === $slider['show_video_btn'] ) ? 'ht-video-content' : 'ht-full-slider-content'; ?>">
617
- <?php
618
- if( 'yes' === $slider['show_video_btn'] ){
619
- $pl_icon = !empty( $slider['video_icon']['value'] ) ? woolentor_render_icon( $slider,'video_icon', 'videoicon' ) : '<i class="fas fa-play"></i>';
620
- $pl_btn = sprintf( '<a class="ht-video-popup" href="%1$s">%2$s</a>', $slider['video_link'], $pl_icon );
621
- echo sprintf( '<div class="ht-video-icon wow fadeInUp" data-wow-delay="%1$s">%2$s</div>','0.5s', $pl_btn );
622
-
623
- echo sprintf('<h3 class="wow fadeInUp" data-wow-delay="%1$s">%2$s</h3>','.7s', $slider['slider_subtitle']);
624
-
625
- }else{
626
- echo sprintf('<h2 class="wow fadeInUp" data-wow-delay="%1$s">%2$s</h2>','.5s', $slider['slider_subtitle']);
627
- echo sprintf('<h1 class="wow fadeInUp" data-wow-delay="%1$s">%2$s</h1>','.7s', $slider['slider_title']);
628
- if( !empty( $slider['slider_buttontxt'] ) ){
629
- echo sprintf( '<div class="ht-btn-style wow fadeInUp" data-wow-delay="%1$s"><a href="%2$s">%3$s</a></div>','.9s',$slider['slider_buttonlink'], $slider['slider_buttontxt'] );
630
- }
631
- }
632
- ?>
633
-
634
- </div>
635
- </div>
636
- </div>
637
- <?php endforeach; ?>
638
-
639
- </div>
640
- <?php
641
- }
642
-
643
- }
644
-
645
- }
646
- Plugin::instance()->widgets_manager->register_widget_type( new WL_OnePage_Slider_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wl_product_filter.php DELETED
@@ -1,1009 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Product_Filter_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wl-product-filter';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: Product Filter', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-filter';
18
- }
19
-
20
- public function get_categories() {
21
- return ['woolentor-addons'];
22
- }
23
-
24
- public function get_style_depends(){
25
- return ['elementor-icons-shared-0-css','elementor-icons-fa-brands','elementor-icons-fa-regular','elementor-icons-fa-solid','woolentor-widgets'];
26
- }
27
-
28
- public function get_script_depends() {
29
- return ['jquery-ui-slider'];
30
- }
31
-
32
- public function get_keywords(){
33
- return ['woolentor','shop','filter','product filter'];
34
- }
35
-
36
- protected function _register_controls() {
37
-
38
- $filter_by = [
39
- 'search_form' => esc_html__( 'Search Form', 'woolentor' ),
40
- 'price_by' => esc_html__( 'Price', 'woolentor' ),
41
- 'sort_by' => esc_html__( 'Sort By', 'woolentor' ),
42
- 'order_by' => esc_html__( 'Order By', 'woolentor' )
43
- ];
44
-
45
- $this->start_controls_section(
46
- 'section_content',
47
- [
48
- 'label' => esc_html__( 'Filter', 'woolentor' ),
49
- ]
50
- );
51
-
52
- $this->add_control(
53
- 'wl_filter_type',
54
- [
55
- 'label' => esc_html__( 'Filter Type', 'woolentor' ),
56
- 'type' => Controls_Manager::SELECT2,
57
- 'options' => $filter_by + woolentor_get_taxonomies(),
58
- 'separator' => 'before',
59
- 'label_block' => true,
60
- 'default'=>'search_form',
61
- ]
62
- );
63
-
64
- $this->add_control(
65
- 'redirect_form_url',
66
- [
67
- 'label' => esc_html__( 'Redirect Custom URL', 'woolentor' ),
68
- 'type' => Controls_Manager::TEXT,
69
- 'placeholder' => get_home_url( null, 'custom-search-page' ),
70
- 'label_block'=>true,
71
- 'condition' => [
72
- 'wl_filter_type' => 'search_form'
73
- ],
74
- ]
75
- );
76
-
77
- $this->end_controls_section();
78
-
79
- // Additional Option
80
- $this->start_controls_section(
81
- 'section_additional_option',
82
- [
83
- 'label' => esc_html__( 'Additional Options', 'woolentor' ),
84
- ]
85
- );
86
-
87
- $this->add_control(
88
- 'wl_filter_area_title',
89
- [
90
- 'label' => esc_html__( 'Title', 'woolentor' ),
91
- 'type' => Controls_Manager::TEXT,
92
- 'label_block' => true,
93
- ]
94
- );
95
-
96
- $this->add_control(
97
- 'show_hierarchical',
98
- [
99
- 'label' => esc_html__( 'Hierarchical', 'woolentor' ),
100
- 'type' => Controls_Manager::SWITCHER,
101
- 'condition'=>[
102
- 'wl_filter_type!'=>['search_form','price_by','sort_by','order_by']
103
- ]
104
- ]
105
- );
106
-
107
- $this->add_control(
108
- 'list_icon',
109
- [
110
- 'label' => esc_html__( 'Icon', 'woolentor' ),
111
- 'type' => Controls_Manager::ICONS,
112
- 'condition'=>[
113
- 'wl_filter_type!'=>['search_form','price_by','sort_by','order_by']
114
- ]
115
- ]
116
- );
117
-
118
- $this->add_responsive_control(
119
- 'list_icon_space',
120
- [
121
- 'label' => esc_html__( 'Icon Spacing', 'woolentor' ),
122
- 'type' => Controls_Manager::SLIDER,
123
- 'selectors' => [
124
- '{{WRAPPER}} .woolentor-filter-wrap ul li i' => 'margin-right: {{SIZE}}{{UNIT}};',
125
- ],
126
- 'condition'=>[
127
- 'list_icon[value]!'=>'',
128
- 'wl_filter_type!'=>['search_form','price_by','sort_by','order_by'],
129
- ]
130
- ]
131
- );
132
-
133
- $this->end_controls_section();
134
-
135
- // Title Style Section
136
- $this->start_controls_section(
137
- 'wlproduct_filter_title_style',
138
- [
139
- 'label' => esc_html__( 'Title', 'woolentor' ),
140
- 'tab' => Controls_Manager::TAB_STYLE,
141
- 'condition'=>[
142
- 'wl_filter_area_title!'=>''
143
- ]
144
- ]
145
- );
146
-
147
- $this->add_control(
148
- 'title_color',
149
- [
150
- 'label' => esc_html__( 'Color', 'woolentor' ),
151
- 'type' => Controls_Manager::COLOR,
152
- 'selectors' => [
153
- '{{WRAPPER}} h2.wl_filter_title' => 'color: {{VALUE}}',
154
- ],
155
- ]
156
- );
157
-
158
- $this->add_group_control(
159
- \Elementor\Group_Control_Typography::get_type(),
160
- [
161
- 'name' => 'title_typography',
162
- 'label' => esc_html__( 'Typography', 'woolentor' ),
163
- 'selector' => '{{WRAPPER}} h2.wl_filter_title',
164
- ]
165
- );
166
-
167
- $this->add_group_control(
168
- \Elementor\Group_Control_Border::get_type(),
169
- [
170
- 'name' => 'title_border',
171
- 'label' => esc_html__( 'Border', 'woolentor' ),
172
- 'selector' => '{{WRAPPER}} h2.wl_filter_title',
173
- ]
174
- );
175
-
176
- $this->add_responsive_control(
177
- 'title_padding',
178
- [
179
- 'label' => esc_html__( 'Padding', 'woolentor' ),
180
- 'type' => Controls_Manager::DIMENSIONS,
181
- 'size_units' => [ 'px', '%', 'em' ],
182
- 'selectors' => [
183
- '{{WRAPPER}} h2.wl_filter_title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
184
- ],
185
- ]
186
- );
187
-
188
- $this->add_responsive_control(
189
- 'title_margin',
190
- [
191
- 'label' => esc_html__( 'Margin', 'woolentor' ),
192
- 'type' => Controls_Manager::DIMENSIONS,
193
- 'size_units' => [ 'px', '%', 'em' ],
194
- 'selectors' => [
195
- '{{WRAPPER}} h2.wl_filter_title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
196
- ],
197
- ]
198
- );
199
-
200
- $this->end_controls_section();
201
-
202
- // Search Form Style Section
203
- $this->start_controls_section(
204
- 'wlproduct_filter_search_form_style',
205
- [
206
- 'label' => esc_html__( 'Form Style', 'woolentor' ),
207
- 'tab' => Controls_Manager::TAB_STYLE,
208
- 'condition'=>[
209
- 'wl_filter_type'=>['search_form']
210
- ]
211
- ]
212
- );
213
-
214
- $this->add_control(
215
- 'form_inputbox',
216
- [
217
- 'label' => esc_html__( 'Input Box', 'woolentor' ),
218
- 'type' => Controls_Manager::HEADING,
219
- 'separator' => 'after',
220
- ]
221
- );
222
-
223
- $this->add_control(
224
- 'inputbox_color',
225
- [
226
- 'label' => esc_html__( 'Color', 'woolentor' ),
227
- 'type' => Controls_Manager::COLOR,
228
- 'selectors' => [
229
- '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form input[type="search"]' => 'color: {{VALUE}}',
230
- ],
231
- ]
232
- );
233
-
234
- $this->add_group_control(
235
- \Elementor\Group_Control_Background::get_type(),
236
- [
237
- 'name' => 'inputbox_background',
238
- 'label' => esc_html__( 'Background', 'woolentor' ),
239
- 'types' => [ 'classic', 'gradient' ],
240
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form,{{WRAPPER}} .woolentor-filter-wrap input[type="search"]',
241
- ]
242
- );
243
-
244
- $this->add_group_control(
245
- \Elementor\Group_Control_Typography::get_type(),
246
- [
247
- 'name' => 'inputbox_typography',
248
- 'label' => esc_html__( 'Typography', 'woolentor' ),
249
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form input[type="search"]',
250
- ]
251
- );
252
-
253
- $this->add_group_control(
254
- \Elementor\Group_Control_Border::get_type(),
255
- [
256
- 'name' => 'inputbox_border',
257
- 'label' => esc_html__( 'Border', 'woolentor' ),
258
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form',
259
- ]
260
- );
261
-
262
- $this->add_responsive_control(
263
- 'inputbox_padding',
264
- [
265
- 'label' => esc_html__( 'Padding', 'woolentor' ),
266
- 'type' => Controls_Manager::DIMENSIONS,
267
- 'size_units' => [ 'px', '%', 'em' ],
268
- 'selectors' => [
269
- '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form input[type="search"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
270
- ],
271
- ]
272
- );
273
-
274
- $this->add_control(
275
- 'form_submit_button',
276
- [
277
- 'label' => esc_html__( 'Submit Button', 'woolentor' ),
278
- 'type' => Controls_Manager::HEADING,
279
- 'separator' => 'before',
280
- ]
281
- );
282
-
283
- $this->start_controls_tabs('submit_button_style_tabs');
284
-
285
- // Button Normal Style
286
- $this->start_controls_tab(
287
- 'submit_button_style_normal_tab',
288
- [
289
- 'label' => esc_html__( 'Normal', 'woolentor' ),
290
- ]
291
- );
292
-
293
- $this->add_control(
294
- 'submit_button_color',
295
- [
296
- 'label' => esc_html__( 'Color', 'woolentor' ),
297
- 'type' => Controls_Manager::COLOR,
298
- 'selectors' => [
299
- '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form button' => 'color: {{VALUE}}',
300
- ],
301
- ]
302
- );
303
-
304
- $this->add_group_control(
305
- \Elementor\Group_Control_Background::get_type(),
306
- [
307
- 'name' => 'submit_button_background',
308
- 'label' => esc_html__( 'Background', 'woolentor' ),
309
- 'types' => [ 'classic', 'gradient' ],
310
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form button',
311
- ]
312
- );
313
-
314
- $this->add_responsive_control(
315
- 'submit_button_icon_size',
316
- [
317
- 'label' => esc_html__( 'Icon Size', 'woolentor' ),
318
- 'type' => Controls_Manager::SLIDER,
319
- 'selectors' => [
320
- '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form button i' => 'font-size: {{SIZE}}{{UNIT}};',
321
- ],
322
- ]
323
- );
324
-
325
- $this->add_group_control(
326
- \Elementor\Group_Control_Border::get_type(),
327
- [
328
- 'name' => 'submit_button_border',
329
- 'label' => esc_html__( 'Border', 'woolentor' ),
330
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form button',
331
- ]
332
- );
333
-
334
- $this->end_controls_tab();
335
-
336
- // Button Hover Style
337
- $this->start_controls_tab(
338
- 'submit_button_style_hover_tab',
339
- [
340
- 'label' => esc_html__( 'Hover', 'woolentor' ),
341
- ]
342
- );
343
- $this->add_control(
344
- 'submit_button_hover_color',
345
- [
346
- 'label' => esc_html__( 'Color', 'woolentor' ),
347
- 'type' => Controls_Manager::COLOR,
348
- 'selectors' => [
349
- '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form button:hover' => 'color: {{VALUE}}',
350
- ],
351
- ]
352
- );
353
-
354
- $this->add_group_control(
355
- \Elementor\Group_Control_Background::get_type(),
356
- [
357
- 'name' => 'submit_button_hover_background',
358
- 'label' => esc_html__( 'Background', 'woolentor' ),
359
- 'types' => [ 'classic', 'gradient' ],
360
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form button:hover',
361
- ]
362
- );
363
-
364
- $this->add_group_control(
365
- \Elementor\Group_Control_Border::get_type(),
366
- [
367
- 'name' => 'submit_button_hover_border',
368
- 'label' => esc_html__( 'Border', 'woolentor' ),
369
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap form.wl_product_search_form button:hover',
370
- ]
371
- );
372
-
373
- $this->end_controls_tab();
374
-
375
- $this->end_controls_tabs();
376
-
377
- $this->end_controls_section();
378
-
379
- // List Item Style Section
380
- $this->start_controls_section(
381
- 'wlproduct_filter_list_style',
382
- [
383
- 'label' => esc_html__( 'List Item', 'woolentor' ),
384
- 'tab' => Controls_Manager::TAB_STYLE,
385
- 'condition'=>[
386
- 'wl_filter_type!'=>['search_form','price_by','sort_by','order_by']
387
- ]
388
- ]
389
- );
390
-
391
- $this->start_controls_tabs('list_item_style_tabs');
392
-
393
- $this->start_controls_tab(
394
- 'list_item_style_normal_tab',
395
- [
396
- 'label' => esc_html__( 'Normal', 'woolentor' ),
397
- ]
398
- );
399
- $this->add_control(
400
- 'list_item_color',
401
- [
402
- 'label' => esc_html__( 'Color', 'woolentor' ),
403
- 'type' => Controls_Manager::COLOR,
404
- 'selectors' => [
405
- '{{WRAPPER}} .woolentor-filter-wrap ul li' => 'color: {{VALUE}}',
406
- '{{WRAPPER}} .woolentor-filter-wrap ul li a' => 'color: {{VALUE}}',
407
- ],
408
- ]
409
- );
410
-
411
- $this->add_group_control(
412
- \Elementor\Group_Control_Typography::get_type(),
413
- [
414
- 'name' => 'list_item_typography',
415
- 'label' => esc_html__( 'Typography', 'woolentor' ),
416
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap ul li,{{WRAPPER}} .woolentor-filter-wrap ul li a',
417
- ]
418
- );
419
-
420
- $this->add_responsive_control(
421
- 'list_icon_size',
422
- [
423
- 'label' => esc_html__( 'Icon Size', 'woolentor' ),
424
- 'type' => Controls_Manager::SLIDER,
425
- 'selectors' => [
426
- '{{WRAPPER}} .woolentor-filter-wrap ul li i' => 'font-size: {{SIZE}}{{UNIT}};',
427
- '{{WRAPPER}} .woolentor-filter-wrap ul li svg' => 'width: {{SIZE}}{{UNIT}};height: {{SIZE}}{{UNIT}};',
428
- ],
429
- 'condition'=>[
430
- 'list_icon[value]!'=>'',
431
- ]
432
- ]
433
- );
434
-
435
- $this->add_responsive_control(
436
- 'list_item_padding',
437
- [
438
- 'label' => esc_html__( 'Padding', 'woolentor' ),
439
- 'type' => Controls_Manager::DIMENSIONS,
440
- 'size_units' => [ 'px', '%', 'em' ],
441
- 'selectors' => [
442
- '{{WRAPPER}} .woolentor-filter-wrap ul li a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
443
- ],
444
- ]
445
- );
446
-
447
- $this->add_group_control(
448
- \Elementor\Group_Control_Border::get_type(),
449
- [
450
- 'name' => 'list_item_border',
451
- 'label' => esc_html__( 'Border', 'woolentor' ),
452
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap ul li',
453
- ]
454
- );
455
-
456
- $this->end_controls_tab();
457
-
458
- $this->start_controls_tab(
459
- 'list_item_style_hover_tab',
460
- [
461
- 'label' => esc_html__( 'Hover', 'woolentor' ),
462
- ]
463
- );
464
-
465
- $this->add_control(
466
- 'list_item_hover_color',
467
- [
468
- 'label' => esc_html__( 'Color', 'woolentor' ),
469
- 'type' => Controls_Manager::COLOR,
470
- 'selectors' => [
471
- '{{WRAPPER}} .woolentor-filter-wrap ul > li:hover > i' => 'color: {{VALUE}}',
472
- '{{WRAPPER}} .woolentor-filter-wrap ul li a:hover' => 'color: {{VALUE}}',
473
- ],
474
- ]
475
- );
476
-
477
- $this->end_controls_tab();
478
-
479
- $this->end_controls_tabs();
480
-
481
- $this->end_controls_section();
482
-
483
- // Price Filter Style Section
484
- $this->start_controls_section(
485
- 'wlproduct_filter_price_filter_style',
486
- [
487
- 'label' => esc_html__( 'Range Slider', 'woolentor' ),
488
- 'tab' => Controls_Manager::TAB_STYLE,
489
- 'condition'=>[
490
- 'wl_filter_type'=>['price_by']
491
- ]
492
- ]
493
- );
494
-
495
- $this->add_group_control(
496
- \Elementor\Group_Control_Background::get_type(),
497
- [
498
- 'name' => 'slider_background',
499
- 'label' => esc_html__( 'Background', 'woolentor' ),
500
- 'types' => [ 'classic', 'gradient' ],
501
- 'selector' => '{{WRAPPER}} .woolentor_slider_range.ui-slider',
502
- 'exclude'=>['image'],
503
- ]
504
- );
505
-
506
- $this->add_group_control(
507
- \Elementor\Group_Control_Background::get_type(),
508
- [
509
- 'name' => 'slider_active_background',
510
- 'label' => esc_html__( 'Background', 'woolentor' ),
511
- 'types' => [ 'classic', 'gradient' ],
512
- 'selector' => '{{WRAPPER}} .woolentor_slider_range .ui-slider-range.ui-widget-header.ui-corner-all',
513
- 'fields_options' => [
514
- 'background' => [
515
- 'label' => esc_html__( 'Active Slider Background', 'woolentor' ),
516
- ]
517
- ],
518
- 'exclude'=>['image'],
519
- ]
520
- );
521
-
522
- $this->add_control(
523
- 'slider_height',
524
- [
525
- 'label' => esc_html__( 'Height', 'woolentor' ),
526
- 'type' => Controls_Manager::SLIDER,
527
- 'size_units' => [ 'px', '%' ],
528
- 'selectors' => [
529
- '{{WRAPPER}} .woolentor_slider_range.ui-slider' => 'height: {{SIZE}}{{UNIT}};',
530
- ],
531
- ]
532
- );
533
-
534
- $this->add_control(
535
- 'slider_handler_options',
536
- [
537
- 'label' => esc_html__( 'Slider Handler', 'woolentor' ),
538
- 'type' => Controls_Manager::HEADING,
539
- 'separator' => 'before',
540
- ]
541
- );
542
-
543
- $this->add_control(
544
- 'slider_handler_size',
545
- [
546
- 'label' => esc_html__( 'Size', 'woolentor' ),
547
- 'type' => Controls_Manager::SLIDER,
548
- 'size_units' => [ 'px', '%' ],
549
- 'selectors' => [
550
- '{{WRAPPER}} .woolentor_slider_range .ui-slider-handle.ui-state-default.ui-corner-all' => 'height: {{SIZE}}{{UNIT}};width: {{SIZE}}{{UNIT}};',
551
- ],
552
- ]
553
- );
554
-
555
- $this->add_group_control(
556
- \Elementor\Group_Control_Background::get_type(),
557
- [
558
- 'name' => 'slider_handler_background',
559
- 'label' => esc_html__( 'Background', 'woolentor' ),
560
- 'types' => [ 'classic', 'gradient' ],
561
- 'selector' => '{{WRAPPER}} .woolentor_slider_range .ui-slider-handle.ui-state-default.ui-corner-all',
562
- 'exclude'=>['image'],
563
- ]
564
- );
565
-
566
- $this->add_group_control(
567
- \Elementor\Group_Control_Border::get_type(),
568
- [
569
- 'name' => 'slider_handler_button_border',
570
- 'label' => esc_html__( 'Border', 'woolentor' ),
571
- 'selector' => '{{WRAPPER}} .woolentor_slider_range .ui-slider-handle.ui-state-default.ui-corner-all',
572
- ]
573
- );
574
-
575
- $this->add_responsive_control(
576
- 'slider_handler_border_radius',
577
- [
578
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
579
- 'type' => Controls_Manager::DIMENSIONS,
580
- 'size_units' => [ 'px', '%', 'em' ],
581
- 'selectors' => [
582
- '{{WRAPPER}} .woolentor_slider_range .ui-slider-handle.ui-state-default.ui-corner-all' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
583
- ],
584
- ]
585
- );
586
-
587
- $this->add_control(
588
- 'slider_lavel_options',
589
- [
590
- 'label' => esc_html__( 'Price Label', 'woolentor' ),
591
- 'type' => Controls_Manager::HEADING,
592
- 'separator' => 'before',
593
- ]
594
- );
595
-
596
- $this->add_control(
597
- 'price_lavel_color',
598
- [
599
- 'label' => esc_html__( 'Label Color', 'woolentor' ),
600
- 'type' => Controls_Manager::COLOR,
601
- 'selectors' => [
602
- '{{WRAPPER}} .woolentor_price_label' => 'color: {{VALUE}}',
603
- ],
604
- ]
605
- );
606
-
607
- $this->add_control(
608
- 'price_color',
609
- [
610
- 'label' => esc_html__( 'Price Color', 'woolentor' ),
611
- 'type' => Controls_Manager::COLOR,
612
- 'selectors' => [
613
- '{{WRAPPER}} .woolentor_price_label span' => 'color: {{VALUE}}',
614
- ],
615
- ]
616
- );
617
-
618
- $this->add_control(
619
- 'slider_price_button_options',
620
- [
621
- 'label' => esc_html__( 'Button', 'woolentor' ),
622
- 'type' => Controls_Manager::HEADING,
623
- 'separator' => 'before',
624
- ]
625
- );
626
-
627
- $this->start_controls_tabs('slider_button_style_tabs');
628
-
629
- // Button Normal Style
630
- $this->start_controls_tab(
631
- 'slider_button_style_normal_tab',
632
- [
633
- 'label' => esc_html__( 'Normal', 'woolentor' ),
634
- ]
635
- );
636
-
637
- $this->add_control(
638
- 'slider_button_color',
639
- [
640
- 'label' => esc_html__( 'Color', 'woolentor' ),
641
- 'type' => Controls_Manager::COLOR,
642
- 'selectors' => [
643
- '{{WRAPPER}} .woolentor-filter-wrap .wl_price_filter form button' => 'color: {{VALUE}}',
644
- ],
645
- ]
646
- );
647
-
648
- $this->add_group_control(
649
- \Elementor\Group_Control_Background::get_type(),
650
- [
651
- 'name' => 'slider_button_background',
652
- 'label' => esc_html__( 'Background', 'woolentor' ),
653
- 'types' => [ 'classic', 'gradient' ],
654
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap .wl_price_filter form button',
655
- 'exclude'=>['image'],
656
- ]
657
- );
658
-
659
- $this->add_group_control(
660
- \Elementor\Group_Control_Border::get_type(),
661
- [
662
- 'name' => 'slider_button_border',
663
- 'label' => esc_html__( 'Border', 'woolentor' ),
664
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap .wl_price_filter form button',
665
- ]
666
- );
667
-
668
- $this->add_responsive_control(
669
- 'slider_button_border_radius',
670
- [
671
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
672
- 'type' => Controls_Manager::DIMENSIONS,
673
- 'size_units' => [ 'px', '%', 'em' ],
674
- 'selectors' => [
675
- '{{WRAPPER}} .woolentor-filter-wrap .wl_price_filter form button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
676
- ],
677
- ]
678
- );
679
-
680
- $this->add_responsive_control(
681
- 'slider_button_padding',
682
- [
683
- 'label' => esc_html__( 'Padding', 'woolentor' ),
684
- 'type' => Controls_Manager::DIMENSIONS,
685
- 'size_units' => [ 'px', '%', 'em' ],
686
- 'selectors' => [
687
- '{{WRAPPER}} .woolentor-filter-wrap .wl_price_filter form button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
688
- ],
689
- ]
690
- );
691
-
692
- $this->end_controls_tab();
693
-
694
- // Button Hover Style
695
- $this->start_controls_tab(
696
- 'slider_button_style_hover_tab',
697
- [
698
- 'label' => esc_html__( 'Hover', 'woolentor' ),
699
- ]
700
- );
701
- $this->add_control(
702
- 'slider_button_hover_color',
703
- [
704
- 'label' => esc_html__( 'Color', 'woolentor' ),
705
- 'type' => Controls_Manager::COLOR,
706
- 'selectors' => [
707
- '{{WRAPPER}} .woolentor-filter-wrap .wl_price_filter form button:hover' => 'color: {{VALUE}}',
708
- ],
709
- ]
710
- );
711
-
712
- $this->add_group_control(
713
- \Elementor\Group_Control_Background::get_type(),
714
- [
715
- 'name' => 'slider_button_hover_background',
716
- 'label' => esc_html__( 'Background', 'woolentor' ),
717
- 'types' => [ 'classic', 'gradient' ],
718
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap .wl_price_filter form button:hover',
719
- 'exclude'=>['image'],
720
- ]
721
- );
722
-
723
- $this->add_group_control(
724
- \Elementor\Group_Control_Border::get_type(),
725
- [
726
- 'name' => 'slider_button_hover_border',
727
- 'label' => esc_html__( 'Border', 'woolentor' ),
728
- 'selector' => '{{WRAPPER}} .woolentor-filter-wrap .wl_price_filter form button:hover',
729
- ]
730
- );
731
-
732
- $this->end_controls_tab();
733
-
734
- $this->end_controls_tabs();
735
-
736
- $this->end_controls_section();
737
-
738
- }
739
-
740
-
741
- protected function render( $instance = [] ) {
742
- $settings = $this->get_settings_for_display();
743
- $id = $this->get_id();
744
- $currency_symbol = get_woocommerce_currency_symbol();
745
-
746
- $filter_type = $settings['wl_filter_type'];
747
-
748
- $list_icon = !empty( $settings['list_icon']['value'] ) ? WooLentor_Icon_manager::render_icon( $settings['list_icon'], [ 'aria-hidden' => 'true' ] ) : '';
749
-
750
-
751
- global $wp;
752
- if ( '' == get_option('permalink_structure' ) ) {
753
- $current_url = remove_query_arg(array('page', 'paged'), add_query_arg($wp->query_string, '', home_url($wp->request)));
754
- } else {
755
- $current_url = preg_replace('%\/page/[0-9]+%', '', home_url(trailingslashit($wp->request)));
756
- }
757
-
758
- ?>
759
- <div class="woolentor-filter-wrap" style="<?php if( 'price_by' === $filter_type ){ echo 'overflow: visible;'; } ?>">
760
-
761
- <?php
762
-
763
- if( !empty( $filter_type ) ):
764
-
765
- echo !empty( $settings['wl_filter_area_title'] ) ? '<h2 class="wl_filter_title">'.$settings['wl_filter_area_title'].'</h2>' : '';
766
-
767
- if( 'search_form' === $filter_type ):
768
-
769
- if ( isset( $_GET['q'] ) || isset( $_GET['s'] ) ) {
770
- $s = !empty( $_GET['s'] ) ? $_GET['s'] : '';
771
- $q = !empty( $_GET['q'] ) ? $_GET['q'] : '';
772
- $search_value = !empty( $q ) ? $q : $s;
773
- }else{
774
- $search_value = '';
775
- }
776
-
777
- if( !empty( $settings['redirect_form_url'] ) ){
778
- $form_action = $settings['redirect_form_url'];
779
- }else{
780
- $form_action = $current_url;
781
- }
782
-
783
- ?>
784
- <form class="wl_product_search_form" role="search" method="get" action="<?php echo esc_url( $form_action ); ?>">
785
- <input type="search" placeholder="<?php echo esc_attr_x( 'Search Products&hellip;', 'placeholder', 'woolentor' ); ?>" value="<?php echo esc_attr( $search_value ); ?>" name="q" title="<?php echo esc_attr_x( 'Search for:', 'label', 'woolentor' ); ?>" />
786
- <button type="submit"><i class="fa fa-search"></i></button>
787
- </form>
788
-
789
- <?php elseif( 'price_by' === $filter_type ):
790
- $step = 1;
791
- // Find min and max price in current result set.
792
- $prices = function_exists('woolentor_minmax_price_limit') ? woolentor_minmax_price_limit() : array('min' => 10,'max' => 20);
793
-
794
- $min_price = $prices['min'];
795
- $max_price = $prices['max'];
796
-
797
- // Check to see if we should add taxes to the prices if store are excl tax but display incl.
798
- $tax_display_mode = get_option( 'woocommerce_tax_display_shop' );
799
-
800
- if ( wc_tax_enabled() && ! wc_prices_include_tax() && 'incl' === $tax_display_mode ) {
801
- $tax_class = apply_filters( 'woolentor_price_filter_tax_class', '' ); // Uses standard tax class.
802
- $tax_rates = \WC_Tax::get_rates( $tax_class );
803
-
804
- if ( $tax_rates ) {
805
- $min_price += \WC_Tax::get_tax_total( \WC_Tax::calc_exclusive_tax( $min_price, $tax_rates ) );
806
- $max_price += \WC_Tax::get_tax_total( \WC_Tax::calc_exclusive_tax( $max_price, $tax_rates ) );
807
- }
808
- }
809
-
810
- if ( $min_price === $max_price ){
811
- $max_price = 100;
812
- }
813
-
814
- $min_price = apply_filters( 'woolentor_price_filter_min_amount', floor( $min_price / $step ) * $step );
815
- $max_price = apply_filters( 'woolentor_price_filter_max_amount', ceil( $max_price / $step ) * $step );
816
-
817
- $current_min_price = isset( $_GET['min_price'] ) ? floor( floatval( wp_unslash( $_GET['min_price'] ) ) / $step ) * $step : $min_price; // WPCS: input var ok, CSRF ok.
818
- $current_max_price = isset( $_GET['max_price'] ) ? ceil( floatval( wp_unslash( $_GET['max_price'] ) ) / $step ) * $step : $max_price; // WPCS: input var ok, CSRF ok.
819
-
820
- ?>
821
-
822
- <div class="wl_price_filter">
823
- <form method="get" action="<?php echo esc_url( $current_url ); ?>">
824
- <div class="woolentor_slider_range" style="display: none;"></div>
825
- <input type="hidden" name="wlfilter" value="1">
826
- <input type="text" id="min_price-<?php echo $id; ?>" name="min_price" value="<?php echo esc_attr( $current_min_price ); ?>" data-min="<?php echo esc_attr( $min_price ); ?>" placeholder="<?php echo esc_attr__( 'Min price', 'woolentor' ); ?>" />
827
- <input type="text" id="max_price-<?php echo $id; ?>" name="max_price" value="<?php echo esc_attr( $current_max_price ); ?>" data-max="<?php echo esc_attr( $max_price ); ?>" placeholder="<?php echo esc_attr__( 'Max price', 'woolentor' ); ?>" />
828
- <div class="wl_button_price">
829
- <button type="submit"><?php echo esc_html__( 'Filter', 'woolentor' ); ?></button>
830
- <div class="woolentor_price_label" style="display: none;">
831
- <?php echo esc_html__( 'Price:', 'woolentor' ); ?>
832
- <span id="from-<?php echo $id; ?>"></span> &mdash; <span id="to-<?php echo $id; ?>"></span>
833
- </div>
834
- </div>
835
- <?php echo wc_query_string_form_fields( null, array( 'min_price', 'max_price', 'paged' ), '', true ); ?>
836
- </form>
837
- </div>
838
- <script type="text/javascript">
839
- ;jQuery(document).ready(function($) {
840
- 'use strict';
841
-
842
- var id = '<?php echo $id; ?>';
843
-
844
- $( 'input#min_price-'+id+', input#max_price-'+id ).hide();
845
- $( '.woolentor_slider_range, .woolentor_price_label' ).show();
846
-
847
- var min_price = parseInt( '<?php echo $min_price; ?>' ),
848
- max_price = parseInt( '<?php echo $max_price; ?>' ),
849
- current_min_price = parseInt( '<?php echo $current_min_price; ?>' ),
850
- current_max_price = parseInt( '<?php echo $current_max_price; ?>' ),
851
- currency_symbol = '<?php echo $currency_symbol; ?>';
852
-
853
- $( ".woolentor_slider_range" ).slider({
854
- range: true,
855
- min: min_price,
856
- max: max_price,
857
- values: [ current_min_price, current_max_price ],
858
- slide: function( event, ui ) {
859
- $( 'input#min_price-'+id ).val( ui.values[0] );
860
- $( 'input#max_price-'+id ).val( ui.values[1] );
861
- $( ".woolentor_price_label span#from-"+id ).html( currency_symbol + ui.values[0] );
862
- $( ".woolentor_price_label span#to-"+id ).html( currency_symbol + ui.values[1] );
863
- },
864
-
865
- });
866
-
867
- $( "#min_price-"+id ).val( $( ".woolentor_slider_range" ).slider( "values", 0 ) );
868
- $( "#max_price-"+id ).val( $( ".woolentor_slider_range" ).slider( "values", 1 ) );
869
-
870
- $( ".woolentor_price_label span#from-"+id ).html( currency_symbol + $( ".woolentor_slider_range" ).slider( "values", 0 ) );
871
- $( ".woolentor_price_label span#to-"+id ).html( currency_symbol + $( ".woolentor_slider_range" ).slider( "values", 1 ) );
872
-
873
- });
874
- </script>
875
-
876
- <?php elseif( 'sort_by' === $filter_type ):
877
- $wlsort = ( isset( $_GET['wlsort'] ) && !empty( $_GET['wlsort'] ) ) ? $_GET['wlsort'] : '';
878
- ?>
879
- <div class="wl_sort_by_filter">
880
- <select name="wl_sort">
881
- <option value="&wlsort=none"><?php echo esc_html__( 'None', 'woolentor' ); ?></option>
882
- <option value="&wlsort=ASC" <?php selected( 'ASC', $wlsort, true ); ?> ><?php echo esc_html__( 'ASC', 'woolentor' ); ?></option>
883
- <option value="&wlsort=DESC" <?php selected( 'DESC', $wlsort, true ); ?> ><?php echo esc_html__( 'DESC', 'woolentor' ); ?></option>
884
- </select>
885
- </div>
886
- <?php elseif( 'order_by' === $filter_type ):
887
- $wlorder_by = ( isset( $_GET['wlorder_by'] ) && !empty( $_GET['wlorder_by'] ) ) ? $_GET['wlorder_by'] : '';
888
- ?>
889
- <div class="wl_order_by_filter">
890
- <select name="wl_order_by_sort">
891
- <?php
892
- foreach ( woolentor_order_by_opts() as $key => $opt_data ) {
893
- echo '<option value="&wlorder_by='.esc_attr( $key ).'" '.selected( $key, $wlorder_by, false ).'>'.esc_html__( $opt_data, 'woolentor' ).'</option>';
894
- }
895
- ?>
896
- </select>
897
- </div>
898
-
899
- <?php else:
900
-
901
- if( 'yes' === $settings['show_hierarchical'] ){
902
- $terms = get_terms( $filter_type, [ 'parent' => 0, 'child_of' => 0 ] );
903
-
904
- if ( !empty( $terms ) ){
905
- echo '<ul>';
906
- foreach ( $terms as $term ){
907
- $link = $this->generate_term_link( $filter_type, $term, $current_url );
908
- echo '<li class="'.$link['class'].'">';
909
- echo sprintf('%1$s<a href="%2$s">%3$s <span>(%4$s)</span></a>', $list_icon, $link['link'], $term->name, $term->count );
910
-
911
- $loterms = get_terms( $filter_type, [ 'parent' => $term->term_id ] );
912
- if( !empty( $loterms ) ){
913
- echo '<ul class="wlchildren">';
914
- foreach( $loterms as $key => $loterm ){
915
- $clink = $this->generate_term_link( $filter_type, $loterm, $current_url );
916
- echo sprintf('<li class="%5$s">%1$s<a href="%2$s">%3$s <span>(%4$s)</span></a></li>', $list_icon, $clink['link'], $loterm->name, $loterm->count, $clink['class'] );
917
- }
918
- echo '</ul>';
919
- }
920
- echo '</li>';
921
- }
922
- echo '</ul>';
923
- }
924
- }else{
925
- $terms = get_terms( $filter_type );
926
- if ( !empty( $terms ) ){
927
- echo '<ul>';
928
- foreach ( $terms as $term ){
929
- $link = $this->generate_term_link( $filter_type, $term, $current_url );
930
- echo sprintf('<li class="%5$s">%4$s<a href="%1$s">%2$s <span>(%3$s)</span></a></li>', $link['link'], $term->name, $term->count, $list_icon, $link['class'] );
931
- }
932
- echo '</ul>';
933
- }
934
- }
935
-
936
- ?>
937
- <?php endif;?>
938
-
939
- <?php else: echo '<p>'.esc_html__( 'Please Select Filter Type', 'woolentor' ).'</p>'; ?>
940
-
941
- <?php endif; ?>
942
-
943
- <?php if( 'sort_by' === $filter_type || 'order_by' === $filter_type ):?>
944
- <script type="text/javascript">
945
- ;jQuery(document).ready(function($) {
946
- 'use strict';
947
- var current_url = '<?php echo $current_url.'?wlfilter=1'; ?>';
948
- $('.wl_order_by_filter select,.wl_sort_by_filter select').on('change', function () {
949
- var sort_key = $(this).val();
950
- if ( sort_key ) {
951
- window.location = current_url + sort_key;
952
- }
953
- return false;
954
- });
955
- });
956
- </script>
957
- <?php endif; ?>
958
-
959
- </div>
960
- <?php
961
- }
962
-
963
- protected function generate_term_link( $filter_type, $term, $current_url ) {
964
-
965
- $filter_name = $filter_type;
966
- $str = substr( $filter_type, 0, 3 );
967
- if( 'pa_' === $str ){
968
- $filter_name = 'filter_' . wc_attribute_taxonomy_slug( $filter_type );
969
- }
970
-
971
- $current_filter = isset( $_GET[ $filter_name ] ) ? explode( ',', wc_clean( wp_unslash( $_GET[ $filter_name ] ) ) ) : array();
972
- $option_is_set = in_array( $term->slug, $current_filter, true );
973
-
974
- // Generate choosen Class
975
- if( in_array( $term->slug, $current_filter ) ){
976
- $active_class = 'wlchosen';
977
- }else{
978
- $active_class = '';
979
- }
980
-
981
- // Term Link
982
- $current_filter = array_map( 'sanitize_title', $current_filter );
983
- if ( ! in_array( $term->slug, $current_filter, true ) ) {
984
- $current_filter[] = $term->slug;
985
- }
986
- $link = remove_query_arg( $filter_name, $current_url );
987
-
988
- foreach ( $current_filter as $key => $value ) {
989
- if ( $option_is_set && $value === $term->slug ) {
990
- unset( $current_filter[ $key ] );
991
- }
992
- }
993
-
994
- if ( ! empty( $current_filter ) ) {
995
- asort( $current_filter );
996
- $link = add_query_arg( 'wlfilter', '1', $link );
997
- $link = add_query_arg( $filter_name, implode( ',', $current_filter ), $link );
998
- $link = str_replace( '%2C', ',', $link );
999
- }
1000
- return [
1001
- 'link' => $link,
1002
- 'class' => $active_class,
1003
- ];
1004
-
1005
- }
1006
-
1007
-
1008
- }
1009
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Product_Filter_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wl_product_horizontal_filter.php DELETED
@@ -1,1210 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Product_Horizontal_Filter_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wl-product-horizontal-filter';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: Product Horizontal Filter', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-filter';
18
- }
19
-
20
- public function get_categories() {
21
- return ['woolentor-addons'];
22
- }
23
-
24
- public function get_style_depends(){
25
- return ['elementor-icons-shared-0-css','elementor-icons-fa-brands','elementor-icons-fa-regular','elementor-icons-fa-solid','woolentor-select2','woolentor-widgets'];
26
- }
27
-
28
- public function get_script_depends() {
29
- return ['select2-min'];
30
- }
31
-
32
- public function get_keywords(){
33
- return ['woolentor','shop','filter','product filter','horizontal'];
34
- }
35
-
36
- protected function _register_controls() {
37
-
38
- $filter_by = [
39
- 'price_by' => esc_html__( 'Price', 'woolentor' ),
40
- 'sort_by' => esc_html__( 'Sort By', 'woolentor' ),
41
- 'order_by' => esc_html__( 'Order By', 'woolentor' )
42
- ];
43
- $prices = function_exists('woolentor_minmax_price_limit') ? woolentor_minmax_price_limit() : array('min' => 10,'max' => 20);
44
-
45
- $this->start_controls_section(
46
- 'section_content',
47
- [
48
- 'label' => esc_html__( 'Filter', 'woolentor' ),
49
- ]
50
- );
51
-
52
- $repeater = new Repeater();
53
-
54
- $repeater->add_control(
55
- 'wl_filter_title',
56
- [
57
- 'label' => esc_html__( 'Filter Title', 'woolentor' ),
58
- 'type' => Controls_Manager::TEXT,
59
- 'label_block' => true,
60
- ]
61
- );
62
-
63
- $repeater->add_control(
64
- 'wl_filter_placeholder',
65
- [
66
- 'label' => esc_html__( 'Filter Placeholder', 'woolentor' ),
67
- 'type' => Controls_Manager::TEXT,
68
- 'label_block' => true,
69
- ]
70
- );
71
-
72
- $repeater->add_control(
73
- 'wl_filter_type',
74
- [
75
- 'label' => esc_html__( 'Filter Type', 'woolentor' ),
76
- 'type' => Controls_Manager::SELECT2,
77
- 'options' => $filter_by + woolentor_get_taxonomies(),
78
- 'label_block' => true,
79
- ]
80
- );
81
-
82
- $repeater->add_responsive_control(
83
- 'wl_filter_width',
84
- [
85
- 'label' => esc_html__( 'Max Width', 'woolentor' ),
86
- 'type' => Controls_Manager::SLIDER,
87
- 'size_units' => [ 'px', '%' ],
88
- 'range' => [
89
- 'px' => [
90
- 'min' => 0,
91
- 'max' => 1000,
92
- 'step' => 1,
93
- ],
94
- '%' => [
95
- 'min' => 0,
96
- 'max' => 100,
97
- ],
98
- ],
99
- 'selectors' => [
100
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-single-item{{CURRENT_ITEM}} .select2-container .select2-search--inline .select2-search__field' => 'max-width: {{SIZE}}{{UNIT}};',
101
- ],
102
- ]
103
- );
104
-
105
- $this->add_control(
106
- 'wl_filter_list',
107
- [
108
- 'label' => esc_html__( 'Filter List', 'woolentor' ),
109
- 'type' => Controls_Manager::REPEATER,
110
- 'fields' => $repeater->get_controls(),
111
- 'default' => [
112
- [
113
- 'wl_filter_title' => esc_html__( 'Sort By', 'woolentor' ),
114
- 'wl_filter_placeholder' => esc_html__( 'Sort By', 'woolentor' ),
115
- 'wl_filter_type' => 'sort_by',
116
- ],
117
- [
118
- 'wl_filter_title' => esc_html__( 'Order By', 'woolentor' ),
119
- 'wl_filter_placeholder' => esc_html__( 'Order By', 'woolentor' ),
120
- 'wl_filter_type' => 'order_by',
121
- ],
122
- [
123
- 'wl_filter_title' => esc_html__( 'Pricing', 'woolentor' ),
124
- 'wl_filter_placeholder' => esc_html__( 'Pricing', 'woolentor' ),
125
- 'wl_filter_type' => 'price_by',
126
- ],
127
- ],
128
- 'title_field' => '{{{ wl_filter_title }}}',
129
- ]
130
- );
131
-
132
- $price_range = new Repeater();
133
-
134
- $price_range->add_control(
135
- 'min_price',
136
- [
137
- 'label' => esc_html__( 'Min Price', 'woolentor' ),
138
- 'type' => Controls_Manager::NUMBER,
139
- 'default' => floor( $prices['min'] ),
140
- ]
141
- );
142
-
143
- $price_range->add_control(
144
- 'max_price',
145
- [
146
- 'label' => esc_html__( 'Max Price', 'woolentor' ),
147
- 'type' => Controls_Manager::NUMBER,
148
- 'default' => ceil( $prices['max'] ),
149
- ]
150
- );
151
-
152
- $price_range->add_control(
153
- 'price_seprator',
154
- [
155
- 'label' => esc_html__( 'Filter Placeholder', 'woolentor' ),
156
- 'type' => Controls_Manager::TEXT,
157
- 'label_block' => true,
158
- 'default'=> esc_html__( 'to', 'woolentor' ),
159
- ]
160
- );
161
-
162
- $this->add_control(
163
- 'price_range_list',
164
- [
165
- 'label' => esc_html__( 'Price Range', 'woolentor' ),
166
- 'type' => Controls_Manager::REPEATER,
167
- 'fields' => $price_range->get_controls(),
168
- 'separator' => 'before',
169
- 'default' => [
170
- [
171
- 'min_price' => floor( $prices['min'] ),
172
- 'max_price' => ceil( $prices['max'] ),
173
- 'price_seprator' => esc_html__( 'to', 'woolentor' ),
174
- ],
175
- ],
176
- 'title_field' => esc_html__( 'Price: {{{ min_price }}} {{{ price_seprator }}} {{{ max_price }}}', 'woolentor' ),
177
- ]
178
- );
179
-
180
- $this->end_controls_section();
181
-
182
- // Additional Option
183
- $this->start_controls_section(
184
- 'section_additional_option',
185
- [
186
- 'label' => esc_html__( 'Additional Options', 'woolentor' ),
187
- ]
188
- );
189
-
190
- $this->add_control(
191
- 'wl_filter_area_title',
192
- [
193
- 'label' => esc_html__( 'Title', 'woolentor' ),
194
- 'type' => Controls_Manager::TEXT,
195
- 'default'=>esc_html__( 'Filter', 'woolentor' ),
196
- 'label_block' => true,
197
- ]
198
- );
199
-
200
- $this->add_control(
201
- 'show_search_form',
202
- [
203
- 'label' => esc_html__( 'Search Form', 'woolentor' ),
204
- 'type' => Controls_Manager::SWITCHER,
205
- 'default'=>'yes',
206
- ]
207
- );
208
-
209
- $this->add_control(
210
- 'redirect_form_url',
211
- [
212
- 'label' => esc_html__( 'Redirect Custom URL', 'woolentor' ),
213
- 'type' => Controls_Manager::TEXT,
214
- 'placeholder' => get_home_url( null, 'custom-search-page' ),
215
- 'label_block'=>true,
216
- 'condition' => [
217
- 'show_search_form' => 'yes'
218
- ],
219
- ]
220
- );
221
-
222
- $this->add_control(
223
- 'show_filter_label',
224
- [
225
- 'label' => esc_html__( 'Show Filter Label', 'woolentor' ),
226
- 'type' => Controls_Manager::SWITCHER,
227
- ]
228
- );
229
-
230
- $this->add_control(
231
- 'show_filter_btton',
232
- [
233
- 'label' => esc_html__( 'Show Filter Button', 'woolentor' ),
234
- 'type' => Controls_Manager::SWITCHER,
235
- 'default'=>'yes',
236
- ]
237
- );
238
-
239
- $this->add_control(
240
- 'form_field_placeholder',
241
- [
242
- 'label' => esc_html__( 'Search Form Placeholder', 'woolentor' ),
243
- 'type' => Controls_Manager::TEXT,
244
- 'default'=>esc_html__( 'Search Products...', 'woolentor' ),
245
- 'separator'=>'before',
246
- 'label_block' => true,
247
- 'condition'=>[
248
- 'show_search_form'=>'yes',
249
- ]
250
- ]
251
- );
252
-
253
- $this->add_control(
254
- 'form_submit_button_icon',
255
- [
256
- 'label' => esc_html__( 'Search Button Icon', 'woolentor' ),
257
- 'type' => Controls_Manager::ICONS,
258
- 'default' => [
259
- 'value' => 'fa fa-search',
260
- 'library' => 'solid',
261
- ],
262
- 'fa4compatibility' => 'formsubmitbuttonicon',
263
- 'condition'=>[
264
- 'show_search_form'=>'yes',
265
- ]
266
- ]
267
- );
268
-
269
- $this->add_control(
270
- 'filter_button_icon',
271
- [
272
- 'label' => esc_html__( 'Filter Button Icon', 'woolentor' ),
273
- 'type' => Controls_Manager::ICONS,
274
- 'default' => [
275
- 'value' => 'fas fa-filter',
276
- 'library' => 'solid',
277
- ],
278
- 'fa4compatibility' => 'filterbuttonicon',
279
- 'condition'=>[
280
- 'show_filter_btton'=>'yes',
281
- ]
282
- ]
283
- );
284
-
285
- $this->end_controls_section();
286
-
287
- // Area Style Section
288
- $this->start_controls_section(
289
- 'wlproduct_filter_area_style',
290
- [
291
- 'label' => esc_html__( 'Area', 'woolentor' ),
292
- 'tab' => Controls_Manager::TAB_STYLE,
293
- ]
294
- );
295
-
296
- $this->add_group_control(
297
- \Elementor\Group_Control_Border::get_type(),
298
- [
299
- 'name' => 'area_border',
300
- 'label' => esc_html__( 'Border', 'woolentor' ),
301
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-heaer-box-area',
302
- ]
303
- );
304
-
305
- $this->add_responsive_control(
306
- 'area_border_radius',
307
- [
308
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
309
- 'type' => Controls_Manager::DIMENSIONS,
310
- 'size_units' => [ 'px', '%', 'em' ],
311
- 'selectors' => [
312
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-heaer-box-area' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
313
- ],
314
- ]
315
- );
316
-
317
- $this->add_responsive_control(
318
- 'area_padding',
319
- [
320
- 'label' => esc_html__( 'Padding', 'woolentor' ),
321
- 'type' => Controls_Manager::DIMENSIONS,
322
- 'size_units' => [ 'px', '%', 'em' ],
323
- 'selectors' => [
324
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-heaer-box-area' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
325
- ],
326
- ]
327
- );
328
-
329
- $this->add_responsive_control(
330
- 'area_margin',
331
- [
332
- 'label' => esc_html__( 'Margin', 'woolentor' ),
333
- 'type' => Controls_Manager::DIMENSIONS,
334
- 'size_units' => [ 'px', '%', 'em' ],
335
- 'selectors' => [
336
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-heaer-box-area' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
337
- ],
338
- ]
339
- );
340
-
341
- $this->add_group_control(
342
- \Elementor\Group_Control_Background::get_type(),
343
- [
344
- 'name' => 'area_background',
345
- 'label' => esc_html__( 'Background', 'woolentor' ),
346
- 'types' => [ 'classic', 'gradient' ],
347
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-heaer-box-area',
348
- ]
349
- );
350
-
351
- $this->add_group_control(
352
- \Elementor\Group_Control_Box_Shadow::get_type(),
353
- [
354
- 'name' => 'area_box_shadow',
355
- 'label' => esc_html__( 'Box Shadow', 'woolentor' ),
356
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-heaer-box-area',
357
- ]
358
- );
359
-
360
- $this->end_controls_section();
361
-
362
- // Title Style Section
363
- $this->start_controls_section(
364
- 'wlproduct_filter_title_style',
365
- [
366
- 'label' => esc_html__( 'Title', 'woolentor' ),
367
- 'tab' => Controls_Manager::TAB_STYLE,
368
- 'condition'=>[
369
- 'wl_filter_area_title!'=>''
370
- ]
371
- ]
372
- );
373
-
374
- $this->add_control(
375
- 'title_color',
376
- [
377
- 'label' => esc_html__( 'Color', 'woolentor' ),
378
- 'type' => Controls_Manager::COLOR,
379
- 'selectors' => [
380
- '{{WRAPPER}} h2.wl_hoz_filter_title' => 'color: {{VALUE}}',
381
- ],
382
- ]
383
- );
384
-
385
- $this->add_group_control(
386
- \Elementor\Group_Control_Typography::get_type(),
387
- [
388
- 'name' => 'title_typography',
389
- 'label' => esc_html__( 'Typography', 'woolentor' ),
390
- 'selector' => '{{WRAPPER}} h2.wl_hoz_filter_title',
391
- ]
392
- );
393
-
394
- $this->add_group_control(
395
- \Elementor\Group_Control_Border::get_type(),
396
- [
397
- 'name' => 'title_border',
398
- 'label' => esc_html__( 'Border', 'woolentor' ),
399
- 'selector' => '{{WRAPPER}} h2.wl_hoz_filter_title',
400
- ]
401
- );
402
-
403
- $this->add_responsive_control(
404
- 'title_padding',
405
- [
406
- 'label' => esc_html__( 'Padding', 'woolentor' ),
407
- 'type' => Controls_Manager::DIMENSIONS,
408
- 'size_units' => [ 'px', '%', 'em' ],
409
- 'selectors' => [
410
- '{{WRAPPER}} h2.wl_hoz_filter_title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
411
- ],
412
- ]
413
- );
414
-
415
- $this->add_responsive_control(
416
- 'title_margin',
417
- [
418
- 'label' => esc_html__( 'Margin', 'woolentor' ),
419
- 'type' => Controls_Manager::DIMENSIONS,
420
- 'size_units' => [ 'px', '%', 'em' ],
421
- 'selectors' => [
422
- '{{WRAPPER}} h2.wl_hoz_filter_title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
423
- ],
424
- ]
425
- );
426
-
427
- $this->end_controls_section();
428
-
429
- // Filter Label Style Section
430
- $this->start_controls_section(
431
- 'wlproduct_filter_label_style',
432
- [
433
- 'label' => esc_html__( 'Label', 'woolentor' ),
434
- 'tab' => Controls_Manager::TAB_STYLE,
435
- 'condition'=>[
436
- 'show_filter_label'=>'yes'
437
- ]
438
- ]
439
- );
440
-
441
- $this->add_control(
442
- 'filter_label_color',
443
- [
444
- 'label' => esc_html__( 'Color', 'woolentor' ),
445
- 'type' => Controls_Manager::COLOR,
446
- 'selectors' => [
447
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item label' => 'color: {{VALUE}}',
448
- ],
449
- ]
450
- );
451
-
452
- $this->add_group_control(
453
- \Elementor\Group_Control_Typography::get_type(),
454
- [
455
- 'name' => 'filter_label_typography',
456
- 'label' => esc_html__( 'Typography', 'woolentor' ),
457
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item label',
458
- ]
459
- );
460
-
461
- $this->add_group_control(
462
- \Elementor\Group_Control_Border::get_type(),
463
- [
464
- 'name' => 'filter_label_border',
465
- 'label' => esc_html__( 'Border', 'woolentor' ),
466
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item label',
467
- ]
468
- );
469
-
470
- $this->add_responsive_control(
471
- 'filter_label_padding',
472
- [
473
- 'label' => esc_html__( 'Padding', 'woolentor' ),
474
- 'type' => Controls_Manager::DIMENSIONS,
475
- 'size_units' => [ 'px', '%', 'em' ],
476
- 'selectors' => [
477
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item label' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
478
- ],
479
- ]
480
- );
481
-
482
- $this->add_responsive_control(
483
- 'filter_label_margin',
484
- [
485
- 'label' => esc_html__( 'Margin', 'woolentor' ),
486
- 'type' => Controls_Manager::DIMENSIONS,
487
- 'size_units' => [ 'px', '%', 'em' ],
488
- 'selectors' => [
489
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap .woolentor-filter-single-item label' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
490
- ],
491
- ]
492
- );
493
-
494
- $this->end_controls_section();
495
-
496
- // Search Form Style Section
497
- $this->start_controls_section(
498
- 'wlproduct_filter_search_form_style',
499
- [
500
- 'label' => esc_html__( 'Search Form', 'woolentor' ),
501
- 'tab' => Controls_Manager::TAB_STYLE,
502
- 'condition'=>[
503
- 'show_search_form'=>'yes'
504
- ]
505
- ]
506
- );
507
-
508
- $this->add_control(
509
- 'form_inputbox',
510
- [
511
- 'label' => esc_html__( 'Input Box', 'woolentor' ),
512
- 'type' => Controls_Manager::HEADING,
513
- 'separator' => 'after',
514
- ]
515
- );
516
-
517
- $this->add_control(
518
- 'inputbox_color',
519
- [
520
- 'label' => esc_html__( 'Color', 'woolentor' ),
521
- 'type' => Controls_Manager::COLOR,
522
- 'selectors' => [
523
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-box' => 'color: {{VALUE}}',
524
- ],
525
- ]
526
- );
527
-
528
- $this->add_group_control(
529
- \Elementor\Group_Control_Background::get_type(),
530
- [
531
- 'name' => 'inputbox_background',
532
- 'label' => esc_html__( 'Background', 'woolentor' ),
533
- 'types' => [ 'classic', 'gradient' ],
534
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-box',
535
- ]
536
- );
537
-
538
- $this->add_group_control(
539
- \Elementor\Group_Control_Typography::get_type(),
540
- [
541
- 'name' => 'inputbox_typography',
542
- 'label' => esc_html__( 'Typography', 'woolentor' ),
543
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-box',
544
- ]
545
- );
546
-
547
- $this->add_group_control(
548
- \Elementor\Group_Control_Border::get_type(),
549
- [
550
- 'name' => 'inputbox_border',
551
- 'label' => esc_html__( 'Border', 'woolentor' ),
552
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-box',
553
- ]
554
- );
555
-
556
- $this->add_responsive_control(
557
- 'inputbox_border_radius',
558
- [
559
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
560
- 'type' => Controls_Manager::DIMENSIONS,
561
- 'size_units' => [ 'px', '%', 'em' ],
562
- 'selectors' => [
563
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-box' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
564
- ],
565
- ]
566
- );
567
-
568
- $this->add_responsive_control(
569
- 'inputbox_padding',
570
- [
571
- 'label' => esc_html__( 'Padding', 'woolentor' ),
572
- 'type' => Controls_Manager::DIMENSIONS,
573
- 'size_units' => [ 'px', '%', 'em' ],
574
- 'selectors' => [
575
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-box' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
576
- ],
577
- ]
578
- );
579
-
580
- $this->add_control(
581
- 'form_submit_button',
582
- [
583
- 'label' => esc_html__( 'Submit Button', 'woolentor' ),
584
- 'type' => Controls_Manager::HEADING,
585
- 'separator' => 'before',
586
- ]
587
- );
588
-
589
- $this->start_controls_tabs('submit_button_style_tabs');
590
-
591
- // Button Normal Style
592
- $this->start_controls_tab(
593
- 'submit_button_style_normal_tab',
594
- [
595
- 'label' => esc_html__( 'Normal', 'woolentor' ),
596
- ]
597
- );
598
-
599
- $this->add_control(
600
- 'submit_button_color',
601
- [
602
- 'label' => esc_html__( 'Color', 'woolentor' ),
603
- 'type' => Controls_Manager::COLOR,
604
- 'selectors' => [
605
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-inner-btn' => 'color: {{VALUE}}',
606
- ],
607
- ]
608
- );
609
-
610
- $this->add_responsive_control(
611
- 'submit_button_icon_size',
612
- [
613
- 'label' => esc_html__( 'Font Size', 'woolentor' ),
614
- 'type' => Controls_Manager::SLIDER,
615
- 'selectors' => [
616
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-inner-btn' => 'font-size: {{SIZE}}{{UNIT}};',
617
- ],
618
- ]
619
- );
620
-
621
- $this->end_controls_tab();
622
-
623
- // Button Hover Style
624
- $this->start_controls_tab(
625
- 'submit_button_style_hover_tab',
626
- [
627
- 'label' => esc_html__( 'Hover', 'woolentor' ),
628
- ]
629
- );
630
- $this->add_control(
631
- 'submit_button_hover_color',
632
- [
633
- 'label' => esc_html__( 'Color', 'woolentor' ),
634
- 'type' => Controls_Manager::COLOR,
635
- 'selectors' => [
636
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-header-top-area .woolentor-search-input-box .input-inner-btn:hover' => 'color: {{VALUE}}',
637
- ],
638
- ]
639
- );
640
-
641
- $this->end_controls_tab();
642
-
643
- $this->end_controls_tabs();
644
-
645
- $this->end_controls_section();
646
-
647
- // Filter Menu
648
- $this->start_controls_section(
649
- 'wlproduct_filter_menu_style',
650
- [
651
- 'label' => esc_html__( 'Filter Menu', 'woolentor' ),
652
- 'tab' => Controls_Manager::TAB_STYLE,
653
- ]
654
- );
655
-
656
- $this->add_control(
657
- 'menu_label_placeholder_color',
658
- [
659
- 'label' => esc_html__( 'Placeholder Color', 'woolentor' ),
660
- 'type' => Controls_Manager::COLOR,
661
- 'selectors' => [
662
- '{{WRAPPER}} .woolentor-filter-single-item .select2-container--default .select2-selection--single .select2-selection__placeholder' => 'color: {{VALUE}}',
663
- '{{WRAPPER}} .woolentor-filter-single-item .select2-container .select2-search--inline .select2-search__field::-webkit-input-placeholder' => 'color: {{VALUE}};opacity:1;',
664
- '{{WRAPPER}} .woolentor-filter-single-item .select2-container .select2-search--inline .select2-search__field::-moz-placeholder' => 'color: {{VALUE}};opacity:1;',
665
- '{{WRAPPER}} .woolentor-filter-single-item .select2-container .select2-search--inline .select2-search__field:-ms-input-placeholder' => 'color: {{VALUE}};opacity:1;',
666
- ],
667
- ]
668
- );
669
-
670
- $this->add_group_control(
671
- \Elementor\Group_Control_Border::get_type(),
672
- [
673
- 'name' => 'menu_label_border',
674
- 'label' => esc_html__( 'Border', 'woolentor' ),
675
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .select2-container .select2-selection--single,{{WRAPPER}} .woolentor-horizontal-filter-wrap .select2-container .select2-selection--multiple',
676
- ]
677
- );
678
-
679
- $this->add_responsive_control(
680
- 'menu_label_border_radius',
681
- [
682
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
683
- 'type' => Controls_Manager::DIMENSIONS,
684
- 'size_units' => [ 'px', '%', 'em' ],
685
- 'selectors' => [
686
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .select2-container .select2-selection--single' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
687
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .select2-container .select2-selection--multiple' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
688
- ],
689
- ]
690
- );
691
-
692
- $this->add_control(
693
- 'menu_label_color',
694
- [
695
- 'label' => esc_html__( 'Color', 'woolentor' ),
696
- 'type' => Controls_Manager::COLOR,
697
- 'selectors' => [
698
- '{{WRAPPER}} .woolentor-select-drop .select2-results__option' => 'color: {{VALUE}}',
699
- '{{WRAPPER}} .woolentor-select-drop .select2-results__option::before' => 'border-color: {{VALUE}}',
700
- ],
701
- ]
702
- );
703
-
704
- $this->add_control(
705
- 'menu_label_hover_color',
706
- [
707
- 'label' => esc_html__( 'Hover Color', 'woolentor' ),
708
- 'type' => Controls_Manager::COLOR,
709
- 'selectors' => [
710
- '{{WRAPPER}} .woolentor-select-drop .select2-container--default .select2-results__option--highlighted[aria-selected="true"]' => 'color: {{VALUE}}',
711
- ],
712
- ]
713
- );
714
-
715
- $this->add_group_control(
716
- \Elementor\Group_Control_Background::get_type(),
717
- [
718
- 'name' => 'menu_label_hover_background',
719
- 'label' => esc_html__( 'Background', 'woolentor' ),
720
- 'types' => [ 'classic', 'gradient' ],
721
- 'fields_options'=>[
722
- 'background'=>[
723
- 'label' => esc_html__( 'Hover Background', 'woolentor' ),
724
- ],
725
- ],
726
- 'exclude'=>['image'],
727
- 'selector' => '{{WRAPPER}} .woolentor-select-drop .select2-container--default .select2-results__option--highlighted[aria-selected="true"]',
728
- ]
729
- );
730
-
731
- $this->add_responsive_control(
732
- 'menu_alignment',
733
- [
734
- 'label' => esc_html__( 'Alignment', 'woolentor' ),
735
- 'type' => Controls_Manager::CHOOSE,
736
- 'options' => [
737
- 'flex-start' => [
738
- 'title' => esc_html__( 'Left', 'woolentor' ),
739
- 'icon' => 'fa fa-align-left',
740
- ],
741
- 'center' => [
742
- 'title' => esc_html__( 'Center', 'woolentor' ),
743
- 'icon' => 'fa fa-align-center',
744
- ],
745
- 'flex-end' => [
746
- 'title' => esc_html__( 'Right', 'woolentor' ),
747
- 'icon' => 'fa fa-align-right',
748
- ],
749
- ],
750
- 'selectors' => [
751
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap' => 'justify-content: {{VALUE}};',
752
- ],
753
- 'default' => 'center',
754
- ]
755
- );
756
-
757
- $this->end_controls_section();
758
-
759
- // Filter Button Style Section
760
- $this->start_controls_section(
761
- 'wlproduct_filter_button_style',
762
- [
763
- 'label' => esc_html__( 'Filter Button', 'woolentor' ),
764
- 'tab' => Controls_Manager::TAB_STYLE,
765
- 'condition'=>[
766
- 'show_filter_btton'=>'yes'
767
- ]
768
- ]
769
- );
770
- $this->start_controls_tabs('filter_button_style_tabs');
771
-
772
- // Button Normal Style
773
- $this->start_controls_tab(
774
- 'filter_button_style_normal_tab',
775
- [
776
- 'label' => esc_html__( 'Normal', 'woolentor' ),
777
- ]
778
- );
779
-
780
- $this->add_control(
781
- 'filter_button_color',
782
- [
783
- 'label' => esc_html__( 'Color', 'woolentor' ),
784
- 'type' => Controls_Manager::COLOR,
785
- 'selectors' => [
786
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-search-filter-custom .filter-icon' => 'color: {{VALUE}}',
787
- ],
788
- ]
789
- );
790
-
791
- $this->add_responsive_control(
792
- 'filter_button_icon_size',
793
- [
794
- 'label' => esc_html__( 'Font Size', 'woolentor' ),
795
- 'type' => Controls_Manager::SLIDER,
796
- 'selectors' => [
797
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-search-filter-custom .filter-icon' => 'font-size: {{SIZE}}{{UNIT}};',
798
- ],
799
- ]
800
- );
801
-
802
- $this->add_group_control(
803
- \Elementor\Group_Control_Background::get_type(),
804
- [
805
- 'name' => 'filter_button_background',
806
- 'label' => esc_html__( 'Background', 'woolentor' ),
807
- 'types' => [ 'classic', 'gradient' ],
808
- 'exclude'=>['image'],
809
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-search-filter-custom .filter-icon',
810
- ]
811
- );
812
-
813
- $this->end_controls_tab();
814
-
815
- // Button Hover Style
816
- $this->start_controls_tab(
817
- 'filter_button_style_hover_tab',
818
- [
819
- 'label' => esc_html__( 'Hover', 'woolentor' ),
820
- ]
821
- );
822
- $this->add_control(
823
- 'filter_button_hover_color',
824
- [
825
- 'label' => esc_html__( 'Color', 'woolentor' ),
826
- 'type' => Controls_Manager::COLOR,
827
- 'selectors' => [
828
- '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-search-filter-custom .filter-icon:hover' => 'color: {{VALUE}}',
829
- ],
830
- ]
831
- );
832
-
833
- $this->add_group_control(
834
- \Elementor\Group_Control_Background::get_type(),
835
- [
836
- 'name' => 'filter_button_hover_background',
837
- 'label' => esc_html__( 'Background', 'woolentor' ),
838
- 'types' => [ 'classic', 'gradient' ],
839
- 'exclude'=>['image'],
840
- 'selector' => '{{WRAPPER}} .woolentor-horizontal-filter-wrap .woolentor-search-filter-custom .filter-icon:hover',
841
- ]
842
- );
843
-
844
-
845
- $this->end_controls_tab();
846
-
847
- $this->end_controls_tabs();
848
-
849
- $this->end_controls_section();
850
-
851
-
852
- }
853
-
854
-
855
- protected function render( $instance = [] ) {
856
- $settings = $this->get_settings_for_display();
857
- $id = $this->get_id();
858
- $currency_symbol = get_woocommerce_currency_symbol();
859
-
860
- $filter_list = $settings['wl_filter_list'];
861
-
862
-
863
- global $wp;
864
- if ( '' == get_option('permalink_structure' ) ) {
865
- $current_url = remove_query_arg(array('page', 'paged'), add_query_arg($wp->query_string, '', home_url($wp->request)));
866
- } else {
867
- $current_url = preg_replace('%\/page/[0-9]+%', '', home_url(trailingslashit($wp->request)));
868
- }
869
-
870
- if( !empty( $settings['form_submit_button_icon']['value'] ) ){
871
- $submit_btton_icon = woolentor_render_icon( $settings, 'form_submit_button_icon', 'formsubmitbuttonicon' );
872
- }else{
873
- $submit_btton_icon = '<i class="fa fa-search"></i>';
874
- }
875
-
876
- if( !empty( $settings['filter_button_icon']['value'] ) ){
877
- $filter_btton_icon = woolentor_render_icon( $settings, 'filter_button_icon', 'filterbuttonicon' );
878
- }else{
879
- $filter_btton_icon = '<i class="fas fa-filter"></i>';
880
- }
881
-
882
- ?>
883
- <div class="woolentor-horizontal-filter-wrap">
884
- <!-- Heaer Box Area Start -->
885
- <div class="woolentor-heaer-box-area">
886
-
887
- <div class="woolentor-filter-header-top-area">
888
- <div class="woolentor-header-left-side">
889
- <?php
890
- if( !empty( $settings['wl_filter_area_title'] ) ){
891
- echo '<h2 class="wl_hoz_filter_title">'.$settings['wl_filter_area_title'].'</h2>';
892
- }
893
- ?>
894
- </div>
895
- <div class="woolentor-header-right-side">
896
- <?php
897
- if( $settings['show_search_form'] === 'yes' ):
898
-
899
- if ( isset( $_GET['q'] ) || isset( $_GET['s'] ) ) {
900
- $s = !empty( $_GET['s'] ) ? $_GET['s'] : '';
901
- $q = !empty( $_GET['q'] ) ? $_GET['q'] : '';
902
- $search_value = !empty( $q ) ? $q : $s;
903
- }else{
904
- $search_value = '';
905
- }
906
-
907
- if( !empty( $settings['redirect_form_url'] ) ){
908
- $form_action = $settings['redirect_form_url'];
909
- }else{
910
- $form_action = $current_url;
911
- }
912
-
913
- ?>
914
- <form class="woolentor-header-search-form" role="search" method="get" action="<?php echo esc_url( $form_action ); ?>">
915
- <div class="woolentor-search-input-box">
916
- <input class="input-box" type="search" placeholder="<?php echo esc_attr_x( $settings['form_field_placeholder'], 'placeholder', 'woolentor' ); ?>" value="<?php echo esc_attr( $search_value ); ?>" name="q" title="<?php echo esc_attr_x( 'Search for:', 'label', 'woolentor' ); ?>" />
917
- <button class="input-inner-btn" type="submit"><?php echo $submit_btton_icon; ?></button>
918
- </div>
919
- </form>
920
- <?php endif; ?>
921
-
922
- <?php if( $settings['show_filter_btton'] == 'yes' ): ?>
923
- <div class="woolentor-search-filter-custom">
924
- <a href="#" id="filter-toggle-<?php echo $id; ?>" class="filter-icon"><?php echo $filter_btton_icon; ?></a>
925
- </div>
926
- <?php endif; ?>
927
- </div>
928
- </div>
929
-
930
- <div id="filter-item-<?php echo $id; ?>" class="filter-item">
931
- <div class="woolentor-filter-field-area">
932
- <div class="woolentor-filter-field-wrap">
933
- <?php
934
- if( isset( $filter_list ) ){
935
- foreach ( $filter_list as $filter_key => $filter_item ) {
936
-
937
- $filter_label = '';
938
- if( 'yes' === $settings['show_filter_label'] ){
939
- $filter_label = '<label for="woolentor-field-for-'.$filter_item['_id'].'">'.$filter_item['wl_filter_title'].'</label>';
940
- }
941
-
942
- if( 'sort_by' === $filter_item['wl_filter_type'] ){
943
- $wlsort = ( isset( $_GET['wlsort'] ) && !empty( $_GET['wlsort'] ) ) ? $_GET['wlsort'] : '';
944
- ?>
945
- <div class="woolentor-filter-single-item woolentor-states-input-auto elementor-repeater-item-<?php echo $filter_item['_id']; ?>">
946
- <?php echo $filter_label; ?>
947
- <select name="wl_sort" id="woolentor-field-for-<?php echo $filter_item['_id']; ?>" class="woolentor-onchange-single-item woolentor-single-select-<?php echo $id; ?>" data-minimum-results-for-search="Infinity" data-placeholder="<?php echo $filter_item['wl_filter_placeholder']; ?>">
948
- <?php
949
- if( !empty( $filter_item['wl_filter_placeholder'] ) ){echo '<option></option>';}
950
- ?>
951
- <option value="&wlsort=ASC" <?php selected( 'ASC', $wlsort, true ); ?> ><?php echo esc_html__( 'ASC', 'woolentor' ); ?></option>
952
- <option value="&wlsort=DESC" <?php selected( 'DESC', $wlsort, true ); ?> ><?php echo esc_html__( 'DESC', 'woolentor' ); ?></option>
953
- </select>
954
- </div>
955
- <?php
956
-
957
- }elseif( 'order_by' === $filter_item['wl_filter_type'] ){
958
- $wlorder_by = ( isset( $_GET['wlorder_by'] ) && !empty( $_GET['wlorder_by'] ) ) ? $_GET['wlorder_by'] : '';
959
- ?>
960
- <div class="woolentor-filter-single-item woolentor-states-input-auto elementor-repeater-item-<?php echo $filter_item['_id']; ?>">
961
- <?php echo $filter_label; ?>
962
- <select name="wl_order_by_sort" id="woolentor-field-for-<?php echo $filter_item['_id']; ?>" class="woolentor-onchange-single-item woolentor-single-select-<?php echo $id; ?>" data-minimum-results-for-search="Infinity" data-placeholder="<?php echo $filter_item['wl_filter_placeholder']; ?>">
963
- <?php
964
- if( !empty( $filter_item['wl_filter_placeholder'] ) ){echo '<option></option>';}
965
-
966
- foreach ( woolentor_order_by_opts() as $key => $opt_data ) {
967
- echo '<option value="&wlorder_by='.esc_attr( $key ).'" '.selected( $key, $wlorder_by, false ).'>'.esc_html__( $opt_data, 'woolentor' ).'</option>';
968
- }
969
- ?>
970
- </select>
971
- </div>
972
- <?php
973
-
974
- }elseif( 'price_by' === $filter_item['wl_filter_type'] ){
975
-
976
- $cmin_price = ( isset( $_GET['min_price'] ) && !empty( $_GET['min_price'] ) ) ? $_GET['min_price'] : '';
977
- $cmax_price = ( isset( $_GET['max_price'] ) && !empty( $_GET['max_price'] ) ) ? $_GET['max_price'] : '';
978
-
979
- $current_price = [ $cmin_price, $cmax_price ];
980
-
981
- $psl_placeholder = '';
982
- if( empty( $cmin_price ) ){
983
- $psl_placeholder = 'data-placeholder="'.esc_attr( !empty( $filter_item['wl_filter_placeholder'] ) ? $filter_item['wl_filter_placeholder'] : '' ).'"';
984
- }
985
-
986
- $price_range_list = $settings['price_range_list'];
987
-
988
- if( isset( $price_range_list ) ):
989
- ?>
990
- <div class="woolentor-filter-single-item woolentor-states-input-auto elementor-repeater-item-<?php echo $filter_item['_id']; ?>">
991
- <?php echo $filter_label; ?>
992
- <select id="woolentor-field-for-<?php echo $filter_item['_id']; ?>" class="woolentor-onchange-single-item woolentor-price-filter woolentor-single-select-<?php echo $id; ?>" data-minimum-results-for-search="Infinity" <?php echo $psl_placeholder; ?> >
993
- <?php
994
- if( !empty( $filter_item['wl_filter_placeholder'] ) && empty( $cmin_price ) ){echo '<option></option>';}
995
-
996
- foreach ( $price_range_list as $key => $price_range ) {
997
-
998
- $individual = [$price_range['min_price'], $price_range['max_price'] ];
999
- $diff = array_diff( $individual, $current_price );
1000
-
1001
- $pselected = 0;
1002
- if( count( $diff ) == 0 ) {
1003
- $pselected = 1;
1004
- }
1005
-
1006
- $generate_price = sprintf('%s%s %s %s%s',$currency_symbol,$price_range['min_price'], $price_range['price_seprator'],$currency_symbol,$price_range['max_price'] );
1007
-
1008
- echo sprintf("<option value='%s' data-min_price='&min_price=%s' data-max_price='&max_price=%s' %s>%s</option>", $key, $price_range['min_price'], $price_range['max_price'], selected( $pselected, 1, false ), $generate_price );
1009
- }
1010
-
1011
- ?>
1012
- </select>
1013
- </div>
1014
- <?php
1015
- endif;
1016
-
1017
- }else{
1018
- $terms = get_terms( $filter_item['wl_filter_type'] );
1019
- if ( !empty( $terms ) ){
1020
-
1021
- $taxonomy_data = get_taxonomy( $filter_item['wl_filter_type'] );
1022
-
1023
- $filter_name = $filter_item['wl_filter_type'];
1024
- $str = substr( $filter_item['wl_filter_type'], 0, 3 );
1025
- if( 'pa_' === $str ){
1026
- $filter_name = 'filter_' . wc_attribute_taxonomy_slug( $filter_item['wl_filter_type'] );
1027
- }
1028
-
1029
- $selected_taxonomies = ( isset( $_GET[$filter_name] ) && !empty( $_GET[$filter_name] ) ) ? explode( ',', $_GET[$filter_name] ) : array();
1030
-
1031
- $sl_placeholder = '';
1032
- if( count( $selected_taxonomies ) != 1 ){
1033
- $sl_placeholder = 'data-placeholder="'.esc_attr( !empty( $filter_item['wl_filter_placeholder'] ) ? $filter_item['wl_filter_placeholder'] : $taxonomy_data->labels->singular_name ).'"';
1034
- }
1035
-
1036
- echo '<div class="woolentor-filter-single-item woolentor-states-input-auto elementor-repeater-item-'.$filter_item['_id'].'">';
1037
- echo $filter_label;
1038
- echo '<select name="wltaxonomies['.$filter_item['wl_filter_type'].'][]" class="woolentor-onchange-multiple-item woolentor-multiple-select-'.$id.'" '.$sl_placeholder.' multiple="multiple">';
1039
-
1040
- foreach ( $terms as $term ){
1041
- $link = $this->generate_term_link( $filter_item['wl_filter_type'], $term, null );
1042
-
1043
- $selected = 0;
1044
- if( in_array( $term->slug, $selected_taxonomies ) ) {
1045
- $selected = 1;
1046
- }
1047
-
1048
- echo sprintf('<option value="%1$s" %3$s>%2$s</option>', $link['link'], $term->name, selected( $selected, 1, false ) );
1049
- }
1050
-
1051
- echo '</select></div>';
1052
-
1053
- }
1054
-
1055
- }
1056
-
1057
- }
1058
- }
1059
- ?>
1060
- </div>
1061
- <div class="woolentor-select-drop woolentor-single-select-drop-<?php echo $id; ?>"></div>
1062
- <div class="woolentor-select-drop woolentor-multiple-select-drop-<?php echo $id; ?>"></div>
1063
- </div>
1064
- </div>
1065
- </div>
1066
- <!-- Heaer Box Area End -->
1067
- </div>
1068
-
1069
- <script type="text/javascript">
1070
- ;jQuery(document).ready(function($) {
1071
- 'use strict';
1072
-
1073
- var id = '<?php echo $id; ?>';
1074
-
1075
- // Localize Text
1076
- var selectTxt = '<?php echo esc_html__( 'select', 'woolentor' ); ?>',
1077
- ofTxt = '<?php echo esc_html__( 'of', 'woolentor' ); ?>';
1078
-
1079
- // Filter Toggle
1080
- $('#filter-toggle-'+id).on('click', function(e){
1081
- e.preventDefault()
1082
- $('#filter-item-'+id).slideToggle()
1083
- })
1084
-
1085
-
1086
- $('.woolentor-single-select-'+id).select2({
1087
- dropdownParent: $('.woolentor-single-select-drop-'+id),
1088
- });
1089
- $('.woolentor-multiple-select-'+id).select2({
1090
- // closeOnSelect : false,
1091
- allowHtml: true,
1092
- allowClear: true,
1093
- dropdownParent: $('.woolentor-multiple-select-drop-'+id),
1094
- });
1095
-
1096
- $('.woolentor-filter-single-item select').on('change', function (e) {
1097
- var output = $(this).siblings('span.select2').find('ul');
1098
- var total = e.currentTarget.length;
1099
- var count = output.find('li').length - 0;
1100
- if(count >= 3) {
1101
- output.html("<li>"+count+" "+ofTxt+" "+total+" "+selectTxt+"</li>")
1102
- }
1103
- });
1104
-
1105
- // Filter product
1106
- var current_url = '<?php echo $current_url.'?wlfilter=1'; ?>';
1107
- $('.woolentor-filter-single-item select.woolentor-onchange-single-item').on('change', function () {
1108
- var sort_key = $(this).val();
1109
- if ( sort_key ) {
1110
- window.location = current_url + sort_key;
1111
- }
1112
- return false;
1113
- });
1114
-
1115
- // Price Filter
1116
- $('.woolentor-filter-single-item select.woolentor-price-filter').on( 'change', function(){
1117
- var selected = $(this).find('option:selected'),
1118
- min_price = selected.data('min_price'),
1119
- max_price = selected.data('max_price'),
1120
- location = min_price + max_price;
1121
-
1122
- if ( location ) {
1123
- window.location = current_url + location;
1124
- }
1125
-
1126
- });
1127
-
1128
- // Texanomies Filter
1129
- var previouslySelected = [];
1130
- $('.woolentor-filter-single-item select.woolentor-onchange-multiple-item').on('change', function () {
1131
- // Get newly selected elements
1132
- var currentlySelected = $(this).val();
1133
- if( currentlySelected != null ){
1134
-
1135
- if( currentlySelected.length == 0 ){
1136
- window.location = current_url;
1137
- }else{
1138
- var newSelections = currentlySelected.filter(function (element) {
1139
- return previouslySelected.indexOf(element) == -1;
1140
- });
1141
- previouslySelected = currentlySelected;
1142
- if (newSelections.length) {
1143
- // If there are multiple new selections, we'll take the last in the list
1144
- var lastSelected = newSelections.reverse()[0];
1145
- }
1146
- if ( lastSelected ) {
1147
- window.location = lastSelected;
1148
- }
1149
- }
1150
-
1151
- }else{
1152
- window.location = current_url;
1153
- }
1154
- return false;
1155
- });
1156
-
1157
-
1158
- });
1159
- </script>
1160
- <?php
1161
- }
1162
-
1163
- protected function generate_term_link( $filter_type, $term, $current_url ) {
1164
-
1165
- $filter_name = $filter_type;
1166
- $str = substr( $filter_type, 0, 3 );
1167
- if( 'pa_' === $str ){
1168
- $filter_name = 'filter_' . wc_attribute_taxonomy_slug( $filter_type );
1169
- }
1170
-
1171
- $current_filter = isset( $_GET[ $filter_name ] ) ? explode( ',', wc_clean( wp_unslash( $_GET[ $filter_name ] ) ) ) : array();
1172
- $option_is_set = in_array( $term->slug, $current_filter, true );
1173
-
1174
- // Generate choosen Class
1175
- if( in_array( $term->slug, $current_filter ) ){
1176
- $active_class = 'wlchosen';
1177
- }else{
1178
- $active_class = '';
1179
- }
1180
-
1181
- // Term Link
1182
- $current_filter = array_map( 'sanitize_title', $current_filter );
1183
- if ( ! in_array( $term->slug, $current_filter, true ) ) {
1184
- $current_filter[] = $term->slug;
1185
- }
1186
- $link = remove_query_arg( $filter_name, $current_url );
1187
-
1188
- foreach ( $current_filter as $key => $value ) {
1189
- if ( $option_is_set && $value === $term->slug ) {
1190
- unset( $current_filter[ $key ] );
1191
- }
1192
- }
1193
-
1194
- if ( ! empty( $current_filter ) ) {
1195
- asort( $current_filter );
1196
- $link = add_query_arg( 'wlfilter', '1', $link );
1197
- $link = add_query_arg( $filter_name, implode( ',', $current_filter ), $link );
1198
-
1199
- $link = str_replace( '%2C', ',', $link );
1200
- }
1201
- return [
1202
- 'link' => $link,
1203
- 'class' => $active_class,
1204
- ];
1205
-
1206
- }
1207
-
1208
-
1209
- }
1210
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Product_Horizontal_Filter_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wl_product_video_gallery.php CHANGED
@@ -43,7 +43,7 @@ class WL_Product_Video_Gallery_ELement extends Widget_Base {
43
  $this->start_controls_section(
44
  'product_thumbnails_content',
45
  array(
46
- 'label' => __( 'Video Thumbnails', 'woolentor' ),
47
  'tab' => Controls_Manager::TAB_CONTENT,
48
  )
49
  );
43
  $this->start_controls_section(
44
  'product_thumbnails_content',
45
  array(
46
+ 'label' => __( 'Video Thumbanails', 'woolentor' ),
47
  'tab' => Controls_Manager::TAB_CONTENT,
48
  )
49
  );
includes/addons/wl_store_features.php DELETED
@@ -1,578 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Store_Features_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wl-store-feature';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: Store Feature', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-checkbox';
18
- }
19
-
20
- public function get_categories() {
21
- return array( 'woolentor-addons' );
22
- }
23
-
24
- public function get_style_depends(){
25
- return [ 'woolentor-store-feature' ];
26
- }
27
-
28
- public function get_keywords(){
29
- return ['feature','store'];
30
- }
31
-
32
- protected function _register_controls() {
33
-
34
- $this->start_controls_section(
35
- 'section_content',
36
- [
37
- 'label' => esc_html__( 'Store Feature', 'woolentor' ),
38
- ]
39
- );
40
-
41
- $this->add_control(
42
- 'feature_style',
43
- [
44
- 'label' => __( 'Layout', 'woolentor' ),
45
- 'type' => Controls_Manager::SELECT,
46
- 'default' => '1',
47
- 'options' => [
48
- '1' => __( 'Layout One', 'woolentor' ),
49
- '2' => __( 'Layout Two', 'woolentor' ),
50
- '3' => __( 'Layout Three', 'woolentor' ),
51
- '4' => __( 'Layout Four', 'woolentor' ),
52
- '5' => __( 'Layout Five', 'woolentor' ),
53
- ],
54
- ]
55
- );
56
-
57
- $this->add_control(
58
- 'icon_type',
59
- [
60
- 'label' => esc_html__( 'Icon Type', 'woolentor' ),
61
- 'type' => Controls_Manager::CHOOSE,
62
- 'options' => [
63
- 'icon' => [
64
- 'title' => esc_html__( 'Icon', 'woolentor' ),
65
- 'icon' => 'eicon-editor-italic',
66
- ],
67
- 'image' => [
68
- 'title' => esc_html__( 'Image', 'woolentor' ),
69
- 'icon' => 'eicon-image',
70
- ],
71
- ],
72
- 'default' => 'image',
73
- 'toggle' => false,
74
- ]
75
- );
76
-
77
- $this->add_control(
78
- 'feature_icon',
79
- [
80
- 'label' => esc_html__( 'Icon', 'woolentor' ),
81
- 'type' => Controls_Manager::ICONS,
82
- 'label_block' => true,
83
- 'fa4compatibility' => 'featureicon',
84
- 'condition'=>[
85
- 'icon_type'=>'icon'
86
- ],
87
- ]
88
- );
89
-
90
- $this->add_control(
91
- 'feature_image',
92
- [
93
- 'label' => esc_html__( 'Image','woolentor' ),
94
- 'type' => Controls_Manager::MEDIA,
95
- 'condition'=>[
96
- 'icon_type'=>'image'
97
- ],
98
- ]
99
- );
100
-
101
- $this->add_control(
102
- 'feature_title',
103
- [
104
- 'label' => esc_html__( 'Title', 'woolentor' ),
105
- 'type' => Controls_Manager::TEXT,
106
- 'default'=>esc_html__( 'Free shipping', 'woolentor' ),
107
- 'label_block'=>true,
108
- ]
109
- );
110
-
111
- $this->add_control(
112
- 'feature_sub_title',
113
- [
114
- 'label' => esc_html__( 'Sub Title', 'woolentor' ),
115
- 'type' => Controls_Manager::TEXT,
116
- 'default'=>esc_html__( 'Start from $100', 'woolentor' ),
117
- 'label_block'=>true,
118
- ]
119
- );
120
-
121
- $this->end_controls_section();
122
-
123
- // Area Style Section
124
- $this->start_controls_section(
125
- 'feature_area_style',
126
- [
127
- 'label' => esc_html__( 'Area', 'woolentor' ),
128
- 'tab' => Controls_Manager::TAB_STYLE,
129
- ]
130
- );
131
-
132
- $this->add_responsive_control(
133
- 'feature_area_align',
134
- [
135
- 'label' => __( 'Alignment', 'woolentor' ),
136
- 'type' => Controls_Manager::CHOOSE,
137
- 'options' => [
138
- 'left' => [
139
- 'title' => __( 'Left', 'woolentor' ),
140
- 'icon' => 'fa fa-align-left',
141
- ],
142
- 'center' => [
143
- 'title' => __( 'Center', 'woolentor' ),
144
- 'icon' => 'fa fa-align-center',
145
- ],
146
- 'right' => [
147
- 'title' => __( 'Right', 'woolentor' ),
148
- 'icon' => 'fa fa-align-right',
149
- ],
150
- 'justify' => [
151
- 'title' => __( 'Justified', 'woolentor' ),
152
- 'icon' => 'fa fa-align-justify',
153
- ],
154
- ],
155
- 'selectors' => [
156
- '{{WRAPPER}} .ht-feature-wrap' => 'text-align: {{VALUE}};',
157
- '{{WRAPPER}} .ht-feature-style-2 .ht-feature-content' => 'text-align: {{VALUE}};',
158
- ],
159
- 'default' => 'center',
160
- ]
161
- );
162
-
163
- $this->add_group_control(
164
- Group_Control_Border::get_type(),
165
- [
166
- 'name' => 'feature_area_border',
167
- 'label' => __( 'Border', 'woolentor' ),
168
- 'selector' => '{{WRAPPER}} .ht-feature-wrap .ht-feature-inner',
169
- ]
170
- );
171
-
172
- $this->add_group_control(
173
- Group_Control_Border::get_type(),
174
- [
175
- 'name' => 'feature_area_hover_border',
176
- 'label' => __( 'Hover Border', 'woolentor' ),
177
- 'selector' => '{{WRAPPER}} .ht-feature-wrap:hover .ht-feature-inner',
178
- 'fields_options'=>[
179
- 'border'=>[
180
- 'label' => __( 'Hover Border Type', 'woolentor' ),
181
- ],
182
- ],
183
- ]
184
- );
185
-
186
- $this->add_responsive_control(
187
- 'feature_area_padding',
188
- [
189
- 'label' => __( 'Area Padding', 'woolentor' ),
190
- 'type' => Controls_Manager::DIMENSIONS,
191
- 'size_units' => [ 'px', '%', 'em' ],
192
- 'selectors' => [
193
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-inner' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
194
- ],
195
- 'separator'=>'before',
196
- ]
197
- );
198
-
199
- $this->add_responsive_control(
200
- 'feature_area_margin',
201
- [
202
- 'label' => __( 'Area Margin', 'woolentor' ),
203
- 'type' => Controls_Manager::DIMENSIONS,
204
- 'size_units' => [ 'px', '%', 'em' ],
205
- 'selectors' => [
206
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-inner' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
207
- ],
208
- ]
209
- );
210
-
211
- $this->add_group_control(
212
- \Elementor\Group_Control_Background::get_type(),
213
- [
214
- 'name' => 'feature_area_background',
215
- 'label' => __( 'Background', 'woolentor' ),
216
- 'types' => [ 'classic', 'gradient' ],
217
- 'selector' => '{{WRAPPER}} .ht-feature-wrap',
218
- ]
219
- );
220
-
221
- $this->add_group_control(
222
- Group_Control_Box_Shadow::get_type(),
223
- [
224
- 'name' => 'area_box_shadow',
225
- 'label' => __( 'Box Shadow', 'woolentor' ),
226
- 'selector' => '{{WRAPPER}} .ht-feature-wrap',
227
- ]
228
- );
229
-
230
- $this->end_controls_section();
231
-
232
- /* Image Style */
233
- $this->start_controls_section(
234
- 'feature_icon_image_style',
235
- [
236
- 'label' => esc_html__( 'Image/Icon', 'woolentor' ),
237
- 'tab' => Controls_Manager::TAB_STYLE,
238
- 'conditions' => [
239
- 'relation' => 'or',
240
- 'terms' => [
241
- [
242
- 'name' => 'feature_image[id]',
243
- 'operator' => '!=',
244
- 'value' => '',
245
- ],
246
- [
247
- 'name' => 'feature_icon[value]',
248
- 'operator' => '!=',
249
- 'value' => '',
250
- ],
251
- ],
252
- ],
253
-
254
- ]
255
- );
256
-
257
- $this->add_control(
258
- 'icon_color',
259
- [
260
- 'label' => __( 'Icon Color', 'woolentor' ),
261
- 'type' => Controls_Manager::COLOR,
262
- 'selectors' => [
263
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-img i' => 'color: {{VALUE}}',
264
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-img svg *' => 'color: {{VALUE}}',
265
- ],
266
- 'condition'=>[
267
- 'feature_icon[value]!'=>'',
268
- ]
269
- ]
270
- );
271
-
272
- $this->add_control(
273
- 'icon_hover_color',
274
- [
275
- 'label' => __( 'Icon Hover Color', 'woolentor' ),
276
- 'type' => Controls_Manager::COLOR,
277
- 'selectors' => [
278
- '{{WRAPPER}} .ht-feature-wrap:hover .ht-feature-img i' => 'color: {{VALUE}}',
279
- '{{WRAPPER}} .ht-feature-wrap:hover .ht-feature-img svg *' => 'color: {{VALUE}}',
280
- ],
281
- 'condition'=>[
282
- 'feature_icon[value]!'=>'',
283
- ]
284
- ]
285
- );
286
-
287
- $this->add_responsive_control(
288
- 'icon_size',
289
- [
290
- 'label' => __( 'Icon Size', 'woolentor' ),
291
- 'type' => Controls_Manager::SLIDER,
292
- 'size_units' => [ 'px', '%' ],
293
- 'selectors' => [
294
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-img i' => 'font-size: {{SIZE}}{{UNIT}};',
295
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-img svg' => 'width: {{SIZE}}{{UNIT}};height: {{SIZE}}{{UNIT}};',
296
- ],
297
- 'condition'=>[
298
- 'feature_icon[value]!'=>'',
299
- ]
300
- ]
301
- );
302
-
303
-
304
- $this->start_controls_tabs('image_icon_style_tabs');
305
-
306
- $this->start_controls_tab(
307
- 'image_icon_style_normal_tab',
308
- [
309
- 'label' => __( 'Normal', 'woolentor' ),
310
- ]
311
- );
312
-
313
- $this->add_group_control(
314
- Group_Control_Background::get_type(),
315
- [
316
- 'name' => 'feature_icon_background',
317
- 'label' => __( 'Background', 'woolentor' ),
318
- 'types' => [ 'classic', 'gradient' ],
319
- 'selector' => '{{WRAPPER}} .ht-feature-wrap .ht-feature-img',
320
- ]
321
- );
322
-
323
- $this->add_group_control(
324
- Group_Control_Border::get_type(),
325
- [
326
- 'name' => 'feature_icon_border',
327
- 'label' => __( 'Border', 'woolentor' ),
328
- 'selector' => '{{WRAPPER}} .ht-feature-wrap .ht-feature-img',
329
- ]
330
- );
331
-
332
- $this->add_responsive_control(
333
- 'feature_icon_border_radius',
334
- [
335
- 'label' => __( 'Border Radius', 'woolentor' ),
336
- 'type' => Controls_Manager::DIMENSIONS,
337
- 'size_units' => [ 'px', '%', 'em' ],
338
- 'selectors' => [
339
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
340
- ],
341
- ]
342
- );
343
-
344
- $this->add_responsive_control(
345
- 'feature_icon_padding',
346
- [
347
- 'label' => __( 'Padding', 'woolentor' ),
348
- 'type' => Controls_Manager::DIMENSIONS,
349
- 'size_units' => [ 'px', '%', 'em' ],
350
- 'selectors' => [
351
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
352
- ],
353
- 'separator'=>'before',
354
- ]
355
- );
356
-
357
- $this->add_responsive_control(
358
- 'feature_icon_margin',
359
- [
360
- 'label' => __( 'Margin', 'woolentor' ),
361
- 'type' => Controls_Manager::DIMENSIONS,
362
- 'size_units' => [ 'px', '%', 'em' ],
363
- 'selectors' => [
364
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-img' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
365
- ],
366
- ]
367
- );
368
-
369
- $this->end_controls_tab();
370
-
371
- $this->start_controls_tab(
372
- 'image_icon_style_hover_tab',
373
- [
374
- 'label' => __( 'Hover', 'woolentor' ),
375
- ]
376
- );
377
- $this->add_group_control(
378
- Group_Control_Background::get_type(),
379
- [
380
- 'name' => 'feature_icon_hover_background',
381
- 'label' => __( 'Background', 'woolentor' ),
382
- 'types' => [ 'classic', 'gradient' ],
383
- 'selector' => '{{WRAPPER}} .ht-feature-wrap:hover .ht-feature-img',
384
- ]
385
- );
386
-
387
- $this->add_group_control(
388
- Group_Control_Border::get_type(),
389
- [
390
- 'name' => 'feature_icon_hover_border',
391
- 'label' => __( 'Border', 'woolentor' ),
392
- 'selector' => '{{WRAPPER}} .ht-feature-wrap:hover .ht-feature-img',
393
- ]
394
- );
395
-
396
- $this->end_controls_tab();
397
-
398
- $this->end_controls_tabs();
399
-
400
- $this->end_controls_section();
401
-
402
- // Content area style
403
- $this->start_controls_section(
404
- 'feature_content_style',
405
- [
406
- 'label' => esc_html__( 'Content Area', 'woolentor' ),
407
- 'tab' => Controls_Manager::TAB_STYLE,
408
- ]
409
- );
410
-
411
- $this->add_group_control(
412
- Group_Control_Border::get_type(),
413
- [
414
- 'name' => 'feature_content_area_border',
415
- 'label' => __( 'Border', 'woolentor' ),
416
- 'selector' => '{{WRAPPER}} .ht-feature-wrap .ht-feature-content',
417
- ]
418
- );
419
-
420
- $this->add_responsive_control(
421
- 'feature_content_area_padding',
422
- [
423
- 'label' => __( 'Padding', 'woolentor' ),
424
- 'type' => Controls_Manager::DIMENSIONS,
425
- 'size_units' => [ 'px', '%', 'em' ],
426
- 'selectors' => [
427
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
428
- ],
429
- 'separator'=>'before',
430
- ]
431
- );
432
-
433
- $this->add_responsive_control(
434
- 'feature_content_area_margin',
435
- [
436
- 'label' => __( 'Margin', 'woolentor' ),
437
- 'type' => Controls_Manager::DIMENSIONS,
438
- 'size_units' => [ 'px', '%', 'em' ],
439
- 'selectors' => [
440
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-content' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
441
- ],
442
- ]
443
- );
444
-
445
- $this->end_controls_section();
446
-
447
- // Title style
448
- $this->start_controls_section(
449
- 'feature_title_style',
450
- [
451
- 'label' => esc_html__( 'Title', 'woolentor' ),
452
- 'tab' => Controls_Manager::TAB_STYLE,
453
- 'condition'=>[
454
- 'feature_title!'=>'',
455
- ]
456
- ]
457
- );
458
-
459
- $this->add_control(
460
- 'feature_title_color',
461
- [
462
- 'label' => __( 'Color', 'woolentor' ),
463
- 'type' => Controls_Manager::COLOR,
464
- 'selectors' => [
465
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-content h4' => 'color: {{VALUE}}',
466
- ],
467
- ]
468
- );
469
-
470
- $this->add_group_control(
471
- Group_Control_Typography::get_type(),
472
- [
473
- 'name' => 'feature_title_typography',
474
- 'label' => __( 'Typography', 'woolentor' ),
475
- 'selector' => '{{WRAPPER}} .ht-feature-wrap .ht-feature-content h4',
476
- ]
477
- );
478
-
479
- $this->add_responsive_control(
480
- 'feature_title_margin',
481
- [
482
- 'label' => __( 'Margin', 'woolentor' ),
483
- 'type' => Controls_Manager::DIMENSIONS,
484
- 'size_units' => [ 'px', '%', 'em' ],
485
- 'selectors' => [
486
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-content h4' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
487
- ],
488
- ]
489
- );
490
-
491
- $this->end_controls_section();
492
-
493
- // SubTitle style
494
- $this->start_controls_section(
495
- 'feature_subtitle_style',
496
- [
497
- 'label' => esc_html__( 'Sub Title', 'woolentor' ),
498
- 'tab' => Controls_Manager::TAB_STYLE,
499
- 'condition'=>[
500
- 'feature_sub_title!'=>'',
501
- ]
502
- ]
503
- );
504
-
505
- $this->add_control(
506
- 'feature_sub_title_color',
507
- [
508
- 'label' => __( 'Color', 'woolentor' ),
509
- 'type' => Controls_Manager::COLOR,
510
- 'selectors' => [
511
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-content p' => 'color: {{VALUE}}',
512
- ],
513
- ]
514
- );
515
-
516
- $this->add_group_control(
517
- Group_Control_Typography::get_type(),
518
- [
519
- 'name' => 'feature_sub_title_typography',
520
- 'label' => __( 'Typography', 'woolentor' ),
521
- 'selector' => '{{WRAPPER}} .ht-feature-wrap .ht-feature-content p',
522
- ]
523
- );
524
-
525
- $this->add_responsive_control(
526
- 'feature_sub_title_margin',
527
- [
528
- 'label' => __( 'Margin', 'woolentor' ),
529
- 'type' => Controls_Manager::DIMENSIONS,
530
- 'size_units' => [ 'px', '%', 'em' ],
531
- 'selectors' => [
532
- '{{WRAPPER}} .ht-feature-wrap .ht-feature-content p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
533
- ],
534
- ]
535
- );
536
-
537
- $this->end_controls_section();
538
-
539
- }
540
-
541
-
542
- protected function render( $instance = [] ) {
543
- $settings = $this->get_settings_for_display();
544
-
545
- $this->add_render_attribute( 'area_attr', 'class', 'ht-feature-wrap ht-feature-style-'.$settings['feature_style'] );
546
-
547
- $icon = '';
548
- if( 'icon' === $settings['icon_type'] ){
549
- $icon = woolentor_render_icon( $settings, 'feature_icon', 'featureicon' );
550
- }else{
551
- $icon = Group_Control_Image_Size::get_attachment_image_html( $settings, 'full', 'feature_image' );
552
- }
553
-
554
- ?>
555
- <div <?php echo $this->get_render_attribute_string( 'area_attr' ); ?> >
556
- <div class="ht-feature-inner">
557
- <?php
558
- if( !empty( $icon ) ){
559
- echo '<div class="ht-feature-img">'.$icon.'</div>';
560
- }
561
- ?>
562
- <div class="ht-feature-content">
563
- <?php
564
- if( !empty( $settings['feature_title'] ) ){
565
- echo '<h4>'.$settings['feature_title'].'</h4>';
566
- }
567
- if( !empty( $settings['feature_sub_title'] ) ){
568
- echo '<p>'.$settings['feature_sub_title'].'</p>';
569
- }
570
- ?>
571
- </div>
572
- </div>
573
- </div>
574
- <?php
575
- }
576
-
577
- }
578
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Store_Features_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/addons/wl_testimonial.php DELETED
@@ -1,1273 +0,0 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
5
-
6
- class WL_Testimonial_Element extends Widget_Base {
7
-
8
- public function get_name() {
9
- return 'wl-testimonial';
10
- }
11
-
12
- public function get_title() {
13
- return __( 'WL: Testimonial', 'woolentor' );
14
- }
15
-
16
- public function get_icon() {
17
- return 'eicon-comments';
18
- }
19
-
20
- public function get_categories() {
21
- return array( 'woolentor-addons' );
22
- }
23
-
24
- public function get_style_depends(){
25
- return ['elementor-icons-shared-0-css','elementor-icons-fa-brands','elementor-icons-fa-regular','elementor-icons-fa-solid','woolentor-testimonial','woolentor-widgets'];
26
- }
27
-
28
- public function get_script_depends() {
29
- return ['slick','woolentor-widgets-scripts'];
30
- }
31
-
32
- public function get_keywords(){
33
- return ['woolentor','review','testimonial','product review','customer review','client say'];
34
- }
35
-
36
- protected function _register_controls() {
37
-
38
- $this->start_controls_section(
39
- 'testimonial_content',
40
- [
41
- 'label' => __( 'Testimonial', 'woolentor' ),
42
- ]
43
- );
44
-
45
- $this->add_control(
46
- 'testimonial_layout',
47
- [
48
- 'label' => __( 'Style', 'woolentor' ),
49
- 'type' => Controls_Manager::SELECT,
50
- 'default' => '1',
51
- 'options' => [
52
- '1' => __( 'Style One', 'woolentor' ),
53
- '2' => __( 'Style Two', 'woolentor' ),
54
- '3' => __( 'Style Three', 'woolentor' ),
55
- '4' => __( 'Style Four', 'woolentor' ),
56
- ],
57
- ]
58
- );
59
-
60
- $this->add_control(
61
- 'testimonial_type',
62
- [
63
- 'label' => __( 'Review Type', 'woolentor' ),
64
- 'type' => Controls_Manager::SELECT,
65
- 'default' => 'custom',
66
- 'options' => [
67
- 'custom' => __( 'Custom', 'woolentor' ),
68
- ],
69
- 'description' => sprintf( __( 'Product Wise Rating/Review Display is available in WooLentor Pro. <a href="%s" target="_blank">Purchase WooLentor Pro</a>', 'woolentor' ), esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?reviewwidget' ) ),
70
- ]
71
- );
72
-
73
- $repeater = new Repeater();
74
-
75
- $repeater->add_control(
76
- 'client_name',
77
- [
78
- 'label' => __( 'Name', 'woolentor' ),
79
- 'type' => Controls_Manager::TEXT,
80
- 'default' => __('Anna Miller','woolentor'),
81
- ]
82
- );
83
-
84
- $repeater->add_control(
85
- 'client_designation',
86
- [
87
- 'label' => __( 'Designation', 'woolentor' ),
88
- 'type' => Controls_Manager::TEXT,
89
- 'default' => __('Designer','woolentor'),
90
- ]
91
- );
92
-
93
- $repeater->add_control(
94
- 'client_rating',
95
- [
96
- 'label' => __( 'Client Rating', 'woolentor' ),
97
- 'type' => Controls_Manager::NUMBER,
98
- 'min' => 1,
99
- 'max' => 5,
100
- 'step' => 1,
101
- ]
102
- );
103
-
104
- $repeater->add_control(
105
- 'client_image',
106
- [
107
- 'label' => __( 'Image', 'woolentor' ),
108
- 'type' => Controls_Manager::MEDIA,
109
- ]
110
- );
111
-
112
- $repeater->add_group_control(
113
- Group_Control_Image_Size::get_type(),
114
- [
115
- 'name' => 'client_imagesize',
116
- 'default' => 'full',
117
- 'separator' => 'none',
118
- ]
119
- );
120
-
121
- $repeater->add_control(
122
- 'client_say',
123
- [
124
- 'label' => __( 'Client Say', 'woolentor' ),
125
- 'type' => Controls_Manager::TEXTAREA,
126
- 'default' => __('“ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, laboris consequat. ”','woolentor'),
127
- ]
128
- );
129
-
130
- $this->add_control(
131
- 'testimonial_list',
132
- [
133
- 'type' => Controls_Manager::REPEATER,
134
- 'condition'=>[
135
- 'testimonial_type' => 'custom',
136
- ],
137
- 'fields' => $repeater->get_controls(),
138
- 'default' => [
139
-
140
- [
141
- 'client_name' => __('Anna Miller','woolentor'),
142
- 'client_designation' => __( 'Designer','woolentor' ),
143
- 'client_say' => __( '“ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, laboris consequat. ”', 'woolentor' ),
144
- ],
145
-
146
- [
147
- 'client_name' => __('Kevin Walker','woolentor'),
148
- 'client_designation' => __( 'Developer','woolentor' ),
149
- 'client_say' => __( '“ Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore Lorem ipsum dolor sit amet, consectetur adipisicing elit ”', 'woolentor' ),
150
- ],
151
-
152
- [
153
- 'client_name' => __('Ruth Pierce','woolentor'),
154
- 'client_designation' => __( 'Customer','woolentor' ),
155
- 'client_say' => __( '“ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, laboris consequat. ”', 'woolentor' ),
156
- ],
157
- ],
158
- 'title_field' => '{{{ client_name }}}',
159
- ]
160
- );
161
-
162
- $this->add_control(
163
- 'slider_on',
164
- [
165
- 'label' => __( 'Slider On', 'woolentor' ),
166
- 'type' => Controls_Manager::SWITCHER,
167
- 'return_value' => 'yes',
168
- 'separator'=>'before',
169
- ]
170
- );
171
-
172
- $this->end_controls_section();
173
-
174
- // Column
175
- $this->start_controls_section(
176
- 'section_column_option',
177
- [
178
- 'label' => __( 'Columns', 'woolentor' ),
179
- 'condition'=>[
180
- 'slider_on!'=>'yes',
181
- ]
182
- ]
183
- );
184
-
185
- $this->add_responsive_control(
186
- 'column',
187
- [
188
- 'label' => esc_html__( 'Columns', 'woolentor' ),
189
- 'type' => Controls_Manager::SELECT,
190
- 'default' => '3',
191
- 'options' => [
192
- '1' => esc_html__( 'One', 'woolentor' ),
193
- '2' => esc_html__( 'Two', 'woolentor' ),
194
- '3' => esc_html__( 'Three', 'woolentor' ),
195
- '4' => esc_html__( 'Four', 'woolentor' ),
196
- '5' => esc_html__( 'Five', 'woolentor' ),
197
- '6' => esc_html__( 'Six', 'woolentor' ),
198
- '7' => esc_html__( 'Seven', 'woolentor' ),
199
- '8' => esc_html__( 'Eight', 'woolentor' ),
200
- '9' => esc_html__( 'Nine', 'woolentor' ),
201
- '10'=> esc_html__( 'Ten', 'woolentor' ),
202
- ],
203
- 'label_block' => true,
204
- 'prefix_class' => 'wl-columns%s-',
205
- ]
206
- );
207
-
208
- $this->add_control(
209
- 'no_gutters',
210
- [
211
- 'label' => esc_html__( 'No Gutters', 'woolentor' ),
212
- 'type' => Controls_Manager::SWITCHER,
213
- 'label_on' => esc_html__( 'Yes', 'woolentor' ),
214
- 'label_off' => esc_html__( 'No', 'woolentor' ),
215
- 'return_value' => 'yes',
216
- 'default' => 'no',
217
- ]
218
- );
219
-
220
- $this->add_responsive_control(
221
- 'item_space',
222
- [
223
- 'label' => esc_html__( 'Space', 'woolentor' ),
224
- 'type' => Controls_Manager::SLIDER,
225
- 'size_units' => [ 'px', '%' ],
226
- 'range' => [
227
- 'px' => [
228
- 'min' => 0,
229
- 'max' => 1000,
230
- 'step' => 1,
231
- ],
232
- '%' => [
233
- 'min' => 0,
234
- 'max' => 100,
235
- ],
236
- ],
237
- 'default' => [
238
- 'unit' => 'px',
239
- 'size' => 15,
240
- ],
241
- 'condition'=>[
242
- 'no_gutters!'=>'yes',
243
- ],
244
- 'selectors' => [
245
- '{{WRAPPER}} .wl-row > [class*="col-"]' => 'padding: 0 {{SIZE}}{{UNIT}};',
246
- ],
247
- ]
248
- );
249
-
250
- $this->add_responsive_control(
251
- 'item_bottom_space',
252
- [
253
- 'label' => esc_html__( 'Bottom Space', 'woolentor' ),
254
- 'type' => Controls_Manager::SLIDER,
255
- 'size_units' => [ 'px', '%' ],
256
- 'range' => [
257
- 'px' => [
258
- 'min' => 0,
259
- 'max' => 1000,
260
- 'step' => 1,
261
- ],
262
- '%' => [
263
- 'min' => 0,
264
- 'max' => 100,
265
- ],
266
- ],
267
- 'default' => [
268
- 'unit' => 'px',
269
- 'size' => 30,
270
- ],
271
- 'condition'=>[
272
- 'no_gutters!'=>'yes',
273
- ],
274
- 'selectors' => [
275
- '{{WRAPPER}} .wl-row > [class*="col-"]' => 'margin-bottom:{{SIZE}}{{UNIT}};',
276
- ],
277
- ]
278
- );
279
-
280
- $this->end_controls_section();
281
-
282
- // Slider Option
283
- $this->start_controls_section(
284
- 'section_slider_option',
285
- [
286
- 'label' => esc_html__( 'Slider Option', 'woolentor' ),
287
- 'condition'=>[
288
- 'slider_on'=>'yes',
289
- ]
290
- ]
291
- );
292
-
293
- $this->add_control(
294
- 'slitems',
295
- [
296
- 'label' => esc_html__( 'Slider Items', 'woolentor' ),
297
- 'type' => Controls_Manager::NUMBER,
298
- 'min' => 1,
299
- 'step' => 1,
300
- 'default' => 2
301
- ]
302
- );
303
-
304
- $this->add_control(
305
- 'slarrows',
306
- [
307
- 'label' => esc_html__( 'Slider Arrow', 'woolentor' ),
308
- 'type' => Controls_Manager::SWITCHER,
309
- 'return_value' => 'yes',
310
- 'default' => 'yes',
311
- ]
312
- );
313
-
314
- $this->add_control(
315
- 'sldots',
316
- [
317
- 'label' => esc_html__( 'Slider dots', 'woolentor' ),
318
- 'type' => Controls_Manager::SWITCHER,
319
- 'return_value' => 'yes',
320
- 'default' => 'no'
321
- ]
322
- );
323
-
324
- $this->add_control(
325
- 'slpause_on_hover',
326
- [
327
- 'type' => Controls_Manager::SWITCHER,
328
- 'label_off' => __('No', 'woolentor'),
329
- 'label_on' => __('Yes', 'woolentor'),
330
- 'return_value' => 'yes',
331
- 'default' => 'yes',
332
- 'label' => __('Pause on Hover?', 'woolentor'),
333
- ]
334
- );
335
-
336
- $this->add_control(
337
- 'slautolay',
338
- [
339
- 'label' => esc_html__( 'Slider autoplay', 'woolentor' ),
340
- 'type' => Controls_Manager::SWITCHER,
341
- 'return_value' => 'yes',
342
- 'separator' => 'before',
343
- 'default' => 'no'
344
- ]
345
- );
346
-
347
- $this->add_control(
348
- 'slautoplay_speed',
349
- [
350
- 'label' => __('Autoplay speed', 'woolentor'),
351
- 'type' => Controls_Manager::NUMBER,
352
- 'default' => 3000,
353
- 'condition' => [
354
- 'slautolay' => 'yes',
355
- ]
356
- ]
357
- );
358
-
359
-
360
- $this->add_control(
361
- 'slanimation_speed',
362
- [
363
- 'label' => __('Autoplay animation speed', 'woolentor'),
364
- 'type' => Controls_Manager::NUMBER,
365
- 'default' => 300,
366
- 'condition' => [
367
- 'slautolay' => 'yes',
368
- ]
369
- ]
370
- );
371
-
372
- $this->add_control(
373
- 'slscroll_columns',
374
- [
375
- 'label' => __('Slider item to scroll', 'woolentor'),
376
- 'type' => Controls_Manager::NUMBER,
377
- 'min' => 1,
378
- 'step' => 1,
379
- 'default' => 2,
380
- ]
381
- );
382
-
383
- $this->add_control(
384
- 'heading_tablet',
385
- [
386
- 'label' => __( 'Tablet', 'woolentor' ),
387
- 'type' => Controls_Manager::HEADING,
388
- 'separator' => 'after',
389
- ]
390
- );
391
-
392
- $this->add_control(
393
- 'sltablet_display_columns',
394
- [
395
- 'label' => __('Slider Items', 'woolentor'),
396
- 'type' => Controls_Manager::NUMBER,
397
- 'min' => 1,
398
- 'step' => 1,
399
- 'default' => 2,
400
- ]
401
- );
402
-
403
- $this->add_control(
404
- 'sltablet_scroll_columns',
405
- [
406
- 'label' => __('Slider item to scroll', 'woolentor'),
407
- 'type' => Controls_Manager::NUMBER,
408
- 'min' => 1,
409
- 'step' => 1,
410
- 'default' => 2,
411
- ]
412
- );
413
-
414
- $this->add_control(
415
- 'sltablet_width',
416
- [
417
- 'label' => __('Tablet Resolution', 'woolentor'),
418
- 'description' => __('The resolution to the tablet.', 'woolentor'),
419
- 'type' => Controls_Manager::NUMBER,
420
- 'default' => 750,
421
- ]
422
- );
423
-
424
- $this->add_control(
425
- 'heading_mobile',
426
- [
427
- 'label' => __( 'Mobile Phone', 'woolentor' ),
428
- 'type' => Controls_Manager::HEADING,
429
- 'separator' => 'after',
430
- ]
431
- );
432
-
433
- $this->add_control(
434
- 'slmobile_display_columns',
435
- [
436
- 'label' => __('Slider Items', 'woolentor'),
437
- 'type' => Controls_Manager::NUMBER,
438
- 'min' => 1,
439
- 'step' => 1,
440
- 'default' => 1,
441
- ]
442
- );
443
-
444
- $this->add_control(
445
- 'slmobile_scroll_columns',
446
- [
447
- 'label' => __('Slider item to scroll', 'woolentor'),
448
- 'type' => Controls_Manager::NUMBER,
449
- 'min' => 1,
450
- 'step' => 1,
451
- 'default' => 1,
452
- ]
453
- );
454
-
455
- $this->add_control(
456
- 'slmobile_width',
457
- [
458
- 'label' => __('Mobile Resolution', 'woolentor'),
459
- 'description' => __('The resolution to mobile.', 'woolentor'),
460
- 'type' => Controls_Manager::NUMBER,
461
- 'default' => 480,
462
- ]
463
- );
464
-
465
- $this->end_controls_section();
466
-
467
- // Style style start
468
- $this->start_controls_section(
469
- 'testimonial_area_style',
470
- [
471
- 'label' => __( 'Item', 'woolentor' ),
472
- 'tab' => Controls_Manager::TAB_STYLE,
473
- ]
474
- );
475
-
476
- $this->add_group_control(
477
- Group_Control_Border::get_type(),
478
- [
479
- 'name' => 'item_border',
480
- 'label' => __( 'Border', 'woolentor' ),
481
- 'selector' => '{{WRAPPER}} .ht-single-testimonial-wrap',
482
- ]
483
- );
484
-
485
- $this->add_responsive_control(
486
- 'item_border_radius',
487
- [
488
- 'label' => __( 'Border Radius', 'woolentor' ),
489
- 'type' => Controls_Manager::DIMENSIONS,
490
- 'size_units' => [ 'px', '%', 'em' ],
491
- 'selectors' => [
492
- '{{WRAPPER}} .ht-single-testimonial-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
493
- ],
494
- ]
495
- );
496
-
497
- $this->add_responsive_control(
498
- 'item_padding',
499
- [
500
- 'label' => __( 'Padding', 'woolentor' ),
501
- 'type' => Controls_Manager::DIMENSIONS,
502
- 'size_units' => [ 'px', '%', 'em' ],
503
- 'selectors' => [
504
- '{{WRAPPER}} .ht-single-testimonial-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
505
- ],
506
- ]
507
- );
508
-
509
- $this->add_responsive_control(
510
- 'item_margin',
511
- [
512
- 'label' => __( 'Margin', 'woolentor' ),
513
- 'type' => Controls_Manager::DIMENSIONS,
514
- 'size_units' => [ 'px', '%', 'em' ],
515
- 'selectors' => [
516
- '{{WRAPPER}} .ht-single-testimonial-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
517
- ],
518
- ]
519
- );
520
-
521
- $this->end_controls_section();
522
-
523
- // Style image style start
524
- $this->start_controls_section(
525
- 'testimonial_image_style',
526
- [
527
- 'label' => __( 'Image', 'woolentor' ),
528
- 'tab' => Controls_Manager::TAB_STYLE,
529
- ]
530
- );
531
-
532
- $this->add_group_control(
533
- Group_Control_Border::get_type(),
534
- [
535
- 'name' => 'testimonial_image_border',
536
- 'label' => __( 'Border', 'woolentor' ),
537
- 'selector' => '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"] img',
538
- ]
539
- );
540
-
541
- $this->add_responsive_control(
542
- 'testimonial_image_border_radius',
543
- [
544
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
545
- 'type' => Controls_Manager::DIMENSIONS,
546
- 'selectors' => [
547
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"] img' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
548
- ],
549
- ]
550
- );
551
-
552
- $this->add_control(
553
- 'testimonial_image_area_border_color',
554
- [
555
- 'label' => __( 'Image Area Border Color', 'woolentor' ),
556
- 'type' => Controls_Manager::COLOR,
557
- 'selectors' => [
558
- '{{WRAPPER}} .ht-single-testimonial-wrap .ht-client-info-wrap.ht-client-info-border' => 'border-color: {{VALUE}};',
559
- ],
560
- 'condition'=>[
561
- 'testimonial_layout'=>'3',
562
- ]
563
- ]
564
- );
565
-
566
- $this->end_controls_section(); // Style Testimonial image style end
567
-
568
- // Style Testimonial name style start
569
- $this->start_controls_section(
570
- 'testimonial_name_style',
571
- [
572
- 'label' => __( 'Name', 'woolentor' ),
573
- 'tab' => Controls_Manager::TAB_STYLE,
574
- ]
575
- );
576
-
577
- $this->add_control(
578
- 'testimonial_name_color',
579
- [
580
- 'label' => __( 'Color', 'woolentor' ),
581
- 'type' => Controls_Manager::COLOR,
582
- 'selectors' => [
583
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"] h4' => 'color: {{VALUE}};',
584
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"]:before' => 'background-color: {{VALUE}};',
585
- ],
586
- ]
587
- );
588
-
589
- $this->add_group_control(
590
- Group_Control_Typography::get_type(),
591
- [
592
- 'name' => 'testimonial_name_typography',
593
- 'selector' => '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"] h4',
594
- ]
595
- );
596
-
597
- $this->add_responsive_control(
598
- 'testimonial_name_margin',
599
- [
600
- 'label' => __( 'Margin', 'woolentor' ),
601
- 'type' => Controls_Manager::DIMENSIONS,
602
- 'size_units' => [ 'px', '%', 'em' ],
603
- 'selectors' => [
604
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"] h4' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
605
- ],
606
- 'separator' =>'before',
607
- ]
608
- );
609
-
610
- $this->add_responsive_control(
611
- 'testimonial_name_padding',
612
- [
613
- 'label' => __( 'Padding', 'woolentor' ),
614
- 'type' => Controls_Manager::DIMENSIONS,
615
- 'size_units' => [ 'px', '%', 'em' ],
616
- 'selectors' => [
617
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"] h4' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
618
- ],
619
- 'separator' =>'before',
620
- ]
621
- );
622
-
623
- $this->end_controls_section(); // Style Testimonial name style end
624
-
625
- // Style Testimonial designation style start
626
- $this->start_controls_section(
627
- 'testimonial_designation_style',
628
- [
629
- 'label' => __( 'Designation', 'woolentor' ),
630
- 'tab' => Controls_Manager::TAB_STYLE,
631
- ]
632
- );
633
-
634
- $this->add_control(
635
- 'testimonial_designation_color',
636
- [
637
- 'label' => __( 'Color', 'woolentor' ),
638
- 'type' => Controls_Manager::COLOR,
639
- 'selectors' => [
640
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"] span' => 'color: {{VALUE}};',
641
- ],
642
- ]
643
- );
644
-
645
- $this->add_group_control(
646
- Group_Control_Typography::get_type(),
647
- [
648
- 'name' => 'testimonial_designation_typography',
649
- 'selector' => '{{WRAPPER}} .ht-single-testimonial-wra