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.7.0

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.7.0
Comparing to
See all releases

Code changes from version 1.9.5 to 1.7.0

Files changed (95) 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 +219 -1238
  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 +200 -203
  34. classes/class.icon_list.php +0 -219
  35. classes/class.product_query.php +0 -248
  36. classes/class.quickview_manage.php +0 -45
  37. classes/class.single_product_ajax_add_to_cart.php +31 -0
  38. classes/class.widgets_control.php +0 -28
  39. includes/addons/add_banner.php +19 -4
  40. includes/addons/product_accordion.php +16 -16
  41. includes/addons/product_curvy.php +10 -11
  42. includes/addons/product_image_accordion.php +18 -24
  43. includes/addons/product_tabs.php +132 -47
  44. includes/addons/special_day_offer.php +29 -7
  45. includes/addons/universal_product.php +458 -138
  46. includes/addons/wb_archive_product.php +24 -9
  47. includes/addons/wb_customer_review.php +4 -4
  48. includes/addons/wb_ever_compare_table.php +0 -205
  49. includes/addons/wb_image_marker.php +5 -5
  50. includes/addons/wb_just_table.php +0 -156
  51. includes/addons/wb_product_data_tab.php +3 -1
  52. includes/addons/wb_product_description.php +1 -6
  53. includes/addons/wb_product_price.php +10 -10
  54. includes/addons/wb_product_qr_code.php +2 -2
  55. includes/addons/wb_product_related.php +1 -2
  56. includes/addons/wb_product_suggest_price.php +8 -8
  57. includes/addons/wb_product_title.php +3 -6
  58. includes/addons/wb_product_upsell.php +1 -3
  59. includes/addons/wb_wc_multicurrency.php +0 -106
  60. includes/addons/wb_whols.php +0 -94
  61. includes/addons/wb_wishsuite_table.php +0 -143
  62. includes/addons/wl_brand.php +4 -4
  63. includes/addons/wl_category.php +10 -5
  64. includes/addons/wl_category_grid.php +0 -1130
  65. includes/addons/wl_faq.php +0 -948
  66. includes/addons/wl_onepage_slider.php +0 -646
  67. includes/addons/wl_product_filter.php +0 -1009
  68. includes/addons/wl_product_horizontal_filter.php +0 -1210
  69. includes/addons/wl_product_video_gallery.php +1 -1
  70. includes/addons/wl_store_features.php +0 -578
  71. includes/addons/wl_testimonial.php +0 -1273
  72. includes/admin/admin-init.php +0 -34
  73. includes/admin/assets/css/admin_optionspanel.css +154 -310
  74. includes/admin/assets/css/tmp-style.css +3 -3
  75. includes/admin/assets/images/extension/email-candy-pro.png +0 -0
  76. includes/admin/assets/images/extension/just-tables-pro.png +0 -0
  77. includes/admin/assets/images/extension/multicurrencypro.png +0 -0
  78. includes/admin/assets/images/extension/whols-pro.png +0 -0
  79. includes/admin/assets/images/icon/check.png +0 -0
  80. includes/admin/assets/images/icon/plus.png +0 -0
  81. includes/admin/assets/images/icon/rating.png +0 -0
  82. includes/admin/assets/images/logo.png +0 -0
  83. includes/admin/assets/images/pricing/life_time_agency.png +0 -0
  84. includes/admin/assets/images/pricing/life_time_five_website.png +0 -0
  85. includes/admin/assets/images/pricing/life_time_single_website.png +0 -0
  86. includes/admin/assets/images/pricing/one_year_agency.png +0 -0
  87. includes/admin/assets/images/pricing/one_year_five_website.png +0 -0
  88. includes/admin/assets/images/pricing/one_year_single_website.png +0 -0
  89. includes/admin/assets/js/install_manager.js +15 -15
  90. includes/admin/assets/js/template_library_manager.js +8 -6
  91. includes/admin/assets/js/woolentor-admin.js +18 -35
  92. includes/admin/include/admin-setting.php +137 -380
  93. includes/admin/include/class.extension-manager.php +0 -364
  94. includes/admin/include/class.settings-api.php +3 -42
  95. includes/admin/include/template-library.php +62 -73
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;
@@ -3249,203 +3117,216 @@ span.wlvideo-button {
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
  /*=============================================
@@ -3660,7 +3541,7 @@ h2.wl_filter_title {
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;
@@ -3673,22 +3554,12 @@ h2.wl_filter_title {
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 {
@@ -3835,7 +3706,7 @@ h2.wl_filter_title {
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;
@@ -3847,10 +3718,6 @@ h2.wl_filter_title {
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
  }
@@ -3880,10 +3747,6 @@ h2.wl_filter_title {
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%;
@@ -3923,8 +3786,6 @@ h2.wl_filter_title {
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;
@@ -3954,11 +3815,6 @@ h2.wl_filter_title {
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 =
@@ -4257,7 +4113,6 @@ h2.wl_filter_title {
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;
@@ -4272,17 +4127,6 @@ h2.wl_filter_title {
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;
@@ -4388,868 +4232,5 @@ h2.wl_filter_title {
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%;
5114
- }
5115
- .woolentor-sticky-btn-area {
5116
- justify-content: start;
5117
- margin-top: 15px;
5118
- }
5119
- .wl-columns-mobile-1 .wl-row > [class*="col-"]{
5120
- -webkit-box-flex: 0;
5121
- -webkit-flex: 0 0 100%;
5122
- -ms-flex: 0 0 100%;
5123
- flex: 0 0 100%;
5124
- max-width: 100%;
5125
- }
5126
- .wl-columns-mobile-2 .wl-row > [class*="col-"]{
5127
- -webkit-box-flex: 0;
5128
- -webkit-flex: 0 0 50%;
5129
- -ms-flex: 0 0 50%;
5130
- flex: 0 0 50%;
5131
- max-width: 50%;
5132
- }
5133
- .wl-columns-mobile-3 .wl-row > [class*="col-"]{
5134
- -webkit-box-flex: 0;
5135
- -webkit-flex: 0 0 33.333%;
5136
- -ms-flex: 0 0 33.333%;
5137
- flex: 0 0 33.333%;
5138
- max-width: 33.333%;
5139
- }
5140
- .wl-columns-mobile-4 .wl-row > [class*="col-"]{
5141
- -webkit-box-flex: 0;
5142
- -webkit-flex: 0 0 25%;
5143
- -ms-flex: 0 0 25%;
5144
- flex: 0 0 25%;
5145
- max-width: 25%;
5146
- }
5147
- .wl-columns-mobile-5 .wl-row > [class*="col-"]{
5148
- -webkit-box-flex: 0;
5149
- -webkit-flex: 0 0 20%;
5150
- -ms-flex: 0 0 20%;
5151
- flex: 0 0 20%;
5152
- max-width: 20%;
5153
- }
5154
- .wl-columns-mobile-6 .wl-row > [class*="col-"]{
5155
- -webkit-box-flex: 0;
5156
- -webkit-flex: 0 0 16.666%;
5157
- -ms-flex: 0 0 16.666%;
5158
- flex: 0 0 16.666%;
5159
- max-width: 16.666%;
5160
- }
5161
- .wl-columns-mobile-7 .wl-row > [class*="col-"]{
5162
- -webkit-box-flex: 0;
5163
- -webkit-flex: 0 0 14.285%;
5164
- -ms-flex: 0 0 14.285%;
5165
- flex: 0 0 14.285%;
5166
- max-width: 14.285%;
5167
- }
5168
- .wl-columns-mobile-8 .wl-row > [class*="col-"]{
5169
- -webkit-box-flex: 0;
5170
- -webkit-flex: 0 0 12.5%;
5171
- -ms-flex: 0 0 12.5%;
5172
- flex: 0 0 12.5%;
5173
- max-width: 12.5%;
5174
- }
5175
- .wl-columns-mobile-9 .wl-row > [class*="col-"]{
5176
- -webkit-box-flex: 0;
5177
- -webkit-flex: 0 0 11.111%;
5178
- -ms-flex: 0 0 11.111%;
5179
- flex: 0 0 11.111%;
5180
- max-width: 11.111%;
5181
- }
5182
- .wl-columns-mobile-10 .wl-row > [class*="col-"]{
5183
- -webkit-box-flex: 0;
5184
- -webkit-flex: 0 0 10%;
5185
- -ms-flex: 0 0 10%;
5186
- flex: 0 0 10%;
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;
3117
  display: none;
3118
  }
3119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3120
 
3121
+ /* Normal :1366px. */
3122
+ @media (min-width: 1200px) and (max-width: 1400px) {
 
 
 
 
 
 
 
 
3123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3124
  }
3125
 
3126
+ /* Normal desktop :992px. */
3127
+ @media (min-width: 992px) and (max-width: 1200px) {
3128
+ .cus-col-5.ht-col-md-6 {
3129
+ flex: 0 0 33.333%;
3130
+ max-width: 33.333%;
3131
+ }
3132
+ .elementor-section .elementor-container {
3133
+ padding: 0 15px;
3134
+ }
3135
+ .elementor-section.elementor-section-full_width .elementor-container {
3136
+ padding: 0;
3137
+ }
3138
  }
3139
 
3140
+ /* Tablet desktop :768px. */
3141
+ @media (min-width: 768px) and (max-width: 991px) {
3142
+ .cus-col-5.ht-col-md-6 {
3143
+ flex: 0 0 50%;
3144
+ max-width: 50%;
3145
+ }
3146
+ .elementor-section .elementor-container {
3147
+ padding: 0 15px;
3148
+ }
3149
+ .elementor-section.elementor-section-full_width .elementor-container {
3150
+ padding: 0;
3151
+ }
3152
 
3153
+ .wl-columns-tablet-1 .wl-row > [class*="col-"]{
3154
+ -webkit-box-flex: 0;
3155
+ -webkit-flex: 0 0 100%;
3156
+ -ms-flex: 0 0 100%;
3157
+ flex: 0 0 100%;
3158
+ max-width: 100%;
3159
+ }
3160
+ .wl-columns-tablet-2 .wl-row > [class*="col-"]{
3161
+ -webkit-box-flex: 0;
3162
+ -webkit-flex: 0 0 50%;
3163
+ -ms-flex: 0 0 50%;
3164
+ flex: 0 0 50%;
3165
+ max-width: 50%;
3166
+ }
3167
+ .wl-columns-tablet-3 .wl-row > [class*="col-"]{
3168
+ -webkit-box-flex: 0;
3169
+ -webkit-flex: 0 0 33.333%;
3170
+ -ms-flex: 0 0 33.333%;
3171
+ flex: 0 0 33.333%;
3172
+ max-width: 33.333%;
3173
+ }
3174
+ .wl-columns-tablet-4 .wl-row > [class*="col-"]{
3175
+ -webkit-box-flex: 0;
3176
+ -webkit-flex: 0 0 25%;
3177
+ -ms-flex: 0 0 25%;
3178
+ flex: 0 0 25%;
3179
+ max-width: 25%;
3180
+ }
3181
+ .wl-columns-tablet-5 .wl-row > [class*="col-"]{
3182
+ -webkit-box-flex: 0;
3183
+ -webkit-flex: 0 0 20%;
3184
+ -ms-flex: 0 0 20%;
3185
+ flex: 0 0 20%;
3186
+ max-width: 20%;
3187
+ }
3188
+ .wl-columns-tablet-6 .wl-row > [class*="col-"]{
3189
+ -webkit-box-flex: 0;
3190
+ -webkit-flex: 0 0 16.666%;
3191
+ -ms-flex: 0 0 16.666%;
3192
+ flex: 0 0 16.666%;
3193
+ max-width: 16.666%;
3194
+ }
3195
+ .wl-columns-tablet-7 .wl-row > [class*="col-"]{
3196
+ -webkit-box-flex: 0;
3197
+ -webkit-flex: 0 0 14.285%;
3198
+ -ms-flex: 0 0 14.285%;
3199
+ flex: 0 0 14.285%;
3200
+ max-width: 14.285%;
3201
+ }
3202
+ .wl-columns-tablet-8 .wl-row > [class*="col-"]{
3203
+ -webkit-box-flex: 0;
3204
+ -webkit-flex: 0 0 12.5%;
3205
+ -ms-flex: 0 0 12.5%;
3206
+ flex: 0 0 12.5%;
3207
+ max-width: 12.5%;
3208
+ }
3209
+ .wl-columns-tablet-9 .wl-row > [class*="col-"]{
3210
+ -webkit-box-flex: 0;
3211
+ -webkit-flex: 0 0 11.111%;
3212
+ -ms-flex: 0 0 11.111%;
3213
+ flex: 0 0 11.111%;
3214
+ max-width: 11.111%;
3215
+ }
3216
+ .wl-columns-tablet-10 .wl-row > [class*="col-"]{
3217
+ -webkit-box-flex: 0;
3218
+ -webkit-flex: 0 0 10%;
3219
+ -ms-flex: 0 0 10%;
3220
+ flex: 0 0 10%;
3221
+ max-width: 10%;
3222
+ }
3223
 
 
 
 
 
3224
  }
3225
 
3226
+ /* small mobile :320px. */
3227
+ @media (max-width: 767px) {
3228
+ .cus-col-5.ht-col-md-6 {
3229
+ flex: 0 0 100%;
3230
+ max-width: 100%;
3231
+ }
3232
+ .woolentor-banner-img,.woolentor-content{
3233
+ float: none;
3234
+ }
3235
+ .product-tab-list .nav a {
3236
+ margin-bottom: 10px;
3237
+ margin-right: 10px;
3238
+ padding: 5px 10px;
3239
+ }
3240
+ .elementor-section .elementor-container {
3241
+ padding: 0 15px;
3242
+ }
3243
+ .elementor-section.elementor-section-full_width .elementor-container {
3244
+ padding: 0;
3245
+ }
 
 
3246
 
3247
+ .woolentor-notification-content {
3248
+ width: 90%;
3249
+ }
3250
+ .woolentor-sticky-btn-area {
3251
+ justify-content: start;
3252
+ margin-top: 15px;
3253
+ }
3254
+ .wl-columns-mobile-1 .wl-row > [class*="col-"]{
3255
+ -webkit-box-flex: 0;
3256
+ -webkit-flex: 0 0 100%;
3257
+ -ms-flex: 0 0 100%;
3258
+ flex: 0 0 100%;
3259
+ max-width: 100%;
3260
+ }
3261
+ .wl-columns-mobile-2 .wl-row > [class*="col-"]{
3262
+ -webkit-box-flex: 0;
3263
+ -webkit-flex: 0 0 50%;
3264
+ -ms-flex: 0 0 50%;
3265
+ flex: 0 0 50%;
3266
+ max-width: 50%;
3267
+ }
3268
+ .wl-columns-mobile-3 .wl-row > [class*="col-"]{
3269
+ -webkit-box-flex: 0;
3270
+ -webkit-flex: 0 0 33.333%;
3271
+ -ms-flex: 0 0 33.333%;
3272
+ flex: 0 0 33.333%;
3273
+ max-width: 33.333%;
3274
+ }
3275
+ .wl-columns-mobile-4 .wl-row > [class*="col-"]{
3276
+ -webkit-box-flex: 0;
3277
+ -webkit-flex: 0 0 25%;
3278
+ -ms-flex: 0 0 25%;
3279
+ flex: 0 0 25%;
3280
+ max-width: 25%;
3281
+ }
3282
+ .wl-columns-mobile-5 .wl-row > [class*="col-"]{
3283
+ -webkit-box-flex: 0;
3284
+ -webkit-flex: 0 0 20%;
3285
+ -ms-flex: 0 0 20%;
3286
+ flex: 0 0 20%;
3287
+ max-width: 20%;
3288
+ }
3289
+ .wl-columns-mobile-6 .wl-row > [class*="col-"]{
3290
+ -webkit-box-flex: 0;
3291
+ -webkit-flex: 0 0 16.666%;
3292
+ -ms-flex: 0 0 16.666%;
3293
+ flex: 0 0 16.666%;
3294
+ max-width: 16.666%;
3295
+ }
3296
+ .wl-columns-mobile-7 .wl-row > [class*="col-"]{
3297
+ -webkit-box-flex: 0;
3298
+ -webkit-flex: 0 0 14.285%;
3299
+ -ms-flex: 0 0 14.285%;
3300
+ flex: 0 0 14.285%;
3301
+ max-width: 14.285%;
3302
+ }
3303
+ .wl-columns-mobile-8 .wl-row > [class*="col-"]{
3304
+ -webkit-box-flex: 0;
3305
+ -webkit-flex: 0 0 12.5%;
3306
+ -ms-flex: 0 0 12.5%;
3307
+ flex: 0 0 12.5%;
3308
+ max-width: 12.5%;
3309
+ }
3310
+ .wl-columns-mobile-9 .wl-row > [class*="col-"]{
3311
+ -webkit-box-flex: 0;
3312
+ -webkit-flex: 0 0 11.111%;
3313
+ -ms-flex: 0 0 11.111%;
3314
+ flex: 0 0 11.111%;
3315
+ max-width: 11.111%;
3316
+ }
3317
+ .wl-columns-mobile-10 .wl-row > [class*="col-"]{
3318
+ -webkit-box-flex: 0;
3319
+ -webkit-flex: 0 0 10%;
3320
+ -ms-flex: 0 0 10%;
3321
+ flex: 0 0 10%;
3322
+ max-width: 10%;
3323
+ }
3324
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3325
  }
3326
 
3327
+ /* Large Mobile :480px. */
3328
+ @media only screen and (min-width: 480px) and (max-width: 767px) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3329
 
 
 
 
3330
  }
3331
 
3332
  /*=============================================
3541
  }
3542
  .wl_product-accordion .action .woocommerce.product.compare-button a:before,
3543
  .wl_product-accordion .card-body .product-content .action .wishlist a,
3544
+ .wl_product-accordion .card-body .product-content .product-acontent-bottom .action .action-item {
3545
  font-size: 14px;
3546
  height: 34px;
3547
  padding: 0 10px;
3554
  display: inline-block;
3555
  text-align: center;
3556
  }
3557
+ .wl_product-accordion .card-body .product-content .action .wishlist a {
3558
  padding: 3px 10px;
3559
  }
 
 
 
 
3560
  .wl_product-accordion.wl_product-accordion-two .wl_product-accordion-card .wl_product-accordion-head-indicator {
3561
  color: #3951E1;
3562
  }
 
 
 
 
 
 
3563
 
3564
  @media only screen and (max-width: 479px) {
3565
  .wl_product-accordion.wl_product-accordion-two .wl_product-accordion-card .wl_product-accordion-head-indicator {
3706
  display: flex;
3707
  }
3708
 
3709
+ .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .action-item,
3710
  .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .yith-wcwl-add-to-wishlist a {
3711
  height: 35px;
3712
  padding: 0 9px;
3718
  color: #333;
3719
  margin-right: 10px;
3720
  }
 
 
 
 
3721
  .wl_horizontal-hover-accordion .accordion-ul li .accordion-product-content .accordion-product-item .product-content .action .action-item i{
3722
  margin-right: 5px;
3723
  }
3747
  transform: translateX(0);
3748
  }
3749
 
 
 
 
 
3750
  @media only screen and (max-width: 575px) {
3751
  .wl_horizontal-hover-accordion .accordion-ul:hover li:hover {
3752
  width: 114%;
3786
  .wl_product-accordion .woocommerce.product.compare-button a{
3787
  font-size: 0;
3788
  font-weight: 400;
 
 
3789
  }
3790
  .wl_horizontal-hover-accordion .action .woocommerce.product.compare-button a {
3791
  text-indent: -9999px;
3815
  height: 37px;
3816
  line-height: 35px;
3817
  border-radius: 50%;
 
 
 
 
 
3818
  }
3819
  /*=================================
3820
  = Product Css =
4113
  margin-left: -3px;
4114
  margin-right: -3px;
4115
  }
 
4116
  .ht-products .wl_single-product-item .product-content .product-content-top .reading .top-rated-rating .ht-product-ratting .ht-product-user-ratting,
4117
  .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 {
4118
  display: -webkit-box;
4127
  margin-left: -5px;
4128
  margin-right: -5px;
4129
  }
 
 
 
 
 
 
 
 
 
 
 
4130
  .ht-products .wl_single-product-item .product-content .product-content-top .reading .top-rated-rating .ht-product-ratting .ht-product-user-ratting i,
4131
  .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 {
4132
  color: #dc9a0e;
4232
  color: #333;
4233
  margin-right: 10px
4234
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4235
 
4236
+ /* Product curvy end */
 
 
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
@@ -90,226 +90,223 @@ 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
  /**
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
+ $columns = apply_filters( 'woocommerce_product_thumbnails_columns', 4 );
157
+ $thumbnail_id = $product->get_image_id();
158
+ $wrapper_classes = apply_filters( 'woocommerce_single_product_image_gallery_classes', array(
159
+ 'woocommerce-product-gallery',
160
+ 'woocommerce-product-gallery--' . ( $product->get_image_id() ? 'with-images' : 'without-images' ),
161
+ 'woocommerce-product-gallery--columns-' . absint( $columns ),
162
+ 'images',
163
+ ) );
164
+
165
+ if ( function_exists( 'wc_get_gallery_image_html' ) ) {
166
+ ?>
167
+ <div class="product">
168
+ <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;">
169
+ <figure class="woocommerce-product-gallery__wrapper">
170
+ <?php
171
+ if ( $product->get_image_id() ) {
172
+ $html = wc_get_gallery_image_html( $thumbnail_id, true );
173
+ } else {
174
+ $html = '<div class="woocommerce-product-gallery__image--placeholder">';
175
+ $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' ) );
176
+ $html .= '</div>';
177
+ }
178
+
179
+ echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $thumbnail_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
180
+
181
+ $attachment_ids = $product->get_gallery_image_ids();
182
+ if ( $attachment_ids && $product->get_image_id() ) {
183
+ foreach ( $attachment_ids as $attachment_id ) {
184
+ echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', wc_get_gallery_image_html( $attachment_id ), $attachment_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
185
  }
186
+ }
187
 
188
+ ?>
189
+ </figure>
 
190
  </div>
191
+ </div>
192
+ <?php
193
+ }
194
+ return ob_get_clean();
195
+ break;
196
 
197
+ case 'wl-single-product-meta':
198
+ ob_start();
199
+ ?>
200
+ <div class="product">
201
+ <div class="product_meta">
202
 
203
+ <?php do_action( 'woocommerce_product_meta_start' ); ?>
204
 
205
+ <?php if ( wc_product_sku_enabled() && ( $product->get_sku() || $product->is_type( 'variable' ) ) ) : ?>
206
 
207
+ <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>
208
 
209
+ <?php endif; ?>
210
 
211
+ <?php echo wc_get_product_category_list( $product->get_id(), ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', count( $product->get_category_ids() ), 'woolentor' ) . ' ', '</span>' ); ?>
212
 
213
+ <?php echo wc_get_product_tag_list( $product->get_id(), ', ', '<span class="tagged_as">' . _n( 'Tag:', 'Tags:', count( $product->get_tag_ids() ), 'woolentor' ) . ' ', '</span>' ); ?>
214
 
215
+ <?php do_action( 'woocommerce_product_meta_end' ); ?>
216
 
 
217
  </div>
218
+ </div>
219
+ <?php
220
+ return ob_get_clean();
221
+ break;
222
+
223
+ case 'wl-product-additional-information':
224
+ ob_start();
225
+ wc_get_template( 'single-product/tabs/additional-information.php' );
226
+ return ob_get_clean();
227
+ break;
228
+
229
+ case 'wl-product-data-tabs':
230
+ setup_postdata( $product->get_id() );
231
+ ob_start();
232
+ if( get_post_type() == 'elementor_library' ){
233
+ add_filter( 'the_content', [ $this, 'product_content' ] );
234
+ }
235
+ wc_get_template( 'single-product/tabs/tabs.php' );
236
+ return ob_get_clean();
237
+ break;
238
+
239
+ case 'wl-single-product-reviews':
240
+ ob_start();
241
+ if( comments_open() ){
242
+ comments_template();
243
+ }
244
+ return ob_get_clean();
245
+ break;
246
+
247
+ case 'wl-single-product-stock':
248
+ ob_start();
249
+ $availability = $product->get_availability();
250
+ ?>
251
+ <div class="product"><p class="stock <?php echo esc_attr( $availability['class'] ); ?>"><?php echo wp_kses_post( $availability['availability'] ); ?></p></div>
252
+ <?php
253
+ return ob_get_clean();
254
+ break;
255
+
256
+ case 'wl-single-product-upsell':
257
+ ob_start();
258
+
259
+ $product_per_page = '-1';
260
+ $columns = 4;
261
+ $orderby = 'rand';
262
+ $order = 'desc';
263
+ if ( ! empty( $settings['columns'] ) ) {
264
+ $columns = $settings['columns'];
265
+ }
266
+ if ( ! empty( $settings['orderby'] ) ) {
267
+ $orderby = $settings['orderby'];
268
+ }
269
+ if ( ! empty( $settings['order'] ) ) {
270
+ $order = $settings['order'];
271
+ }
272
+
273
+ woocommerce_upsell_display( $product_per_page, $columns, $orderby, $order );
274
+
275
+ return ob_get_clean();
276
+ break;
277
+
278
+ case 'wl-product-related':
279
+ ob_start();
280
+ if ( ! $product ) { return; }
281
+ $args = [
282
+ 'posts_per_page' => 4,
283
+ 'columns' => 4,
284
+ 'orderby' => $settings['orderby'],
285
+ 'order' => $settings['order'],
286
+ ];
287
+ if ( ! empty( $settings['posts_per_page'] ) ) {
288
+ $args['posts_per_page'] = $settings['posts_per_page'];
289
+ }
290
+ if ( ! empty( $settings['columns'] ) ) {
291
+ $args['columns'] = $settings['columns'];
292
+ }
293
+
294
+ $args['related_products'] = array_filter( array_map( 'wc_get_product', wc_get_related_products( $product->get_id(),
295
+ $args['posts_per_page'], $product->get_upsell_ids() ) ), 'wc_products_array_filter_visible' );
296
+
297
+ $args['related_products'] = wc_products_array_orderby( $args['related_products'], $args['orderby'], $args['order'] );
298
+
299
+ wc_get_template( 'single-product/related.php', $args );
300
+
301
+ return ob_get_clean();
302
+ break;
303
+
304
+ default:
305
+ return '';
306
+ break;
307
 
 
308
  }
309
 
 
310
  }
311
 
312
  /**
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
@@ -50,46 +50,18 @@ class Widgets_Control{
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',
50
  'add_banner',
51
  'special_day_offer',
52
  'wb_image_marker',
 
 
 
 
53
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  if( !is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') ){
55
  $wl_element_manager[] = 'universal_product';
56
  $wl_element_manager[] = 'wl_category';
57
  $wl_element_manager[] = 'wl_brand';
58
  $wl_element_manager[] = 'wb_customer_review';
 
59
  }
60
 
61
  // WooCommerce Builder
62
  if( woolentor_get_option( 'enablecustomlayout', 'woolentor_woo_template_tabs', 'on' ) == 'on' ){
63
  $wlb_element = array(
64
  'wb_archive_product',
 
 
65
  'wb_product_title',
66
  'wb_product_related',
67
  'wb_product_add_to_cart',
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 CHANGED
@@ -155,7 +155,7 @@ class Woolentor_Product_Accordion_Layout_Widget extends Widget_Base {
155
  $this->add_control(
156
  'orderby',
157
  [
158
- 'label' => esc_html__( 'Order by', 'woolentor' ),
159
  'type' => Controls_Manager::SELECT,
160
  'default' => 'none',
161
  'options' => [
@@ -418,7 +418,7 @@ class Woolentor_Product_Accordion_Layout_Widget extends Widget_Base {
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' => [
@@ -615,7 +615,7 @@ class Woolentor_Product_Accordion_Layout_Widget extends Widget_Base {
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}};',
@@ -629,7 +629,7 @@ class Woolentor_Product_Accordion_Layout_Widget extends Widget_Base {
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
 
@@ -640,7 +640,7 @@ class Woolentor_Product_Accordion_Layout_Widget extends Widget_Base {
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
  );
@@ -662,7 +662,7 @@ class Woolentor_Product_Accordion_Layout_Widget extends Widget_Base {
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}};',
@@ -676,7 +676,7 @@ class Woolentor_Product_Accordion_Layout_Widget extends Widget_Base {
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
 
@@ -842,18 +842,18 @@ class Woolentor_Product_Accordion_Layout_Widget extends Widget_Base {
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
  ?>
155
  $this->add_control(
156
  'orderby',
157
  [
158
+ 'label' => esc_html__( 'Orderby', 'woolentor' ),
159
  'type' => Controls_Manager::SELECT,
160
  'default' => 'none',
161
  'options' => [
418
  $this->add_control(
419
  'product_collapse_icon_color',
420
  [
421
+ 'label' => __( 'Collapse Iocn Color', 'woolentor' ),
422
  'type' => Controls_Manager::COLOR,
423
  'default' => '#3951E1',
424
  'selectors' => [
615
  'type' => Controls_Manager::COLOR,
616
  'default' => '#333333',
617
  'selectors' => [
618
+ '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.action-item' => '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}};',
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.action-item, {{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
 
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.action-item, {{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
  );
662
  'type' => Controls_Manager::COLOR,
663
  'default' => '#333333',
664
  'selectors' => [
665
+ '{{WRAPPER}} .wl_product-accordion .card-body .product-content .product-acontent-bottom .action a.action-item: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}};',
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.action-item: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
 
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 ( class_exists( 'YITH_WCWL' ) ) {
846
+ echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
847
+ }
848
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
849
+ echo '<li>';
850
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
851
+ echo '</li>';
852
  }
853
 
854
+ if( function_exists('woolentor_compare_button') && class_exists('YITH_Woocompare_Frontend') ){
855
  echo '<li>';
856
+ woolentor_compare_button();
 
 
 
 
 
857
  echo '</li>';
858
  }
859
  ?>
includes/addons/product_curvy.php CHANGED
@@ -190,7 +190,7 @@ class Woolentor_Product_Curvy_Layout_Widget extends Widget_Base {
190
  $this->add_control(
191
  'orderby',
192
  [
193
- 'label' => esc_html__( 'Order by', 'woolentor' ),
194
  'type' => Controls_Manager::SELECT,
195
  'default' => 'none',
196
  'options' => [
@@ -978,20 +978,19 @@ class Woolentor_Product_Curvy_Layout_Widget extends Widget_Base {
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
  ?>
190
  $this->add_control(
191
  'orderby',
192
  [
193
+ 'label' => esc_html__( 'Orderby', 'woolentor' ),
194
  'type' => Controls_Manager::SELECT,
195
  'default' => 'none',
196
  'options' => [
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 ( class_exists( 'YITH_WCWL' ) ) {
982
+ echo '<li>'.woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes').'</li>';
983
+ }
984
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
985
+ echo '<li>';
986
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
987
+ echo '</li>';
988
  }
989
  ?>
990
  <?php
991
+ if( function_exists('woolentor_compare_button') && class_exists('YITH_Woocompare_Frontend') ){
992
  echo '<li>';
993
+ woolentor_compare_button(2);
 
 
 
 
 
 
994
  echo '</li>';
995
  }
996
  ?>
includes/addons/product_image_accordion.php CHANGED
@@ -134,7 +134,7 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
134
  $this->add_control(
135
  'orderby',
136
  [
137
- 'label' => esc_html__( 'Order by', 'woolentor' ),
138
  'type' => Controls_Manager::SELECT,
139
  'default' => 'none',
140
  'options' => [
@@ -537,7 +537,7 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
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
  );
@@ -548,7 +548,7 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
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
  );
@@ -559,7 +559,7 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
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
 
@@ -570,7 +570,7 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
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
  );
@@ -592,7 +592,7 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
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
  ],
@@ -605,7 +605,7 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
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
  ],
@@ -618,7 +618,7 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
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
 
@@ -745,18 +745,13 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
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">
@@ -769,17 +764,16 @@ class Woolentor_Product_Image_Accordion_Layout_Widget extends Widget_Base {
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
 
134
  $this->add_control(
135
  'orderby',
136
  [
137
+ 'label' => esc_html__( 'Orderby', 'woolentor' ),
138
  'type' => Controls_Manager::SELECT,
139
  'default' => 'none',
140
  'options' => [
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 .action-item, {{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
  );
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 .action-item, {{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
  );
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 .action-item, {{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
 
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 .action-item, {{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
  );
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 .action-item: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
  ],
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 .action-item: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
  ],
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 .action-item: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
 
745
 
746
  $btna_class .= $product->supports( 'ajax_add_to_cart' ) && $product->is_purchasable() && $product->is_in_stock() ? ' ajax_add_to_cart' : '';
747
 
748
+ $image_attributes = wp_get_attachment_image_src(get_post_thumbnail_id(get_the_id()),'full' );
 
 
 
 
 
749
 
750
 
751
  ?>
752
 
753
 
754
+ <li style="background-image: url('<?php echo $image_attributes[0]; ?>');">
755
  <div class="accordion-product-content">
756
  <div class="accordion-product-item">
757
  <div class="product-content">
764
  <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>
765
  <?php
766
 
767
+ if ( class_exists( 'YITH_WCWL' ) ) {
768
+ echo
769
+ woolentor_add_to_wishlist_button('<i class="sli sli-heart"></i>','<i class="sli sli-heart"></i>', 'yes');
770
  }
771
+ if( class_exists('TInvWL_Public_AddToWishlist') ){
772
+ \TInvWL_Public_AddToWishlist::instance()->htmloutput();
773
+ }
774
 
775
+ if( function_exists('woolentor_compare_button') && class_exists('YITH_Woocompare_Frontend') ){
776
+ woolentor_compare_button();
 
 
 
 
 
777
  }
778
  ?>
779
 
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' => __( 'Rating 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 CHANGED
@@ -132,7 +132,7 @@ class WL_Customer_Review_Element extends Widget_Base {
132
  'condition'=>[
133
  'review_type' => 'custom',
134
  ],
135
- 'fields' => $repeater->get_controls(),
136
  'default' => [
137
 
138
  [
@@ -719,13 +719,13 @@ class WL_Customer_Review_Element extends Widget_Base {
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
  }
132
  'condition'=>[
133
  'review_type' => 'custom',
134
  ],
135
+ 'fields' => array_values( $repeater->get_controls() ),
136
  'default' => [
137
 
138
  [
719
  echo '<ul class="rating">';
720
  for($i = 1; $i <= 5; $i++){
721
  if( $i <= $rating_whole ){
722
+ echo '<li><i class="fa fa-star"></i></li>';
723
  } else {
724
  if( $rating_fraction != 0 ){
725
+ echo '<li><i class="fa fa-star-half-o"></i></li>';
726
  $rating_fraction = 0;
727
  } else {
728
+ echo '<li><i class="fa fa-star-o"></i></li>';
729
  }
730
  }
731
  }
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 CHANGED
@@ -111,7 +111,7 @@ class WL_Image_Marker_Element extends Widget_Base {
111
  $repeater->add_control(
112
  'marker_x_position',
113
  [
114
- 'label' => __( 'X Position', 'woolentor' ),
115
  'type' => Controls_Manager::SLIDER,
116
  'default' => [
117
  'size' => 66,
@@ -132,7 +132,7 @@ class WL_Image_Marker_Element extends Widget_Base {
132
  $repeater->add_control(
133
  'marker_y_position',
134
  [
135
- 'label' => __( 'Y Position', 'woolentor' ),
136
  'type' => Controls_Manager::SLIDER,
137
  'default' => [
138
  'size' => 15,
@@ -154,7 +154,7 @@ class WL_Image_Marker_Element extends Widget_Base {
154
  'image_marker_list',
155
  [
156
  'type' => Controls_Manager::REPEATER,
157
- 'fields' => $repeater->get_controls(),
158
  'default' => [
159
  [
160
  'marker_title' => __( 'Marker #1', 'woolentor' ),
@@ -271,7 +271,7 @@ class WL_Image_Marker_Element extends Widget_Base {
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;',
@@ -282,7 +282,7 @@ class WL_Image_Marker_Element extends Widget_Base {
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' => [
111
  $repeater->add_control(
112
  'marker_x_position',
113
  [
114
+ 'label' => __( 'X Postion', 'woolentor' ),
115
  'type' => Controls_Manager::SLIDER,
116
  'default' => [
117
  'size' => 66,
132
  $repeater->add_control(
133
  'marker_y_position',
134
  [
135
+ 'label' => __( 'Y Postion', 'woolentor' ),
136
  'type' => Controls_Manager::SLIDER,
137
  'default' => [
138
  'size' => 15,
154
  'image_marker_list',
155
  [
156
  'type' => Controls_Manager::REPEATER,
157
+ 'fields' => array_values( $repeater->get_controls() ),
158
  'default' => [
159
  [
160
  'marker_title' => __( 'Marker #1', 'woolentor' ),
271
  $this->add_responsive_control(
272
  'image_marker_content_area_border_radius',
273
  [
274
+ 'label' => esc_html__( 'Content area 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;',
282
  $this->add_responsive_control(
283
  'image_marker_content_area_padding',
284
  [
285
+ 'label' => __( 'Content area padding', 'woolentor' ),
286
  'type' => Controls_Manager::DIMENSIONS,
287
  'size_units' => [ 'px', '%', 'em' ],
288
  'selectors' => [
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-wrap [class*="ht-client-info"] span',
650
- ]
651
- );
652
-
653
- $this->add_responsive_control(
654
- 'testimonial_designation_margin',
655
- [
656
- 'label' => __( 'Margin', 'woolentor' ),
657
- 'type' => Controls_Manager::DIMENSIONS,
658
- 'size_units' => [ 'px', '%', 'em' ],
659
- 'selectors' => [
660
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"] span' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
661
- ],
662
- 'separator' =>'before',
663
- ]
664
- );
665
-
666
- $this->add_responsive_control(
667
- 'testimonial_designation_padding',
668
- [
669
- 'label' => __( 'Padding', 'woolentor' ),
670
- 'type' => Controls_Manager::DIMENSIONS,
671
- 'size_units' => [ 'px', '%', 'em' ],
672
- 'selectors' => [
673
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-info"] span' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
674
- ],
675
- 'separator' =>'before',
676
- ]
677
- );
678
-
679
- $this->end_controls_section(); // Style Testimonial designation style end
680
-
681
- // Style Testimonial designation style start
682
- $this->start_controls_section(
683
- 'testimonial_clientsay_style',
684
- [
685
- 'label' => __( 'Client say', 'woolentor' ),
686
- 'tab' => Controls_Manager::TAB_STYLE,
687
- ]
688
- );
689
-
690
- $this->add_control(
691
- 'testimonial_clientsay_color',
692
- [
693
- 'label' => __( 'Color', 'woolentor' ),
694
- 'type' => Controls_Manager::COLOR,
695
- 'selectors' => [
696
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-content"] p' => 'color: {{VALUE}};',
697
- ],
698
- ]
699
- );
700
-
701
- $this->add_group_control(
702
- Group_Control_Typography::get_type(),
703
- [
704
- 'name' => 'testimonial_clientsay_typography',
705
- 'selector' => '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-content"] p',
706
- ]
707
- );
708
-
709
- $this->add_responsive_control(
710
- 'testimonial_clientsay_margin',
711
- [
712
- 'label' => __( 'Margin', 'woolentor' ),
713
- 'type' => Controls_Manager::DIMENSIONS,
714
- 'size_units' => [ 'px', '%', 'em' ],
715
- 'selectors' => [
716
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-content"] p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
717
- ],
718
- 'separator' =>'before',
719
- ]
720
- );
721
-
722
- $this->add_responsive_control(
723
- 'testimonial_clientsay_padding',
724
- [
725
- 'label' => __( 'Padding', 'woolentor' ),
726
- 'type' => Controls_Manager::DIMENSIONS,
727
- 'size_units' => [ 'px', '%', 'em' ],
728
- 'selectors' => [
729
- '{{WRAPPER}} .ht-single-testimonial-wrap [class*="ht-client-content"] p' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
730
- ],
731
- 'separator' =>'before',
732
- ]
733
- );
734
-
735
- $this->end_controls_section(); // Style Testimonial designation style end
736
-
737
- // Style Testimonial designation style start
738
- $this->start_controls_section(
739
- 'testimonial_clientrating_style',
740
- [
741
- 'label' => __( 'Rating', 'woolentor' ),
742
- 'tab' => Controls_Manager::TAB_STYLE,
743
- ]
744
- );
745
-
746
- $this->add_control(
747
- 'testimonial_clientrating_color',
748
- [
749
- 'label' => __( 'Color', 'woolentor' ),
750
- 'type' => Controls_Manager::COLOR,
751
- 'selectors' => [
752
- '{{WRAPPER}} .ht-single-testimonial-wrap .ht-client-rating ul li i' => 'color: {{VALUE}};',
753
- ],
754
- ]
755
- );
756
-
757
- $this->add_responsive_control(
758
- 'testimonial_clientrating_size',
759
- [
760
- 'label' => __( 'Font Size', 'woolentor' ),
761
- 'type' => Controls_Manager::SLIDER,
762
- 'size_units' => [ 'px', '%' ],
763
- 'selectors' => [
764
- '{{WRAPPER}} .ht-single-testimonial-wrap .ht-client-rating ul li i' => 'font-size: {{SIZE}}{{UNIT}};',
765
- ],
766
- ]
767
- );
768
-
769
- $this->add_responsive_control(
770
- 'testimonial_clientrating_margin',
771
- [
772
- 'label' => __( 'Margin', 'woolentor' ),
773
- 'type' => Controls_Manager::DIMENSIONS,
774
- 'size_units' => [ 'px', '%', 'em' ],
775
- 'selectors' => [
776
- '{{WRAPPER}} .ht-single-testimonial-wrap .ht-client-rating ul' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
777
- ],
778
- 'separator' =>'before',
779
- ]
780
- );
781
-
782
- $this->end_controls_section(); // Style Testimonial designation style end
783
-
784
- // Slider Button style
785
- $this->start_controls_section(
786
- 'products-slider-controller-style',
787
- [
788
- 'label' => esc_html__( 'Slider Controller Style', 'woolentor' ),
789
- 'tab' => Controls_Manager::TAB_STYLE,
790
- 'condition' => [
791
- 'slider_on' => 'yes',
792
- ]
793
- ]
794
- );
795
-
796
- $this->start_controls_tabs('product_sliderbtn_style_tabs');
797
-
798
- // Slider Button style Normal
799
- $this->start_controls_tab(
800
- 'product_sliderbtn_style_normal_tab',
801
- [
802
- 'label' => __( 'Normal', 'woolentor' ),
803
- ]
804
- );
805
-
806
- $this->add_control(
807
- 'button_style_heading',
808
- [
809
- 'label' => __( 'Navigation Arrow', 'woolentor' ),
810
- 'type' => Controls_Manager::HEADING,
811
- ]
812
- );
813
-
814
- $this->add_responsive_control(
815
- 'nvigation_position',
816
- [
817
- 'label' => __( 'Position', 'woolentor' ),
818
- 'type' => Controls_Manager::SLIDER,
819
- 'size_units' => [ 'px', '%' ],
820
- 'range' => [
821
- 'px' => [
822
- 'min' => 0,
823
- 'max' => 1000,
824
- 'step' => 1,
825
- ],
826
- '%' => [
827
- 'min' => 0,
828
- 'max' => 100,
829
- ],
830
- ],
831
- 'selectors' => [
832
- '{{WRAPPER}} .product-slider .slick-arrow' => 'top: {{SIZE}}{{UNIT}};',
833
- ],
834
- ]
835
- );
836
-
837
- $this->add_control(
838
- 'button_color',
839
- [
840
- 'label' => __( 'Color', 'woolentor' ),
841
- 'type' => Controls_Manager::COLOR,
842
- 'selectors' => [
843
- '{{WRAPPER}} .product-slider .slick-arrow' => 'color: {{VALUE}};',
844
- ],
845
- ]
846
- );
847
-
848
- $this->add_control(
849
- 'button_bg_color',
850
- [
851
- 'label' => __( 'Background Color', 'woolentor' ),
852
- 'type' => Controls_Manager::COLOR,
853
- 'selectors' => [
854
- '{{WRAPPER}} .product-slider .slick-arrow' => 'background-color: {{VALUE}} !important;',
855
- ],
856
- ]
857
- );
858
-
859
- $this->add_group_control(
860
- Group_Control_Border::get_type(),
861
- [
862
- 'name' => 'button_border',
863
- 'label' => __( 'Border', 'woolentor' ),
864
- 'selector' => '{{WRAPPER}} .product-slider .slick-arrow',
865
- ]
866
- );
867
-
868
- $this->add_responsive_control(
869
- 'button_border_radius',
870
- [
871
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
872
- 'type' => Controls_Manager::DIMENSIONS,
873
- 'selectors' => [
874
- '{{WRAPPER}} .product-slider .slick-arrow' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
875
- ],
876
- ]
877
- );
878
-
879
- $this->add_responsive_control(
880
- 'button_padding',
881
- [
882
- 'label' => __( 'Padding', 'woolentor' ),
883
- 'type' => Controls_Manager::DIMENSIONS,
884
- 'size_units' => [ 'px', '%', 'em' ],
885
- 'selectors' => [
886
- '{{WRAPPER}} .product-slider .slick-arrow' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
887
- ],
888
- ]
889
- );
890
-
891
- $this->add_control(
892
- 'button_style_dots_heading',
893
- [
894
- 'label' => __( 'Navigation Dots', 'woolentor' ),
895
- 'type' => Controls_Manager::HEADING,
896
- ]
897
- );
898
-
899
- $this->add_responsive_control(
900
- 'dots_position',
901
- [
902
- 'label' => __( 'Position', 'woolentor' ),
903
- 'type' => Controls_Manager::SLIDER,
904
- 'size_units' => [ 'px', '%' ],
905
- 'range' => [
906
- 'px' => [
907
- 'min' => 0,
908
- 'max' => 1000,
909
- 'step' => 1,
910
- ],
911
- '%' => [
912
- 'min' => 0,
913
- 'max' => 100,
914
- ],
915
- ],
916
- 'selectors' => [
917
- '{{WRAPPER}} .product-slider .slick-dots' => 'left: {{SIZE}}{{UNIT}};',
918
- ],
919
- ]
920
- );
921
-
922
- $this->add_control(
923
- 'dots_bg_color',
924
- [
925
- 'label' => __( 'Background Color', 'woolentor' ),
926
- 'type' => Controls_Manager::COLOR,
927
- 'selectors' => [
928
- '{{WRAPPER}} .product-slider .slick-dots li button' => 'background-color: {{VALUE}} !important;',
929
- ],
930
- ]
931
- );
932
-
933
- $this->add_group_control(
934
- Group_Control_Border::get_type(),
935
- [
936
- 'name' => 'dots_border',
937
- 'label' => __( 'Border', 'woolentor' ),
938
- 'selector' => '{{WRAPPER}} .product-slider .slick-dots li button',
939
- ]
940
- );
941
-
942
- $this->add_responsive_control(
943
- 'dots_border_radius',
944
- [
945
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
946
- 'type' => Controls_Manager::DIMENSIONS,
947
- 'selectors' => [
948
- '{{WRAPPER}} .product-slider .slick-dots li button' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
949
- ],
950
- ]
951
- );
952
-
953
- $this->end_controls_tab();// Normal button style end
954
-
955
- // Button style Hover
956
- $this->start_controls_tab(
957
- 'product_sliderbtn_style_hover_tab',
958
- [
959
- 'label' => __( 'Hover', 'woolentor' ),
960
- ]
961
- );
962
-
963
- $this->add_control(
964
- 'button_style_arrow_heading',
965
- [
966
- 'label' => __( 'Navigation', 'woolentor' ),
967
- 'type' => Controls_Manager::HEADING,
968
- ]
969
- );
970
-
971
- $this->add_control(
972
- 'button_hover_color',
973
- [
974
- 'label' => __( 'Color', 'woolentor' ),
975
- 'type' => Controls_Manager::COLOR,
976
- 'selectors' => [
977
- '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'color: {{VALUE}};',
978
- ],
979
- ]
980
- );
981
-
982
- $this->add_control(
983
- 'button_hover_bg_color',
984
- [
985
- 'label' => __( 'Background', 'woolentor' ),
986
- 'type' => Controls_Manager::COLOR,
987
- 'selectors' => [
988
- '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'background-color: {{VALUE}} !important;',
989
- ],
990
- ]
991
- );
992
-
993
- $this->add_group_control(
994
- Group_Control_Border::get_type(),
995
- [
996
- 'name' => 'button_hover_border',
997
- 'label' => __( 'Border', 'woolentor' ),
998
- 'selector' => '{{WRAPPER}} .product-slider .slick-arrow:hover',
999
- ]
1000
- );
1001
-
1002
- $this->add_responsive_control(
1003
- 'button_hover_border_radius',
1004
- [
1005
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
1006
- 'type' => Controls_Manager::DIMENSIONS,
1007
- 'selectors' => [
1008
- '{{WRAPPER}} .product-slider .slick-arrow:hover' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
1009
- ],
1010
- ]
1011
- );
1012
-
1013
-
1014
- $this->add_control(
1015
- 'button_style_dotshov_heading',
1016
- [
1017
- 'label' => __( 'Navigation Dots', 'woolentor' ),
1018
- 'type' => Controls_Manager::HEADING,
1019
- ]
1020
- );
1021
-
1022
- $this->add_control(
1023
- 'dots_hover_bg_color',
1024
- [
1025
- 'label' => __( 'Background Color', 'woolentor' ),
1026
- 'type' => Controls_Manager::COLOR,
1027
- 'selectors' => [
1028
- '{{WRAPPER}} .product-slider .slick-dots li button:hover' => 'background-color: {{VALUE}} !important;',
1029
- '{{WRAPPER}} .product-slider .slick-dots li.slick-active button' => 'background-color: {{VALUE}} !important;',
1030
- ],
1031
- ]
1032
- );
1033
-
1034
- $this->add_group_control(
1035
- Group_Control_Border::get_type(),
1036
- [
1037
- 'name' => 'dots_border_hover',
1038
- 'label' => __( 'Border', 'woolentor' ),
1039
- 'selector' => '{{WRAPPER}} .product-slider .slick-dots li button:hover',
1040
- ]
1041
- );
1042
-
1043
- $this->add_responsive_control(
1044
- 'dots_border_radius_hover',
1045
- [
1046
- 'label' => esc_html__( 'Border Radius', 'woolentor' ),
1047
- 'type' => Controls_Manager::DIMENSIONS,
1048
- 'selectors' => [
1049
- '{{WRAPPER}} .product-slider .slick-dots li button:hover' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
1050
- ],
1051
- ]
1052
- );
1053
-
1054
- $this->end_controls_tab();// Hover button style end
1055
-
1056
- $this->end_controls_tabs();
1057
-
1058
- $this->end_controls_section(); // Tab option end
1059
-
1060
- }
1061
-
1062
-
1063
- protected function render( $instance = [] ) {
1064
-
1065
- $settings = $this->get_settings_for_display();
1066
- $column = $this->get_settings_for_display('column');
1067
-
1068
- $collumval = 'wl-col-1';
1069
- if( $column !='' ){
1070
- $collumval = 'wl-col-'.$column;
1071
- }
1072
-
1073
- // Generate review
1074
- $testimonial_list = [];
1075
- if( 'custom' === $settings['testimonial_type'] ){
1076
- foreach ( $settings['testimonial_list'] as $testimonial ){
1077
- $testimonial_list[] = array(
1078
- 'image' => Group_Control_Image_Size::get_attachment_image_html( $testimonial, 'client_imagesize', 'client_image' ),
1079
- 'name' => $testimonial['client_name'],
1080
- 'designation' => $testimonial['client_designation'],
1081
- 'ratting' => $testimonial['client_rating'],
1082
- 'message' => $testimonial['client_say'],
1083
- );
1084
- }
1085
- }
1086
-
1087
- // Slider Options
1088
- if( $settings['slider_on'] === 'yes' ){
1089
-
1090
- $is_rtl = is_rtl();
1091
- $direction = $is_rtl ? 'rtl' : 'ltr';
1092
- $slider_settings = [
1093
- 'arrows' => ('yes' === $settings['slarrows']),
1094
- 'dots' => ('yes' === $settings['sldots']),
1095
- 'autoplay' => ('yes' === $settings['slautolay']),
1096
- 'autoplay_speed' => absint($settings['slautoplay_speed']),
1097
- 'animation_speed' => absint($settings['slanimation_speed']),
1098
- 'pause_on_hover' => ('yes' === $settings['slpause_on_hover']),
1099
- 'rtl' => $is_rtl,
1100
- ];
1101
-
1102
- $slider_responsive_settings = [
1103
- 'product_items' => $settings['slitems'],
1104
- 'scroll_columns' => $settings['slscroll_columns'],
1105
- 'tablet_width' => $settings['sltablet_width'],
1106
- 'tablet_display_columns' => $settings['sltablet_display_columns'],
1107
- 'tablet_scroll_columns' => $settings['sltablet_scroll_columns'],
1108
- 'mobile_width' => $settings['slmobile_width'],
1109
- 'mobile_display_columns' => $settings['slmobile_display_columns'],
1110
- 'mobile_scroll_columns' => $settings['slmobile_scroll_columns'],
1111
-
1112
- ];
1113
- $slider_settings = array_merge( $slider_settings, $slider_responsive_settings );
1114
- }else{
1115
- $slider_settings = '';
1116
- }
1117
-
1118
- $this->add_render_attribute( 'area_attr', 'class', 'wl-row wlb-testimonial-style-'.$settings['testimonial_layout'] );
1119
-
1120
- if( $settings['no_gutters'] === 'yes' ){
1121
- $this->add_render_attribute( 'area_attr', 'class', 'wlno-gutters' );
1122
- }
1123
- if( $settings['slider_on'] === 'yes' ){
1124
- $this->add_render_attribute( 'area_attr', 'class', 'product-slider' );
1125
- $this->add_render_attribute( 'area_attr', 'data-settings', wp_json_encode( $slider_settings ) );
1126
- }
1127
-
1128
-
1129
- echo '<div '.$this->get_render_attribute_string( 'area_attr' ).'>';
1130
-
1131
- foreach ( $testimonial_list as $testimonial ):
1132
- ?>
1133
- <div class="<?php echo esc_attr( $collumval ); ?>">
1134
- <div class="ht-single-testimonial-wrap">
1135
-
1136
- <?php if( $settings['testimonial_layout'] === '1' ): ?>
1137
- <?php
1138
- if( !empty( $testimonial['message'] ) ){
1139
- echo sprintf( '<div class="ht-client-content ht-client-content-border"><p>%1$s</p>%2$s</div>', $testimonial['message'], $this->ratting( $testimonial['ratting'] ) );
1140
- }
1141
- ?>
1142
- <div class="ht-client-info">
1143
- <?php
1144
- if( !empty( $testimonial['image'] ) ){
1145
- echo $testimonial['image'];
1146
- }
1147
-
1148
- if( !empty( $testimonial['name'] ) ){
1149
- echo '<h4>'.$testimonial['name'].'</h4>';
1150
- }
1151
-
1152
- if( !empty( $testimonial['designation'] ) ){
1153
- echo '<span>'.$testimonial['designation'].'</span>';
1154
- }
1155
- ?>
1156
- </div>
1157
-
1158
- <?php elseif( $settings['testimonial_layout'] === '2' ): ?>
1159
- <div class="ht-client-info-wrap-2">
1160
- <?php
1161
- if( !empty( $testimonial['image'] ) ){
1162
- echo sprintf( '<div class="ht-client-img-2">%1$s</div>', $testimonial['image'] );
1163
- }
1164
- ?>
1165
- <div class="ht-client-info-3">
1166
- <?php
1167
- if( !empty( $testimonial['name'] ) || !empty( $testimonial['designation'] ) ){
1168
- echo sprintf('<h4>%1$s<span>%2$s</span></h4>', $testimonial['name'], $testimonial['designation'] );
1169
- }
1170
- if( !empty( $testimonial['ratting'] ) ){
1171
- echo $this->ratting( $testimonial['ratting'] );
1172
- }
1173
- ?>
1174
- </div>
1175
- </div>
1176
- <?php
1177
- if( !empty( $testimonial['message'] ) ){
1178
- echo sprintf( '<div class="ht-client-content"><p class="ht-width-dec">%1$s</p></div>', $testimonial['message'] );
1179
- }
1180
- ?>
1181
-
1182
- <?php elseif( $settings['testimonial_layout'] === '3' ): ?>
1183
- <div class="ht-client-info-wrap ht-client-info-border">
1184
- <?php
1185
- if( !empty( $testimonial['image'] ) ){
1186
- echo sprintf( '<div class="ht-client-img">%1$s</div>', $testimonial['image'] );
1187
- }
1188
- ?>
1189
- <div class="ht-client-info-2">
1190
- <?php
1191
- if( !empty( $testimonial['name'] ) ){
1192
- echo '<h4>'.$testimonial['name'].'</h4>';
1193
- }
1194
-
1195
- if( !empty( $testimonial['designation'] ) ){
1196
- echo '<span>'.$testimonial['designation'].'</span>';
1197
- }
1198
-
1199
- if( !empty( $testimonial['ratting'] ) ){
1200
- echo $this->ratting( $testimonial['ratting'] );
1201
- }
1202
- ?>
1203
- </div>
1204
- </div>
1205
- <?php
1206
- if( !empty( $testimonial['message'] ) ){
1207
- echo sprintf( '<div class="ht-client-content"><p">%1$s</p></div>', $testimonial['message'] );
1208
- }
1209
- ?>
1210
-
1211
- <?php else: ?>
1212
- <div class="ht-client-info-wrap-2">
1213
- <?php
1214
- if( !empty( $testimonial['image'] ) ){
1215
- echo sprintf( '<div class="ht-client-img-2">%1$s</div>', $testimonial['image'] );
1216
- }
1217
- ?>
1218
- <div class="ht-client-info-3">
1219
- <?php
1220
- if( !empty( $testimonial['name'] ) || !empty( $testimonial['designation'] ) ){
1221
- echo sprintf('<h4>%1$s<span>%2$s</span></h4>', $testimonial['name'], $testimonial['designation'] );
1222
- }
1223
-
1224
- if( !empty( $testimonial['ratting'] ) ){
1225
- echo $this->ratting( $testimonial['ratting'] );
1226
- }
1227
- ?>
1228
- </div>
1229
- </div>
1230
- <?php
1231
- if( !empty( $testimonial['message'] ) ){
1232
- echo sprintf( '<div class="ht-client-content"><p>%1$s</p></div>', $testimonial['message'] );
1233
- }
1234
- ?>
1235
-
1236
- <?php endif; ?>
1237
-
1238
- </div>
1239
- </div>
1240
- <?php
1241
- endforeach;
1242
-
1243
- echo '</div>';
1244
-
1245
-
1246
- }
1247
-
1248
- public function ratting( $ratting_num ){
1249
- if( !empty( $ratting_num ) ){
1250
- $rating = $ratting_num;
1251
- $rating_whole = floor( $ratting_num );
1252
- $rating_fraction = $rating - $rating_whole;
1253
- $ratting_html = '<div class="ht-client-rating"><ul>';
1254
- for( $i = 1; $i <= 5; $i++ ){
1255
- if( $i <= $rating_whole ){
1256
- $ratting_html .= '<li><i class="fas fa-star"></i></li>';
1257
- } else {
1258
- if( $rating_fraction != 0 ){
1259
- $ratting_html .= '<li><i class="fas fa-star-half-alt"></i></li>';
1260
- $rating_fraction = 0;
1261
- } else {
1262
- $ratting_html .= '<li><i class="far fa-star"></i></li>';
1263
- }
1264
- }
1265
- }
1266
- $ratting_html .= '</ul></div>';
1267
-
1268
- return $ratting_html;
1269
- }
1270
- }
1271
-
1272
- }
1273
- Plugin::instance()->widgets_manager->register_widget_type( new WL_Testimonial_Element() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/admin/admin-init.php CHANGED
@@ -15,7 +15,6 @@ class Woolentor_Admin_Setting{
15
  public function woolentor_admin_settings_page() {
16
  require_once('include/class.settings-api.php');
17
  require_once('include/template-library.php');
18
- require_once('include/class.extension-manager.php');
19
  if( is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') ){
20
  require_once WOOLENTOR_ADDONS_PL_PATH_PRO.'includes/admin/admin-setting.php';
21
  }else{
@@ -30,47 +29,14 @@ class Woolentor_Admin_Setting{
30
 
31
  if( $hook === 'woolentor_page_woolentor' or $hook === 'woolentor_page_woolentor_templates' ){
32
 
33
- wp_enqueue_style( 'simple-line-icons-wl' );
34
-
35
- wp_enqueue_style(
36
- 'fonticonpicker',
37
- WOOLENTOR_ADDONS_PL_URL . 'assets/lib/iconpicker/css/jquery.fonticonpicker.min.css',
38
- array(),
39
- WOOLENTOR_VERSION
40
- );
41
-
42
- wp_enqueue_style(
43
- 'fonticonpicker-bootstrap',
44
- WOOLENTOR_ADDONS_PL_URL . 'assets/lib/iconpicker/css/jquery.fonticonpicker.bootstrap.min.css',
45
- array(),
46
- WOOLENTOR_VERSION
47
- );
48
-
49
  wp_enqueue_style( 'woolentor-admin' );
50
  // wp core styles
51
  wp_enqueue_style( 'wp-jquery-ui-dialog' );
52
-
53
  // wp core scripts
54
  wp_enqueue_script( 'jquery-ui-dialog' );
55
 
56
- wp_enqueue_script(
57
- 'fonticonpicker',
58
- WOOLENTOR_ADDONS_PL_URL . 'assets/lib/iconpicker/js/jquery.fonticonpicker.min.js',
59
- array( 'jquery' ),
60
- WOOLENTOR_VERSION,
61
- TRUE
62
- );
63
-
64
  wp_enqueue_script( 'woolentor-admin-main' );
65
 
66
- wp_localize_script(
67
- 'woolentor-admin-main',
68
- 'woolentor_fields',
69
- [
70
- 'iconset' => Woolentor_Icon_List::icon_sets(),
71
- ]
72
- );
73
-
74
  }
75
 
76
  }
15
  public function woolentor_admin_settings_page() {
16
  require_once('include/class.settings-api.php');
17
  require_once('include/template-library.php');
 
18
  if( is_plugin_active('woolentor-addons-pro/woolentor_addons_pro.php') ){
19
  require_once WOOLENTOR_ADDONS_PL_PATH_PRO.'includes/admin/admin-setting.php';
20
  }else{
29
 
30
  if( $hook === 'woolentor_page_woolentor' or $hook === 'woolentor_page_woolentor_templates' ){
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  wp_enqueue_style( 'woolentor-admin' );
33
  // wp core styles
34
  wp_enqueue_style( 'wp-jquery-ui-dialog' );
 
35
  // wp core scripts
36
  wp_enqueue_script( 'jquery-ui-dialog' );
37
 
 
 
 
 
 
 
 
 
38
  wp_enqueue_script( 'woolentor-admin-main' );
39
 
 
 
 
 
 
 
 
 
40
  }
41
 
42
  }
includes/admin/assets/css/admin_optionspanel.css CHANGED
@@ -1,74 +1,3 @@
1
- h2.element_section_title.margin_0 {
2
- margin: 0;
3
- }
4
- .woolentor-setting-area h2.nav-tab-wrapper{
5
- position: relative;
6
- padding: 15px 10px;
7
- border: 1px solid #ccc;
8
- border-radius: 7px;
9
- display: flex;
10
- flex-wrap: wrap;
11
- list-style: none;
12
- margin-bottom: 25px;
13
- }
14
-
15
- .woolentor-setting-area h2.nav-tab-wrapper a{
16
- display: block;
17
- line-height: 30px;
18
- padding: 5px 15px;
19
- border-radius: 7px;
20
- background-color: transparent;
21
- font-weight: 500;
22
- font-size: 16px;
23
- text-transform: capitalize;
24
- border: 0;
25
- position: relative;
26
- }
27
- .woolentor-setting-area h2.nav-tab-wrapper a:first-child {
28
- margin-left: 0;
29
- }
30
- .woolentor-setting-area h2.nav-tab-wrapper a:before {
31
- content: "";
32
- position: absolute;
33
- left: 4px;
34
- top: calc(100% + -1px);
35
- width: calc(100% - 7px);
36
- border-radius: 0 0 10px 10px;
37
- height: 3px;
38
- opacity: 0;
39
- }
40
- .woolentor-setting-area h2.nav-tab-wrapper a.nav-tab-active{
41
- background-color: #fff;
42
- color: #428bfa;
43
- box-shadow: 0 4px 12px rgb(0 0 0 / 10%);
44
- }
45
- .woolentor-setting-area h2.nav-tab-wrapper a.nav-tab-active::before {
46
- background-color: #428bfa;
47
- opacity: 1;
48
- }
49
-
50
- .woolentor-setting-area .metabox-holder{
51
- background-color: #fff;
52
- border-radius: 7px;
53
- }
54
-
55
- .woolentor-setting-area .metabox-holder .group{
56
- padding: 25px 0 25px 20px;
57
- }
58
- #wpbody-content .woolentor-setting-area .metabox-holder {
59
- padding-top: 0;
60
- }
61
- .woolentor-setting-area p.submit {
62
- margin-bottom: 0;
63
- padding-bottom: 0;
64
- }
65
- .woolentor-setting-area h2{
66
- margin-top: 0;
67
- }
68
- .woolentor-style-tab-title h3{
69
- margin-top: 0;
70
- }
71
-
72
  #woolentor_woo_template_tabs .description span, #woolentor_rename_label_tabs .description span,#woolentor_sales_notification_tabs .description span{
73
  color: #ff0000;
74
  }
@@ -83,9 +12,6 @@ h2.element_section_title.margin_0 {
83
  float: left;
84
  margin-bottom: 30px;
85
  padding: 0 15px;
86
- width: 33%;
87
- }
88
- .woolentor-pro .woolentor-single-theme{
89
  width: 25%;
90
  }
91
  .woolentor-single-theme img{
@@ -110,8 +36,6 @@ h2.element_section_title.margin_0 {
110
  .woolentor-themes-row {
111
  margin-left: -15px;
112
  overflow: hidden;
113
- display: flex;
114
- flex-flow: wrap;
115
  }
116
  .woolentor-template-area {
117
  overflow: hidden;
@@ -135,7 +59,7 @@ h2.element_section_title.margin_0 {
135
  }
136
 
137
  .woolentor-admin-tab-area {
138
- margin: 0 0 20px;
139
  }
140
  .woolentor-admin-tabs {
141
  list-style: outside none none;
@@ -167,6 +91,9 @@ h2.element_section_title.margin_0 {
167
  #woolentor_elements_tabs h2 {
168
  display: none;
169
  }
 
 
 
170
  .wlopen-element-toggle {
171
  display: inline-block;
172
  padding: 7px 15px;
@@ -183,23 +110,14 @@ h2.element_section_title.margin_0 {
183
  #woolentor_elements_tabs table tr.woolentor_table_row{
184
  border: 1px solid #ddd;
185
  float: left;
186
- margin: 0 5px 5px 0px;
187
- padding: 0 14px;
188
- }
189
- #woolentor_elements_tabs table tr th {
190
- padding: 15px 0 14px 0;
191
- width: 226px;
192
- line-height: 1;
193
- vertical-align: middle;
194
  }
195
- @media (min-width: 1366px) and (max-width: 1479px) {
196
- #woolentor_elements_tabs table tr th {
197
- width: 198px;
198
- }
199
- }
200
- #woolentor_elements_tabs table tr td, #woolentor_elements_tabs table tr th {
201
  padding-right: 0;
202
  }
 
203
  #woolentor_elements_tabs table tr.htmega_title_row{
204
  border: medium none;
205
  display: block;
@@ -217,7 +135,7 @@ h2.element_section_title.margin_0 {
217
  /* Check box */
218
  .htoptions_element_checkbox label {
219
  padding: 2px;
220
- width: 35px;
221
  height: 15px;
222
  background-color: #2c3e50;
223
  border-radius: 60px;
@@ -267,48 +185,13 @@ h2.element_section_title.margin_0 {
267
  }
268
  .htoptions_element_checkbox input:checked + label::after {
269
  background-color: #22b9ff;
270
- margin-left: 14px;
271
  }
272
 
273
  .woolentor_table_row span{
274
  color: #FF0000;
275
  }
276
 
277
- /* Dimensions Field */
278
- .htoption_dimensions li {
279
- float: left;
280
- width: 75px;
281
- }
282
- .htoption_dimensions li input {
283
- display: block;
284
- text-align: center;
285
- width: 100%;
286
- border-color: #d5dadf;
287
- height: 30px;
288
- border-left: none;
289
- border-radius: 0;
290
- padding: 4px 4px 4px 0;
291
- }
292
- .htoption_dimensions li input:focus{
293
- outline: none;
294
- box-shadow: none;
295
- border:1px solid #007cba !important;
296
- }
297
- .htoption_dimensions li:first-child input {
298
- border-left: 1px solid #d5dadf;
299
- border-radius: 3px 0 0 3px;
300
- }
301
- .htoption_dimensions li:last-child input {
302
- border-right: 1px solid #d5dadf;
303
- border-radius: 0 3px 3px 0;
304
- }
305
- .htoption_dimensions li label {
306
- display: block !important;
307
- text-align: center;
308
- font-size: 13px;
309
- text-transform: uppercase;
310
- }
311
-
312
  /* Popup Box */
313
  .wldialog-content {
314
  text-align: center;
@@ -331,18 +214,8 @@ h2.element_section_title.margin_0 {
331
  padding: 0 15px;
332
  }
333
  .woolentor-document-section {
 
334
  overflow: hidden;
335
- margin-left: -15px;
336
- display: flex;
337
- }
338
- .woolentor-general-tabs .woolentor-document-section .woolentor-column a{
339
- display: block;
340
- }
341
- .woolentor-general-tabs .woolentor-document-section .woolentor-column a img{
342
- width: 100%;
343
- }
344
- .different-pro-free {
345
- margin-left: -15px;
346
  }
347
  .wooolentor-section-title {
348
  font-size: 20px;
@@ -405,130 +278,6 @@ h2.element_section_title.margin_0 {
405
  font-size: 16px;
406
  }
407
 
408
- /* Sidebar Add banner */
409
- .htoptions-area {
410
- width: 75%;
411
- float: left;
412
- }
413
- .htoptions-area + .htoptions-sidebar-adds-area {
414
- width: 22%;
415
- float: right;
416
- }
417
-
418
- .htoption-banner-area {
419
- background: #fff;
420
- font-size: 14px;
421
- line-height: 24px;
422
- color: #444444;
423
- padding: 30px;
424
- box-shadow: 0 0 28px rgba(0,0,0,0.1);
425
- }
426
-
427
- .htoption-banner-area .htoption-logo {
428
- text-align: center;
429
- margin-bottom: 20px;
430
- }
431
- .htoption-logo img {
432
- width: 90px;
433
- }
434
- .htoption-banner-area .htoption-intro {
435
- text-align: center;
436
- margin-bottom: 45px;
437
- }
438
- .htoption-banner-area .htoption-intro p {
439
- line-height: 25px;
440
- }
441
-
442
- ul.htoption-feature{
443
- margin: 0;
444
- padding: 0;
445
- list-style: none;
446
- }
447
- ul.htoption-feature li {
448
- position: relative;
449
- margin: 0;
450
- padding: 0 0 0 30px;
451
- }
452
- ul.htoption-feature li::before {
453
- position: absolute;
454
- content: url(../images/icon/check.png);
455
- width: 15px;
456
- height: 20px;
457
- top: 4px;
458
- left: 0;
459
- margin: 0;
460
- }
461
- ul.htoption-feature li + li {
462
- margin-top: 15px;
463
- }
464
- .htoption-action-btn {
465
- text-align: center;
466
- margin-top: 45px;
467
- }
468
- .htoption-action-btn a.htoption-btn {
469
- background: #2bc48a;
470
- font-size: 14px;
471
- line-height: 24px;
472
- color: #fff;
473
- border: 1px solid #2bc48a;
474
- padding: 5px 5px 5px 20px;
475
- border-radius: 25px;
476
- outline: 0;
477
- transition: 0.4s;
478
- display: inline-block;
479
- text-decoration: none;
480
- transition: 0.4s;
481
- }
482
- .htoption-action-btn a.htoption-btn:hover{
483
- background: #3aab80;
484
- box-shadow: 0 0 28px rgba(0,0,0,0.1);
485
- }
486
- .htoption-action-btn a.htoption-btn .htoption-btn-icon {
487
- width: 40px;
488
- height: 40px;
489
- background-color: #fff;
490
- border-radius: 100%;
491
- display: inline-block;
492
- text-align: center;
493
- line-height: 40px;
494
- margin-left: 15px;
495
- }
496
-
497
- .htoption-rating-area {
498
- display: -webkit-box;
499
- display: -ms-flexbox;
500
- display: flex;
501
- -ms-flex-wrap: wrap;
502
- flex-wrap: wrap;
503
- -webkit-box-align: center;
504
- -ms-flex-align: center;
505
- align-items: center;
506
- font-size: 14px;
507
- line-height: 24px;
508
- color: #444444;
509
- padding: 30px;
510
- background: #fff;
511
- box-shadow: 0 0 28px rgba(0,0,0,0.1);
512
- margin-top: 45px;
513
- }
514
- .htoption-rating-area .htoption-rating-icon {
515
- -webkit-box-flex: 0;
516
- -ms-flex: 0 0 auto;
517
- flex: 0 0 auto;
518
- width: auto;
519
- max-width: none;
520
- padding-right: 20px;
521
- }
522
- .htoption-rating-area .htoption-rating-intro {
523
- -ms-flex-preferred-size: 0;
524
- flex-basis: 0;
525
- -webkit-box-flex: 1;
526
- -ms-flex-positive: 1;
527
- flex-grow: 1;
528
- width: 100%;
529
- max-width: 100%;
530
- }
531
-
532
  /*
533
  * Template Laibrary Start
534
  */
@@ -616,9 +365,133 @@ ul.htoption-feature li + li {
616
  margin: 20px 0 15px;
617
  }
618
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
619
  .httemplate-row .htsingle-templates-laibrary *, .httemplate-row .htsingle-templates-laibrary *::after, .httemplate-row .htsingle-templates-laibrary *::before,.httemplate-row .htsingle-templates-laibrary {
620
  box-sizing: border-box;
621
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
622
 
623
  /*Pop Up*/
624
  .httemplate-popupcontent {
@@ -735,7 +608,10 @@ ul.htoption-feature li + li {
735
 
736
  /* Large Device :1200px. */
737
  @media (min-width: 1200px) and (max-width: 1400px) {
738
-
 
 
 
739
  .woolentor-single-theme {
740
  width: 33.333%;
741
  }
@@ -744,22 +620,23 @@ ul.htoption-feature li + li {
744
 
745
  /* Normal desktop :992px. */
746
  @media (min-width: 992px) and (max-width: 1199px) {
747
-
 
 
 
748
  .woolentor-single-theme {
749
  width: 50%;
750
  }
751
- .htoption-action-btn a.htoption-btn .htoption-btn-icon{
752
- display: none;
753
- }
754
- .htoption-action-btn a.htoption-btn{
755
- padding: 5px 20px 5px 20px;
756
- }
757
 
758
  }
759
 
760
 
761
  /* Tablet desktop :768px. */
762
  @media (min-width: 768px) and (max-width: 991px) {
 
 
 
 
763
 
764
  .woolentor-single-theme {
765
  width: 50%;
@@ -768,21 +645,14 @@ ul.htoption-feature li + li {
768
  width: 33%;
769
  }
770
 
771
- .htoptions-area {
772
- width: 100%;
773
- float: none;
774
- }
775
- .htoptions-area + .htoptions-sidebar-adds-area {
776
- width: 100%;
777
- float: none;
778
- margin-top: 40px;
779
- }
780
-
781
  }
782
 
783
  /* small mobile :320px. */
784
  @media (max-width: 767px) {
785
 
 
 
 
786
  .woolentor-single-theme {
787
  width: 100%;
788
  }
@@ -790,42 +660,16 @@ ul.htoption-feature li + li {
790
  width: 90%;
791
  }
792
 
793
- .htoptions-area {
794
- width: 100%;
795
- float: none;
796
- }
797
- .htoptions-area + .htoptions-sidebar-adds-area {
798
- width: 100%;
799
- float: none;
800
- margin-top: 30px;
801
- }
802
- .different-pro-free .woolentor-admin-row,.woolentor-document-section{
803
- flex-flow: column;
804
- }
805
- .features-list-area {
806
- margin: 0 0 15px;
807
- }
808
- .woolentor-style-tab-bottom img{
809
- width: 100%;
810
- }
811
- .woolentor-setting-area h2.nav-tab-wrapper a {
812
- margin-right: 0;
813
- }
814
- .woolentor-setting-area h2 {
815
- padding: 0;
816
- }
817
-
818
  }
819
 
820
  /* Large Mobile :480px. */
821
  @media only screen and (min-width: 480px) and (max-width: 767px) {
822
 
 
 
 
823
  .woolentor-single-theme {
824
  width: 50%;
825
  }
826
 
827
- .woolentor-document-section{
828
- flex-flow: row;
829
- }
830
-
831
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  #woolentor_woo_template_tabs .description span, #woolentor_rename_label_tabs .description span,#woolentor_sales_notification_tabs .description span{
2
  color: #ff0000;
3
  }
12
  float: left;
13
  margin-bottom: 30px;
14
  padding: 0 15px;
 
 
 
15
  width: 25%;
16
  }
17
  .woolentor-single-theme img{
36
  .woolentor-themes-row {
37
  margin-left: -15px;
38
  overflow: hidden;
 
 
39
  }
40
  .woolentor-template-area {
41
  overflow: hidden;
59
  }
60
 
61
  .woolentor-admin-tab-area {
62
+ margin: 30px 0 20px;
63
  }
64
  .woolentor-admin-tabs {
65
  list-style: outside none none;
91
  #woolentor_elements_tabs h2 {
92
  display: none;
93
  }
94
+ #woolentor_elements_tabs{
95
+ margin-top: 15px;
96
+ }
97
  .wlopen-element-toggle {
98
  display: inline-block;
99
  padding: 7px 15px;
110
  #woolentor_elements_tabs table tr.woolentor_table_row{
111
  border: 1px solid #ddd;
112
  float: left;
113
+ margin-bottom: 5px;
114
+ margin-right: 5px;
115
+ padding: 0 20px;
 
 
 
 
 
116
  }
117
+ #woolentor_elements_tabs table tr td,#woolentor_elements_tabs table tr th{
 
 
 
 
 
118
  padding-right: 0;
119
  }
120
+
121
  #woolentor_elements_tabs table tr.htmega_title_row{
122
  border: medium none;
123
  display: block;
135
  /* Check box */
136
  .htoptions_element_checkbox label {
137
  padding: 2px;
138
+ width: 43px;
139
  height: 15px;
140
  background-color: #2c3e50;
141
  border-radius: 60px;
185
  }
186
  .htoptions_element_checkbox input:checked + label::after {
187
  background-color: #22b9ff;
188
+ margin-left: 23px;
189
  }
190
 
191
  .woolentor_table_row span{
192
  color: #FF0000;
193
  }
194
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
195
  /* Popup Box */
196
  .wldialog-content {
197
  text-align: center;
214
  padding: 0 15px;
215
  }
216
  .woolentor-document-section {
217
+ margin-top: 25px;
218
  overflow: hidden;
 
 
 
 
 
 
 
 
 
 
 
219
  }
220
  .wooolentor-section-title {
221
  font-size: 20px;
278
  font-size: 16px;
279
  }
280
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
  /*
282
  * Template Laibrary Start
283
  */
365
  margin: 20px 0 15px;
366
  }
367
 
368
+ /*#tp-grid {
369
+ margin-left: 0 !important;
370
+ margin-top: 35px !important;
371
+ }
372
+ .tp-grid{
373
+ overflow: hidden !important;
374
+ }
375
+ #tp-grid li {
376
+ width: 20% !important;
377
+ }
378
+ #htmega-tmp-name {
379
+ text-transform: uppercase;
380
+ }
381
+ .tp-grid .httemplate-action{
382
+ display: none;
383
+ }
384
+
385
+ .htpackage-tp-title {
386
+ background: #fff;
387
+ display: block;
388
+ width: 100%;
389
+ padding: 15px;
390
+ position: absolute;
391
+ bottom: 20px;
392
+ left: 0;
393
+ box-sizing: border-box;
394
+ text-align: center;
395
+ }
396
+ .htpackage-tp-title h3{
397
+ text-transform: capitalize;
398
+ font-size: 16px;
399
+ font-weight: 700;
400
+ color: #000;
401
+ margin: 0;
402
+ }
403
+ .htpackage-tp-title p {
404
+ margin: 5px 0 0;
405
+ }
406
+ .htpackage-tp-title span {
407
+ margin-right: 5px;
408
+ }
409
+
410
+ .htmega-loader {
411
+ text-align: center;
412
+ }
413
+ #htmegaclose {
414
+ cursor: pointer;
415
+ font-size: 16px;
416
+ display: none;
417
+ transition: 0.4s;
418
+ }
419
+ #htmegaclose:hover{
420
+ color: #d30c5c;
421
+ }
422
+ .htmega-topbar {
423
+ display: none;
424
+ justify-content: space-between;
425
+ margin-right: 15px;
426
+ align-items: center;
427
+ background: #fff;
428
+ padding: 15px 16px;
429
+ }
430
+ .htmega-topbar h3{
431
+ margin: 0;
432
+ }
433
+
434
+ .httemplate-row .htsingle-templates-laibrary {
435
+ float: left;
436
+ margin-bottom: 30px;
437
+ padding: 0 15px;
438
+ width: 100%;
439
+ }
440
+ .httemplate-row .htsingle-templates-laibrary img{
441
+ width: 100%;
442
+ }
443
+ .httemplate-thumbnails {
444
+ overflow: hidden;
445
+ position: relative;
446
+ }
447
+ .httemplate-content {
448
+ background: #fff none repeat scroll 0 0;
449
+ padding: 15px;
450
+ text-align: center;
451
+ }
452
+ .httemplate-content h3 {
453
+ font-size: 16px;
454
+ margin: 0;
455
+ }
456
+ .httemplate-content span {
457
+ color: red;
458
+ display: none;
459
+ }
460
+ .httemplate-tags {
461
+ color: #888;
462
+ margin-top: 5px;
463
+ }
464
+
465
+ .httemplate-action {
466
+ background: #333 none repeat scroll 0 0;
467
+ bottom: 0;
468
+ display: flex;
469
+ flex-wrap: wrap;
470
+ justify-content: space-between;
471
+ left: 0;
472
+ position: absolute;
473
+ right: 0;
474
+ z-index: 2;
475
+ transition: 0.4s;
476
+ }*/
477
  .httemplate-row .htsingle-templates-laibrary *, .httemplate-row .htsingle-templates-laibrary *::after, .httemplate-row .htsingle-templates-laibrary *::before,.httemplate-row .htsingle-templates-laibrary {
478
  box-sizing: border-box;
479
  }
480
+ /*.httemplate-action a {
481
+ color: #fff;
482
+ flex: 0 0 50%;
483
+ font-size: 14px;
484
+ padding: 12px 20px;
485
+ text-align: center;
486
+ text-decoration: none;
487
+ transition: all 0.4s ease 0s;
488
+ }
489
+ .httemplate-action a:first-child:not(:last-child) {
490
+ border-right: 1px solid rgba(255,255,255, 0.2);
491
+ }
492
+ .httemplate-action a:hover{
493
+ background: #0085ba none repeat scroll 0 0;
494
+ }*/
495
 
496
  /*Pop Up*/
497
  .httemplate-popupcontent {
608
 
609
  /* Large Device :1200px. */
610
  @media (min-width: 1200px) and (max-width: 1400px) {
611
+
612
+ #tp-grid li {
613
+ width: 25% !important;
614
+ }
615
  .woolentor-single-theme {
616
  width: 33.333%;
617
  }
620
 
621
  /* Normal desktop :992px. */
622
  @media (min-width: 992px) and (max-width: 1199px) {
623
+
624
+ #tp-grid li {
625
+ width: 40% !important;
626
+ }
627
  .woolentor-single-theme {
628
  width: 50%;
629
  }
 
 
 
 
 
 
630
 
631
  }
632
 
633
 
634
  /* Tablet desktop :768px. */
635
  @media (min-width: 768px) and (max-width: 991px) {
636
+
637
+ #tp-grid li {
638
+ width: 40% !important;
639
+ }
640
 
641
  .woolentor-single-theme {
642
  width: 50%;
645
  width: 33%;
646
  }
647
 
 
 
 
 
 
 
 
 
 
 
648
  }
649
 
650
  /* small mobile :320px. */
651
  @media (max-width: 767px) {
652
 
653
+ #tp-grid li {
654
+ width: 90% !important;
655
+ }
656
  .woolentor-single-theme {
657
  width: 100%;
658
  }
660
  width: 90%;
661
  }
662
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
663
  }
664
 
665
  /* Large Mobile :480px. */
666
  @media only screen and (min-width: 480px) and (max-width: 767px) {
667
 
668
+ #tp-grid li {
669
+ width: 40% !important;
670
+ }
671
  .woolentor-single-theme {
672
  width: 50%;
673
  }
674
 
 
 
 
 
675
  }
includes/admin/assets/css/tmp-style.css CHANGED
@@ -357,8 +357,8 @@ body {
357
  position: absolute;
358
  z-index: 9;
359
  left: 0;
360
- max-width: 100%;
361
- height: auto;
362
  -webkit-transition: all 0.5s ease 0s;
363
  -o-transition: all 0.5s ease 0s;
364
  transition: all 0.5s ease 0s;
@@ -643,7 +643,7 @@ body {
643
 
644
  /* Scroll Top Top */
645
  .htwpt-scrollToTop, .htwpt-groupScrollToTop {
646
- font-size: 0;
647
  font-weight: 600;
648
  position: fixed;
649
  z-index: 99;
357
  position: absolute;
358
  z-index: 9;
359
  left: 0;
360
+ width: 100%;
361
+ height: 100%;
362
  -webkit-transition: all 0.5s ease 0s;
363
  -o-transition: all 0.5s ease 0s;
364
  transition: all 0.5s ease 0s;
643
 
644
  /* Scroll Top Top */
645
  .htwpt-scrollToTop, .htwpt-groupScrollToTop {
646
+ font-size: 12px;
647
  font-weight: 600;
648
  position: fixed;
649
  z-index: 99;
includes/admin/assets/images/extension/email-candy-pro.png DELETED
Binary file
includes/admin/assets/images/extension/just-tables-pro.png DELETED
Binary file
includes/admin/assets/images/extension/multicurrencypro.png DELETED
Binary file
includes/admin/assets/images/extension/whols-pro.png DELETED
Binary file
includes/admin/assets/images/icon/check.png DELETED
Binary file
includes/admin/assets/images/icon/plus.png DELETED
Binary file
includes/admin/assets/images/icon/rating.png DELETED
Binary file
includes/admin/assets/images/logo.png DELETED
Binary file
includes/admin/assets/images/pricing/life_time_agency.png DELETED
Binary file
includes/admin/assets/images/pricing/life_time_five_website.png DELETED
Binary file
includes/admin/assets/images/pricing/life_time_single_website.png DELETED
Binary file
includes/admin/assets/images/pricing/one_year_agency.png DELETED
Binary file
includes/admin/assets/images/pricing/one_year_five_website.png DELETED
Binary file
includes/admin/assets/images/pricing/one_year_single_website.png DELETED
Binary file
includes/admin/assets/js/install_manager.js CHANGED
@@ -31,7 +31,7 @@
31
  e.preventDefault();
32
  var $card = $( '.htwptemplata-plugin-' + args.slug ),
33
  $button = $card.find( '.button' );
34
- $button.text( WLIM.buttontxt.installing ).addClass( 'updating-message' );
35
  },
36
 
37
  /**
@@ -70,11 +70,11 @@
70
 
71
  $message.removeClass( 'install-now installed button-disabled updated-message' )
72
  .addClass( 'updating-message' )
73
- .html( WLIM.buttontxt.activating );
74
 
75
  setTimeout( function() {
76
  $.ajax( {
77
- url: WLIM.ajaxurl,
78
  type: 'POST',
79
  data: {
80
  action : 'woolentor_ajax_plugin_activation',
@@ -85,7 +85,7 @@
85
  $message.removeClass( 'button-primary install-now activate-now updating-message' )
86
  .attr( 'disabled', 'disabled' )
87
  .addClass( 'disabled' )
88
- .text( WLIM.buttontxt.active );
89
 
90
  } else {
91
  $message.removeClass( 'updating-message' );
@@ -110,10 +110,10 @@
110
  return;
111
  }
112
 
113
- $button.addClass( 'updating-message button-primary' ).html( WLIM.buttontxt.activating );
114
 
115
  $.ajax( {
116
- url: WLIM.ajaxurl,
117
  type: 'POST',
118
  data: {
119
  action : 'woolentor_ajax_plugin_activation',
@@ -124,7 +124,7 @@
124
  $button.removeClass( 'button-primary install-now activate-now updating-message' )
125
  .attr( 'disabled', 'disabled' )
126
  .addClass( 'disabled' )
127
- .text( WLIM.buttontxt.active );
128
  }
129
  });
130
 
@@ -163,7 +163,7 @@
163
  e.preventDefault();
164
  var $card = $( '.htwptemplata-theme-' + args.slug ),
165
  $button = $card.find( '.button' );
166
- $button.text( WLIM.buttontxt.installing ).addClass( 'updating-message' );
167
  },
168
 
169
  /**
@@ -202,11 +202,11 @@
202
 
203
  $message.removeClass( 'install-now installed button-disabled updated-message' )
204
  .addClass( 'updating-message' )
205
- .html( WLIM.buttontxt.activating );
206
 
207
  setTimeout( function() {
208
  $.ajax( {
209
- url: WLIM.ajaxurl,
210
  type: 'POST',
211
  data: {
212
  action : 'woolentor_ajax_theme_activation',
@@ -217,7 +217,7 @@
217
  $message.removeClass( 'button-primary install-now activate-now updating-message' )
218
  .attr( 'disabled', 'disabled' )
219
  .addClass( 'disabled' )
220
- .text( WLIM.buttontxt.active );
221
 
222
  } else {
223
  $message.removeClass( 'updating-message' );
@@ -242,10 +242,10 @@
242
  return;
243
  }
244
 
245
- $button.addClass( 'updating-message button-primary' ).html( WLIM.buttontxt.activating );
246
 
247
  $.ajax( {
248
- url: WLIM.ajaxurl,
249
  type: 'POST',
250
  data: {
251
  action : 'woolentor_ajax_theme_activation',
@@ -256,7 +256,7 @@
256
  $button.removeClass( 'button-primary install-now activate-now updating-message' )
257
  .attr( 'disabled', 'disabled' )
258
  .addClass( 'disabled' )
259
- .text( WLIM.buttontxt.active );
260
  }
261
  });
262
 
@@ -266,7 +266,7 @@
266
  };
267
 
268
  /**
269
- * Initialize
270
  */
271
  $( document ).ready( function() {
272
  WooLentortemplataPluginManager.init();
31
  e.preventDefault();
32
  var $card = $( '.htwptemplata-plugin-' + args.slug ),
33
  $button = $card.find( '.button' );
34
+ $button.text( WLTM.buttontxt.installing ).addClass( 'updating-message' );
35
  },
36
 
37
  /**
70
 
71
  $message.removeClass( 'install-now installed button-disabled updated-message' )
72
  .addClass( 'updating-message' )
73
+ .html( WLTM.buttontxt.activating );
74
 
75
  setTimeout( function() {
76
  $.ajax( {
77
+ url: WLTM.ajaxurl,
78
  type: 'POST',
79
  data: {
80
  action : 'woolentor_ajax_plugin_activation',
85
  $message.removeClass( 'button-primary install-now activate-now updating-message' )
86
  .attr( 'disabled', 'disabled' )
87
  .addClass( 'disabled' )
88
+ .text( WLTM.buttontxt.active );
89
 
90
  } else {
91
  $message.removeClass( 'updating-message' );
110
  return;
111
  }
112
 
113
+ $button.addClass( 'updating-message button-primary' ).html( WLTM.buttontxt.activating );
114
 
115
  $.ajax( {
116
+ url: WLTM.ajaxurl,
117
  type: 'POST',
118
  data: {
119
  action : 'woolentor_ajax_plugin_activation',
124
  $button.removeClass( 'button-primary install-now activate-now updating-message' )
125
  .attr( 'disabled', 'disabled' )
126
  .addClass( 'disabled' )
127
+ .text( WLTM.buttontxt.active );
128
  }
129
  });
130
 
163
  e.preventDefault();
164
  var $card = $( '.htwptemplata-theme-' + args.slug ),
165
  $button = $card.find( '.button' );
166
+ $button.text( WLTM.buttontxt.installing ).addClass( 'updating-message' );
167
  },
168
 
169
  /**
202
 
203
  $message.removeClass( 'install-now installed button-disabled updated-message' )
204
  .addClass( 'updating-message' )
205
+ .html( WLTM.buttontxt.activating );
206
 
207
  setTimeout( function() {
208
  $.ajax( {
209
+ url: WLTM.ajaxurl,
210
  type: 'POST',
211
  data: {
212
  action : 'woolentor_ajax_theme_activation',
217
  $message.removeClass( 'button-primary install-now activate-now updating-message' )
218
  .attr( 'disabled', 'disabled' )
219
  .addClass( 'disabled' )
220
+ .text( WLTM.buttontxt.active );
221
 
222
  } else {
223
  $message.removeClass( 'updating-message' );
242
  return;
243
  }
244
 
245
+ $button.addClass( 'updating-message button-primary' ).html( WLTM.buttontxt.activating );
246
 
247
  $.ajax( {
248
+ url: WLTM.ajaxurl,
249
  type: 'POST',
250
  data: {
251
  action : 'woolentor_ajax_theme_activation',
256
  $button.removeClass( 'button-primary install-now activate-now updating-message' )
257
  .attr( 'disabled', 'disabled' )
258
  .addClass( 'disabled' )
259
+ .text( WLTM.buttontxt.active );
260
  }
261
  });
262
 
266
  };
267
 
268
  /**
269
+ * Initialize WooLentortemplataPluginManager
270
  */
271
  $( document ).ready( function() {
272
  WooLentortemplataPluginManager.init();
includes/admin/assets/js/template_library_manager.js CHANGED
@@ -133,6 +133,7 @@
133
  }
134
  // Projects Data Filter for Free/Pro
135
  if (htwptTypeValue != "all") {
 
136
  htwptProjectData = htwptProjectData.filter(i => i.tmpType == htwptTypeValue)
137
  }
138
  // Projects Data Filter by Search
@@ -147,7 +148,7 @@
147
  let {
148
  thumbnail,
149
  id,
150
- url,
151
  shareId,
152
  title
153
  } = htwptPrintData[i],
@@ -260,15 +261,16 @@
260
  let {
261
  thumbnail,
262
  id,
263
- url,
264
  shareId,
265
  title,
266
  isPro,
267
  freePlugins,
268
  proPlugins,
269
  requiredtheme,
 
270
  } = htwptPrintGroupData[i];
271
- if(isPro == '1'){
272
  $impbutton = `<a href="${WLTM.prolink}" target="_blank">${WLTM.buttontxt.buynow}</a>`;
273
  $tmptitle = `<h5 class="title">${title} <span>(${WLTM.prolabel})</span></h5>`;
274
  }else{
@@ -279,11 +281,11 @@
279
  <div class="htwpt-project-item">
280
  <div class="htwpt-project-thumb">
281
  <a href="${thumbnail}" class="htwpt-image htwpt-image-popup">
282
- <img src="${thumbnail}" data-preview='{"templpateid":"${id}","templpattitle":"${title}","parentid":"${shareId}","fullimage":"${thumbnail}"}' alt="${title}" />
283
  <span class="img-loader"></span>
284
  </a>
285
  <div class="htwpt-actions">
286
- <a href="${url}" target="_blank">${WLTM.buttontxt.preview}</a>
287
  ${$impbutton}
288
  </div>
289
  </div>
@@ -292,7 +294,7 @@
292
  <h6 class="sub-title">${shareId}</h6>
293
  </div>
294
  </div>
295
- <div id="htwpt-popup-prev-${id}" style="display: none;"><img src="${thumbnail}" alt="${title}" style="width:100%;"/></div>
296
  </div>`;
297
  }
298
  if (!$(htwptLoaderSelector).hasClass('finish')) {
133
  }
134
  // Projects Data Filter for Free/Pro
135
  if (htwptTypeValue != "all") {
136
+ // htwptProjectData = htwptProjectData.filter(i => i.isPro == htwptTypeValue)
137
  htwptProjectData = htwptProjectData.filter(i => i.tmpType == htwptTypeValue)
138
  }
139
  // Projects Data Filter by Search
148
  let {
149
  thumbnail,
150
  id,
151
+ demoUrl,
152
  shareId,
153
  title
154
  } = htwptPrintData[i],
261
  let {
262
  thumbnail,
263
  id,
264
+ demoUrl,
265
  shareId,
266
  title,
267
  isPro,
268
  freePlugins,
269
  proPlugins,
270
  requiredtheme,
271
+ fullimage
272
  } = htwptPrintGroupData[i];
273
+ if(isPro == '1' ){
274
  $impbutton = `<a href="${WLTM.prolink}" target="_blank">${WLTM.buttontxt.buynow}</a>`;
275
  $tmptitle = `<h5 class="title">${title} <span>(${WLTM.prolabel})</span></h5>`;
276
  }else{
281
  <div class="htwpt-project-item">
282
  <div class="htwpt-project-thumb">
283
  <a href="${thumbnail}" class="htwpt-image htwpt-image-popup">
284
+ <img src="${thumbnail}" data-preview='{"templpateid":"${id}","templpattitle":"${title}","parentid":"${shareId}","fullimage":"${fullimage}"}' alt="${title}" />
285
  <span class="img-loader"></span>
286
  </a>
287
  <div class="htwpt-actions">
288
+ <a href="${demoUrl}" target="_blank">${WLTM.buttontxt.preview}</a>
289
  ${$impbutton}
290
  </div>
291
  </div>
294
  <h6 class="sub-title">${shareId}</h6>
295
  </div>
296
  </div>
297
+ <div id="htwpt-popup-prev-${id}" style="display: none;"><img src="${fullimage}" alt="${title}" style="width:100%;"/></div>
298
  </div>`;
299
  }
300
  if (!$(htwptLoaderSelector).hasClass('finish')) {
includes/admin/assets/js/woolentor-admin.js CHANGED
@@ -13,43 +13,26 @@
13
  }
14
  woolentor_admin_tabs( $(".woolentor-admin-tabs"), '.woolentor-admin-tab-pane' );
15
 
16
- // Check Save data wise
17
- WooLentorConditionField( admin_wllocalize_data.option_data['contenttype'], 'fakes', '.notification_fake' );
18
- WooLentorConditionField( admin_wllocalize_data.option_data['contenttype'], 'actual', '.notification_real' );
19
- WooLentorConditionField( admin_wllocalize_data.option_data['side_mini_cart'], 'on', '.side_mini_cart_field' );
20
- WooLentorConditionField( admin_wllocalize_data.option_data['enablecustomlayout'], 'on', '.depend_enable_custom_layout' );
21
- WooLentorConditionField( admin_wllocalize_data.option_data['enablerenamelabel'], 'on', '.depend_enable_rename_label' );
22
- WooLentorConditionField( admin_wllocalize_data.option_data['single_product_sticky_add_to_cart'], 'on', '.depend_single_product_sticky_add_to_cart' );
23
-
24
- // After On change
25
- WooLentorOnChangeField('.notification_content_type .radio', 'radio', '.notification_fake', 'fakes' );
26
- WooLentorOnChangeField('.notification_content_type .radio', 'radio', '.notification_real', 'actual' );
27
- WooLentorOnChangeField('.side_mini_cart .checkbox', 'radio', '.side_mini_cart_field', 'on' );
28
- WooLentorOnChangeField('.enablecustomlayout .checkbox', 'radio', '.depend_enable_custom_layout', 'on' );
29
- WooLentorOnChangeField('.enablerenamelabel .checkbox', 'radio', '.depend_enable_rename_label', 'on' );
30
- WooLentorOnChangeField('.single_product_sticky_add_to_cart .checkbox', 'radio', '.depend_single_product_sticky_add_to_cart', 'on' );
31
-
32
- function WooLentorOnChangeField( field, type = 'select', selector, condition_value ){
33
- $(field).on('change',function(){
34
- var change_value = '';
35
- if( type === 'radio' ){
36
- if( $(this).is(":checked") ){
37
- change_value = $(this).val();
38
- }
39
- }else{
40
- change_value = $(this).val();
41
- }
42
- WooLentorConditionField( change_value, condition_value, selector );
43
- });
44
  }
45
-
46
- // Hide || Show
47
- function WooLentorConditionField( value, condition_value, selector ){
48
- if( value === condition_value ){
49
- $(selector).show();
 
 
 
50
  }else{
51
- $(selector).hide();
 
52
  }
53
- }
54
 
55
  })(jQuery);
13
  }
14
  woolentor_admin_tabs( $(".woolentor-admin-tabs"), '.woolentor-admin-tab-pane' );
15
 
16
+ var contenttypeval = admin_wllocalize_data.contenttype;
17
+ if( contenttypeval == 'fakes' ){
18
+ $(".notification_fake").show();
19
+ $(".notification_real").hide();
20
+ }else{
21
+ $(".notification_fake").hide();
22
+ $(".notification_real").show();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  }
24
+ // When Change radio button
25
+ $(".notification_content_type .radio").on('change',function(){
26
+ if( $(this).is(":checked") ){
27
+ contenttypeval = $(this).val();
28
+ }
29
+ if( contenttypeval == 'fakes' ){
30
+ $(".notification_fake").show();
31
+ $(".notification_real").hide();
32
  }else{
33
+ $(".notification_fake").hide();
34
+ $(".notification_real").show();
35
  }
36
+ });
37
 
38
  })(jQuery);
includes/admin/include/admin-setting.php CHANGED
@@ -11,13 +11,12 @@ class Woolentor_Admin_Settings {
11
 
12
  add_action( 'admin_init', [ $this, 'admin_init' ] );
13
  add_action( 'admin_menu', [ $this, 'admin_menu' ], 220 );
14
-
15
  add_action( 'wsa_form_bottom_woolentor_general_tabs', [ $this, 'woolentor_html_general_tabs' ] );
16
  add_action( 'wsa_form_top_woolentor_elements_tabs', [ $this, 'woolentor_html_popup_box' ] );
17
  add_action( 'wsa_form_bottom_woolentor_themes_library_tabs', [ $this, 'woolentor_html_themes_library_tabs' ] );
18
 
19
- add_action( 'wsa_form_top_woolentor_style_tabs', [ $this, 'style_tab_html' ] );
20
- add_action( 'wsa_form_bottom_woolentor_style_tabs', [ $this, 'style_tab_bottom_html' ] );
21
 
22
  add_action( 'wsa_form_bottom_woolentor_buy_pro_tabs', [ $this, 'woolentor_html_buy_pro_tabs' ] );
23
 
@@ -131,116 +130,103 @@ class Woolentor_Admin_Settings {
131
  array(
132
  'name' => 'shoppageproductlimit',
133
  'label' => __( 'Product Limit', 'woolentor' ),
134
- 'desc' => __( 'You can handle the product limit for the Shop page', 'woolentor' ),
135
  'min' => 1,
136
  'max' => 100,
137
  'step' => '1',
138
  'type' => 'number',
139
- 'default' => '2',
140
- 'sanitize_callback' => 'floatval',
141
- 'class' => 'depend_enable_custom_layout',
142
  ),
143
 
144
  array(
145
  'name' => 'singleproductpage',
146
  'label' => __( 'Single Product Template', 'woolentor' ),
147
- 'desc' => __( 'You can select a custom template for the product details page layout', 'woolentor' ),
148
  'type' => 'select',
149
  'default' => '0',
150
- 'options' => woolentor_elementor_template(),
151
- 'class' => 'depend_enable_custom_layout',
152
  ),
153
 
154
  array(
155
  'name' => 'productarchivepage',
156
- 'label' => __( 'Product Shop Page Template', 'woolentor' ),
157
- 'desc' => __( 'You can select a custom template for the Shop page layout', 'woolentor' ),
158
- 'type' => 'select',
159
- 'default' => '0',
160
- 'options' => woolentor_elementor_template(),
161
- 'class' => 'depend_enable_custom_layout',
162
- ),
163
-
164
- array(
165
- 'name' => 'productallarchivepage',
166
  'label' => __( 'Product Archive Page Template', 'woolentor' ),
167
- 'desc' => __( 'You can select a custom template for the Product Archive page layout', 'woolentor' ),
168
  'type' => 'select',
169
  'default' => '0',
170
- 'options' => woolentor_elementor_template(),
171
- 'class' => 'depend_enable_custom_layout',
172
  ),
173
 
174
  array(
175
  'name' => 'productcartpagep',
176
  'label' => __( 'Cart Page Template', 'woolentor' ),
177
- 'desc' => __( 'You can select a template for the Cart page layout <span>( Pro )</span>', 'woolentor' ),
178
  'type' => 'select',
179
  'default' => '0',
180
  'options' => array(
181
- 'select'=>'Select a template for the cart page layout',
182
  ),
183
- 'class'=>'proelement depend_enable_custom_layout',
184
  ),
185
 
186
  array(
187
  'name' => 'productcheckoutpagep',
188
  'label' => __( 'Checkout Page Template', 'woolentor' ),
189
- 'desc' => __( 'You can select a template for the Checkout page layout <span>( Pro )</span>', 'woolentor' ),
190
  'type' => 'select',
191
  'default' => '0',
192
  'options' => array(
193
- 'select'=>'Select a template for the Checkout page layout',
194
  ),
195
- 'class'=>'proelement depend_enable_custom_layout',
196
  ),
197
 
198
  array(
199
  'name' => 'productthankyoupagep',
200
  'label' => __( 'Thank You Page Template', 'woolentor' ),
201
- 'desc' => __( 'Select a template for the Thank you page layout <span>( Pro )</span>', 'woolentor' ),
202
  'type' => 'select',
203
  'default' => '0',
204
  'options' => array(
205
- 'select'=>'Select a template for the Thank you page layout',
206
  ),
207
- 'class'=>'proelement depend_enable_custom_layout',
208
  ),
209
 
210
  array(
211
  'name' => 'productmyaccountpagep',
212
  'label' => __( 'My Account Page Template', 'woolentor' ),
213
- 'desc' => __( 'Select a template for the My Account page layout <span>( Pro )</span>', 'woolentor' ),
214
  'type' => 'select',
215
  'default' => '0',
216
  'options' => array(
217
  'select'=>'Select Template',
218
  ),
219
- 'class'=>'proelement depend_enable_custom_layout',
220
  ),
221
 
222
  array(
223
  'name' => 'productmyaccountloginpagep',
224
  'label' => __( 'My Account Login page Template', 'woolentor' ),
225
- 'desc' => __( 'Select a template for the Login page layout <span>( Pro )</span>', 'woolentor' ),
226
  'type' => 'select',
227
  'default' => '0',
228
  'options' => array(
229
  'select'=>'Select Template',
230
  ),
231
- 'class'=>'proelement depend_enable_custom_layout',
232
  ),
233
 
234
  array(
235
  'name' => 'productquickviewp',
236
  'label' => esc_html__( 'Quick View Template', 'woolentor' ),
237
- 'desc' => __( 'Select a template for the product\'s quick view layout <span>( Pro )</span>', 'woolentor' ),
238
  'type' => 'select',
239
  'default' => '0',
240
  'options' => array(
241
  'select'=>'Select Template',
242
  ),
243
- 'class'=>'proelement depend_enable_custom_layout',
244
  ),
245
 
246
  ),
@@ -327,46 +313,6 @@ class Woolentor_Admin_Settings {
327
  'class'=>'woolentor_table_row',
328
  ),
329
 
330
- array(
331
- 'name' => 'wl_category_grid',
332
- 'label' => __( 'Category Grid', 'woolentor' ),
333
- 'type' => 'checkbox',
334
- 'default' => 'on',
335
- 'class'=>'woolentor_table_row',
336
- ),
337
-
338
- array(
339
- 'name' => 'wl_onepage_slider',
340
- 'label' => __( 'One page slider', 'woolentor' ),
341
- 'type' => 'checkbox',
342
- 'default' => 'on',
343
- 'class'=>'woolentor_table_row',
344
- ),
345
-
346
- array(
347
- 'name' => 'wl_testimonial',
348
- 'label' => __( 'Testimonial', 'woolentor' ),
349
- 'type' => 'checkbox',
350
- 'default' => 'on',
351
- 'class'=>'woolentor_table_row',
352
- ),
353
-
354
- array(
355
- 'name' => 'wl_store_features',
356
- 'label' => __( 'Store Features', 'woolentor' ),
357
- 'type' => 'checkbox',
358
- 'default' => 'on',
359
- 'class'=>'woolentor_table_row',
360
- ),
361
-
362
- array(
363
- 'name' => 'wl_faq',
364
- 'label' => __( 'Faq', 'woolentor' ),
365
- 'type' => 'checkbox',
366
- 'default' => 'on',
367
- 'class'=>'woolentor_table_row',
368
- ),
369
-
370
  array(
371
  'name' => 'wl_brand',
372
  'label' => __( 'Brand Logo', 'woolentor' ),
@@ -383,22 +329,6 @@ class Woolentor_Admin_Settings {
383
  'class'=>'woolentor_table_row',
384
  ),
385
 
386
- array(
387
- 'name' => 'wl_product_filter',
388
- 'label' => __( 'Product Filter', 'woolentor' ),
389
- 'type' => 'checkbox',
390
- 'default' => 'on',
391
- 'class'=>'woolentor_table_row',
392
- ),
393
-
394
- array(
395
- 'name' => 'wl_product_horizontal_filter',
396
- 'label' => __( 'Product Horizontal Filter', 'woolentor' ),
397
- 'type' => 'checkbox',
398
- 'default' => 'on',
399
- 'class'=>'woolentor_table_row',
400
- ),
401
-
402
  array(
403
  'name' => 'wb_product_title',
404
  'label' => __( 'Product Title', 'woolentor' ),
@@ -417,7 +347,7 @@ class Woolentor_Admin_Settings {
417
 
418
  array(
419
  'name' => 'wb_product_add_to_cart',
420
- 'label' => __( 'Add to Cart Button', 'woolentor' ),
421
  'type' => 'checkbox',
422
  'default' => 'on',
423
  'class'=>'woolentor_table_row',
@@ -521,7 +451,7 @@ class Woolentor_Admin_Settings {
521
 
522
  array(
523
  'name' => 'wb_product_call_for_price',
524
- 'label' => __( 'Call for Price', 'woolentor' ),
525
  'type' => 'checkbox',
526
  'default' => 'on',
527
  'class'=>'woolentor_table_row',
@@ -537,28 +467,12 @@ class Woolentor_Admin_Settings {
537
 
538
  array(
539
  'name' => 'wb_product_qr_code',
540
- 'label' => __( 'QR Code', 'woolentor' ),
541
  'type' => 'checkbox',
542
  'default' => 'on',
543
  'class'=>'woolentor_table_row',
544
  ),
545
 
546
- array(
547
- 'name' => 'wl_product_expanding_gridp',
548
- 'label' => __( 'Product Expanding Grid <span>( Pro )</span>', 'woolentor' ),
549
- 'type' => 'checkbox',
550
- 'default' => 'off',
551
- 'class'=>'woolentor_table_row pro',
552
- ),
553
-
554
- array(
555
- 'name' => 'wl_product_filterable_gridp',
556
- 'label' => __( 'Product Filterable Grid <span>( Pro )</span>', 'woolentor' ),
557
- 'type' => 'checkbox',
558
- 'default' => 'off',
559
- 'class'=>'woolentor_table_row pro',
560
- ),
561
-
562
  array(
563
  'name' => 'wl_custom_archive_layoutp',
564
  'label' => __( 'Product Archive Layout <span>( Pro )</span>', 'woolentor' ),
@@ -567,14 +481,6 @@ class Woolentor_Admin_Settings {
567
  'class'=>'woolentor_table_row pro',
568
  ),
569
 
570
- array(
571
- 'name' => 'wl_product_pgridp',
572
- 'label' => __( 'Product Grid <span>( Pro )</span>', 'woolentor' ),
573
- 'type' => 'checkbox',
574
- 'default' => 'off',
575
- 'class'=>'woolentor_table_row pro',
576
- ),
577
-
578
  array(
579
  'name' => 'wl_cart_tablep',
580
  'label' => __( 'Product Cart Table <span>( Pro )</span>', 'woolentor' ),
@@ -801,7 +707,7 @@ class Woolentor_Admin_Settings {
801
 
802
  array(
803
  'name' => 'wl_stock_progress_barp',
804
- 'label' => __( 'Stock Progress Bar <span>( Pro )</span>', 'woolentor' ),
805
  'type' => 'checkbox',
806
  'default' => 'off',
807
  'class'=>'woolentor_table_row pro',
@@ -830,14 +736,6 @@ class Woolentor_Admin_Settings {
830
  'class'=>'woolentor_table_row pro',
831
  ),
832
 
833
- array(
834
- 'name' => 'wl_mini_cartp',
835
- 'label' => __( 'Mini Cart <span>( Pro )</span>', 'woolentor' ),
836
- 'type' => 'checkbox',
837
- 'default' => 'off',
838
- 'class'=>'woolentor_table_row pro',
839
- ),
840
-
841
  ),
842
 
843
  'woolentor_themes_library_tabs' => array(),
@@ -849,190 +747,185 @@ class Woolentor_Admin_Settings {
849
  'desc' => __( 'Enable', 'woolentor' ),
850
  'type' => 'checkbox',
851
  'default' => 'off',
852
- 'class' =>'woolentor_table_row enablerenamelabel',
853
  ),
854
 
855
  array(
856
  'name' => 'shop_page_heading',
857
  'headding' => __( 'Shop Page', 'woolentor' ),
858
  'type' => 'title',
859
- 'class' => 'depend_enable_rename_label',
860
  ),
861
 
862
  array(
863
  'name' => 'wl_shop_add_to_cart_txt',
864
  'label' => __( 'Add to Cart Button Text', 'woolentor' ),
865
- 'desc' => __( 'Change the Add to Cart button text for the Shop page.', 'woolentor' ),
866
  'type' => 'text',
867
- 'placeholder' => __( 'Add to Cart', 'woolentor' ),
868
- 'class' => 'depend_enable_rename_label',
869
  ),
870
 
871
  array(
872
  'name' => 'product_details_page_heading',
873
  'headding' => __( 'Product Details Page', 'woolentor' ),
874
  'type' => 'title',
875
- 'class' => 'depend_enable_rename_label',
876
  ),
877
 
878
  array(
879
  'name' => 'wl_add_to_cart_txt',
880
  'label' => __( 'Add to Cart Button Text', 'woolentor' ),
881
- 'desc' => __( 'Change the Add to Cart button text for the Product details page.', 'woolentor' ),
882
  'type' => 'text',
883
- 'placeholder' => __( 'Add to Cart', 'woolentor' ),
884
- 'class' => 'depend_enable_rename_label',
885
  ),
886
 
887
  array(
888
  'name' => 'wl_description_tab_menu_titlep',
889
  'label' => __( 'Description', 'woolentor' ),
890
- 'desc' => __( 'Change the tab title for the product description. <span>( Pro )</span>', 'woolentor' ),
891
  'type' => 'text',
892
  'placeholder' => __( 'Description', 'woolentor' ),
893
- 'class' => 'proelement depend_enable_rename_label',
894
  ),
895
 
896
  array(
897
  'name' => 'wl_additional_information_tab_menu_titlep',
898
  'label' => __( 'Additional Information', 'woolentor' ),
899
- 'desc' => __( 'Change the tab title for the product additional information <span>( Pro )</span>', 'woolentor' ),
900
  'type' => 'text',
901
- 'placeholder' => __( 'Additional information', 'woolentor' ),
902
- 'class' => 'proelement depend_enable_rename_label',
903
  ),
904
 
905
  array(
906
  'name' => 'wl_reviews_tab_menu_titlep',
907
  'label' => __( 'Reviews', 'woolentor' ),
908
- 'desc' => __( 'Change the tab title for the product review <span>( Pro )</span>', 'woolentor' ),
909
  'type' => 'text',
910
  'placeholder' => __( 'Reviews', 'woolentor' ),
911
- 'class' =>'proelement depend_enable_rename_label',
912
  ),
913
 
914
  array(
915
  'name' => 'checkout_page_headingp',
916
  'headding' => __( 'Checkout Page', 'woolentor' ),
917
  'type' => 'title',
918
- 'class' => 'depend_enable_rename_label',
919
  ),
920
 
921
  array(
922
  'name' => 'wl_checkout_firstname_labelp',
923
  'label' => __( 'First name', 'woolentor' ),
924
- 'desc' => __( 'Change the label for the First name field <span>( Pro )</span>', 'woolentor' ),
925
  'type' => 'text',
926
  'placeholder' => __( 'First name', 'woolentor' ),
927
- 'class' => 'proelement depend_enable_rename_label',
928
  ),
929
 
930
  array(
931
  'name' => 'wl_checkout_lastname_labelp',
932
  'label' => __( 'Last name', 'woolentor' ),
933
- 'desc' => __( 'Change the label for the Last name field <span>( Pro )</span>', 'woolentor' ),
934
  'type' => 'text',
935
  'placeholder' => __( 'Last name', 'woolentor' ),
936
- 'class' => 'proelement depend_enable_rename_label',
937
  ),
938
 
939
  array(
940
  'name' => 'wl_checkout_company_labelp',
941
  'label' => __( 'Company name', 'woolentor' ),
942
- 'desc' => __( 'Change the label for the Company field. <span>( Pro )</span>', 'woolentor' ),
943
  'type' => 'text',
944
  'placeholder' => __( 'Company name', 'woolentor' ),
945
- 'class' => 'proelement depend_enable_rename_label',
946
  ),
947
 
948
  array(
949
  'name' => 'wl_checkout_address_1_labelp',
950
  'label' => __( 'Street address', 'woolentor' ),
951
- 'desc' => __( 'Change the label for the Street address field. <span>( Pro )</span>', 'woolentor' ),
952
  'type' => 'text',
953
  'placeholder' => __( 'Street address', 'woolentor' ),
954
- 'class' => 'proelement depend_enable_rename_label',
955
  ),
956
 
957
  array(
958
  'name' => 'wl_checkout_address_2_labelp',
959
  'label' => __( 'Address Optional', 'woolentor' ),
960
- 'desc' => __( 'Change the label for the Optional address field. <span>( Pro )</span>', 'woolentor' ),
961
  'type' => 'text',
962
  'placeholder' => __( 'Address Optional', 'woolentor' ),
963
- 'class' => 'proelement depend_enable_rename_label',
964
  ),
965
 
966
  array(
967
  'name' => 'wl_checkout_city_labelp',
968
  'label' => __( 'Town / City', 'woolentor' ),
969
- 'desc' => __( 'Change the label for the Town/City field. <span>( Pro )</span>', 'woolentor' ),
970
  'type' => 'text',
971
  'placeholder' => __( 'Town / City', 'woolentor' ),
972
- 'class' => 'proelement depend_enable_rename_label',
973
  ),
974
 
975
  array(
976
  'name' => 'wl_checkout_postcode_labelp',
977
  'label' => __( 'Postcode / ZIP', 'woolentor' ),
978
- 'desc' => __( 'Change the label for the Postcode / ZIP field. <span>( Pro )</span>', 'woolentor' ),
979
  'type' => 'text',
980
  'placeholder' => __( 'Postcode / ZIP', 'woolentor' ),
981
- 'class' => 'proelement depend_enable_rename_label',
982
  ),
983
 
984
  array(
985
  'name' => 'wl_checkout_state_labelp',
986
  'label' => __( 'State', 'woolentor' ),
987
- 'desc' => __( 'Change the label for the State field. <span>( Pro )</span>', 'woolentor' ),
988
  'type' => 'text',
989
  'placeholder' => __( 'State', 'woolentor' ),
990
- 'class' => 'proelement depend_enable_rename_label',
991
  ),
992
 
993
  array(
994
  'name' => 'wl_checkout_phone_labelp',
995
  'label' => __( 'Phone', 'woolentor' ),
996
- 'desc' => __( 'Change the label for the Phone field. <span>( Pro )</span>', 'woolentor' ),
997
  'type' => 'text',
998
  'placeholder' => __( 'Phone', 'woolentor' ),
999
- 'class' => 'proelement depend_enable_rename_label',
1000
  ),
1001
 
1002
  array(
1003
  'name' => 'wl_checkout_email_labelp',
1004
  'label' => __( 'Email address', 'woolentor' ),
1005
- 'desc' => __( 'Change the label for the Email address field. <span>( Pro )</span>', 'woolentor' ),
1006
  'type' => 'text',
1007
  'placeholder' => __( 'Email address', 'woolentor' ),
1008
- 'class' => 'proelement depend_enable_rename_label',
1009
  ),
1010
 
1011
  array(
1012
  'name' => 'wl_checkout_country_labelp',
1013
  'label' => __( 'Country', 'woolentor' ),
1014
- 'desc' => __( 'Change the label for the Country field. <span>( Pro )</span>', 'woolentor' ),
1015
  'type' => 'text',
1016
  'placeholder' => __( 'Country', 'woolentor' ),
1017
- 'class' => 'proelement depend_enable_rename_label',
1018
  ),
1019
 
1020
  array(
1021
  'name' => 'wl_checkout_ordernote_labelp',
1022
  'label' => __( 'Order Note', 'woolentor' ),
1023
- 'desc' => __( 'Change the label for the Order notes field. <span>( Pro )</span>', 'woolentor' ),
1024
  'type' => 'text',
1025
  'placeholder' => __( 'Order notes', 'woolentor' ),
1026
- 'class' => 'proelement depend_enable_rename_label',
1027
  ),
1028
 
1029
  array(
1030
  'name' => 'wl_checkout_placeorder_btn_txtp',
1031
  'label' => __( 'Place order', 'woolentor' ),
1032
- 'desc' => __( 'Change the label for the Place order field. <span>( Pro )</span>', 'woolentor' ),
1033
  'type' => 'text',
1034
  'placeholder' => __( 'Place order', 'woolentor' ),
1035
- 'class' => 'proelement depend_enable_rename_label',
1036
  ),
1037
 
1038
  ),
@@ -1045,7 +938,7 @@ class Woolentor_Admin_Settings {
1045
  'desc' => __( 'Enable', 'woolentor' ),
1046
  'type' => 'checkbox',
1047
  'default' => 'off',
1048
- 'class'=>'woolentor_table_row enableresalenotification',
1049
  ),
1050
 
1051
  array(
@@ -1056,7 +949,7 @@ class Woolentor_Admin_Settings {
1056
  'default' => 'actual',
1057
  'options' => array(
1058
  'actual' => __('Real','woolentor'),
1059
- 'fakes' => __('Manual','woolentor'),
1060
  ),
1061
  'class'=>'proelement',
1062
  ),
@@ -1064,7 +957,7 @@ class Woolentor_Admin_Settings {
1064
  array(
1065
  'name' => 'notification_posp',
1066
  'label' => __( 'Position', 'woolentor' ),
1067
- 'desc' => __( 'Set the position of the Sales Notification.( Top Left, Top Right, Bottom Right option are pro features ) <span>( Pro )</span>', 'woolentor' ),
1068
  'type' => 'select',
1069
  'default' => 'bottomleft',
1070
  'options' => array(
@@ -1076,7 +969,7 @@ class Woolentor_Admin_Settings {
1076
  array(
1077
  'name' => 'notification_layoutp',
1078
  'label' => __( 'Image Position', 'woolentor' ),
1079
- 'desc' => __( 'Set the image position of the notification. <span>( Pro )</span>', 'woolentor' ),
1080
  'type' => 'select',
1081
  'default' => 'imageleft',
1082
  'options' => array(
@@ -1087,8 +980,8 @@ class Woolentor_Admin_Settings {
1087
 
1088
  array(
1089
  'name' => 'notification_loadduration',
1090
- 'label' => __( 'First loading time', 'woolentor' ),
1091
- 'desc' => __( 'When to start notification load duration.', 'woolentor' ),
1092
  'type' => 'select',
1093
  'default' => '3',
1094
  'options' => array(
@@ -1111,22 +1004,10 @@ class Woolentor_Admin_Settings {
1111
  ),
1112
  ),
1113
 
1114
- array(
1115
- 'name' => 'notification_time_showingp',
1116
- 'label' => esc_html__( 'Notification showing time', 'woolentor' ),
1117
- 'desc' => __( 'How long to keep the notification. <span>( Pro )</span>', 'woolentor' ),
1118
- 'type' => 'select',
1119
- 'default' => '5',
1120
- 'options' => array(
1121
- '5' =>esc_html__( '5 seconds','woolentor' ),
1122
- ),
1123
- 'class' => 'proelement',
1124
- ),
1125
-
1126
  array(
1127
  'name' => 'notification_time_intp',
1128
  'label' => __( 'Time Interval', 'woolentor' ),
1129
- 'desc' => __( 'Set the interval time between notifications. <span>( Pro )</span>', 'woolentor' ),
1130
  'type' => 'select',
1131
  'default' => '4',
1132
  'options' => array(
@@ -1152,7 +1033,7 @@ class Woolentor_Admin_Settings {
1152
  array(
1153
  'name' => 'notification_limit',
1154
  'label' => __( 'Limit', 'woolentor' ),
1155
- 'desc' => __( 'Set the number of notifications to display.', 'woolentor' ),
1156
  'min' => 1,
1157
  'max' => 100,
1158
  'default' => '5',
@@ -1165,7 +1046,7 @@ class Woolentor_Admin_Settings {
1165
  array(
1166
  'name' => 'notification_uptodatep',
1167
  'label' => __( 'Order Upto', 'woolentor' ),
1168
- 'desc' => __( 'Do not show purchases older than.( More Options are available in the Pro version ) <span>( Pro )</span>', 'woolentor' ),
1169
  'type' => 'select',
1170
  'default' => '7',
1171
  'options' => array(
@@ -1177,7 +1058,7 @@ class Woolentor_Admin_Settings {
1177
  array(
1178
  'name' => 'notification_inanimationp',
1179
  'label' => __( 'Animation In', 'woolentor' ),
1180
- 'desc' => __( 'Choose entrance animation. <span>( Pro )</span>', 'woolentor' ),
1181
  'type' => 'select',
1182
  'default' => 'fadeInLeft',
1183
  'options' => array(
@@ -1189,7 +1070,7 @@ class Woolentor_Admin_Settings {
1189
  array(
1190
  'name' => 'notification_outanimationp',
1191
  'label' => __( 'Animation Out', 'woolentor' ),
1192
- 'desc' => __( 'Choose exit animation. <span>( Pro )</span>', 'woolentor' ),
1193
  'type' => 'select',
1194
  'default' => 'fadeOutRight',
1195
  'options' => array(
@@ -1201,7 +1082,7 @@ class Woolentor_Admin_Settings {
1201
  array(
1202
  'name' => 'background_colorp',
1203
  'label' => __( 'Background Color', 'woolentor' ),
1204
- 'desc' => __( 'Set the background color of the notification. <span>( Pro )</span>', 'woolentor' ),
1205
  'type' => 'color',
1206
  'class' => 'notification_real proelement',
1207
  ),
@@ -1209,7 +1090,7 @@ class Woolentor_Admin_Settings {
1209
  array(
1210
  'name' => 'heading_colorp',
1211
  'label' => __( 'Heading Color', 'woolentor' ),
1212
- 'desc' => __( 'Set the heading color of the notification. <span>( Pro )</span>', 'woolentor' ),
1213
  'type' => 'color',
1214
  'class' => 'notification_real proelement',
1215
  ),
@@ -1217,7 +1098,7 @@ class Woolentor_Admin_Settings {
1217
  array(
1218
  'name' => 'content_colorp',
1219
  'label' => __( 'Content Color', 'woolentor' ),
1220
- 'desc' => __( 'Set the content color of the notification. <span>( Pro )</span>', 'woolentor' ),
1221
  'type' => 'color',
1222
  'class' => 'notification_real proelement',
1223
  ),
@@ -1225,7 +1106,7 @@ class Woolentor_Admin_Settings {
1225
  array(
1226
  'name' => 'cross_colorp',
1227
  'label' => __( 'Cross Icon Color', 'woolentor' ),
1228
- 'desc' => __( 'Set the cross icon color of the notification. <span>( Pro )</span>', 'woolentor' ),
1229
  'type' => 'color',
1230
  'class' => 'proelement',
1231
  ),
@@ -1237,7 +1118,7 @@ class Woolentor_Admin_Settings {
1237
  array(
1238
  'name' => 'loadproductlimit',
1239
  'label' => __( 'Load Products in Elementor Addons', 'woolentor' ),
1240
- 'desc' => __( 'Set the number of products to load in Elementor Addons', 'woolentor' ),
1241
  'min' => 1,
1242
  'max' => 100,
1243
  'step' => '1',
@@ -1250,7 +1131,6 @@ class Woolentor_Admin_Settings {
1250
  array(
1251
  'name' => 'ajaxsearch',
1252
  'label' => __( 'Ajax Search Widget', 'woolentor' ),
1253
- 'desc' => __( 'AJAX Search Widget', 'woolentor' ),
1254
  'type' => 'checkbox',
1255
  'default' => 'off',
1256
  'class'=>'woolentor_table_row',
@@ -1259,7 +1139,6 @@ class Woolentor_Admin_Settings {
1259
  array(
1260
  'name' => 'ajaxcart_singleproduct',
1261
  'label' => __( 'Single Product Ajax Add To Cart', 'woolentor' ),
1262
- 'desc' => __( 'AJAX Add to Cart on Single Product page', 'woolentor' ),
1263
  'type' => 'checkbox',
1264
  'default' => 'off',
1265
  'class'=>'woolentor_table_row',
@@ -1268,7 +1147,6 @@ class Woolentor_Admin_Settings {
1268
  array(
1269
  'name' => 'single_product_sticky_add_to_cartp',
1270
  'label' => __( 'Single Product Sticky Add To Cart <span>( Pro )</span>', 'woolentor' ),
1271
- 'desc' => __( 'Sticky Add to Cart on Single Product page', 'woolentor' ),
1272
  'type' => 'checkbox',
1273
  'default' => 'off',
1274
  'class' => 'woolentor_table_row pro',
@@ -1285,7 +1163,7 @@ class Woolentor_Admin_Settings {
1285
  array(
1286
  'name' => 'mini_cart_positionp',
1287
  'label' => __( 'Mini Cart Position <span>( Pro )</span>', 'woolentor' ),
1288
- 'desc' => esc_html__( 'Set the position of the Mini Cart.', 'woolentor' ),
1289
  'type' => 'select',
1290
  'default' => 'left',
1291
  'options' => array(
@@ -1294,14 +1172,6 @@ class Woolentor_Admin_Settings {
1294
  'class' =>'woolentor_table_row proelement',
1295
  ),
1296
 
1297
- array(
1298
- 'name' => 'multi_step_checkoutp',
1299
- 'label' => __( 'Multi Step Checkout <span>( Pro )</span>', 'woolentor' ),
1300
- 'type' => 'checkbox',
1301
- 'default'=> 'off',
1302
- 'class' =>'woolentor_table_row pro',
1303
- ),
1304
-
1305
  ),
1306
 
1307
  'woolentor_style_tabs' => array(
@@ -1309,7 +1179,7 @@ class Woolentor_Admin_Settings {
1309
  array(
1310
  'name' => 'content_area_bg',
1311
  'label' => __( 'Content area background', 'woolentor' ),
1312
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1313
  'type' => 'color',
1314
  'default'=>'#ffffff',
1315
  ),
@@ -1323,14 +1193,14 @@ class Woolentor_Admin_Settings {
1323
  array(
1324
  'name' => 'title_color',
1325
  'label' => __( 'Title color', 'woolentor' ),
1326
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1327
  'type' => 'color',
1328
  'default'=>'#444444',
1329
  ),
1330
  array(
1331
  'name' => 'title_hover_color',
1332
  'label' => __( 'Title hover color', 'woolentor' ),
1333
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1334
  'type' => 'color',
1335
  'default'=>'#dc9a0e',
1336
  ),
@@ -1344,14 +1214,14 @@ class Woolentor_Admin_Settings {
1344
  array(
1345
  'name' => 'sale_price_color',
1346
  'label' => __( 'Sale price color', 'woolentor' ),
1347
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1348
  'type' => 'color',
1349
  'default'=>'#444444',
1350
  ),
1351
  array(
1352
  'name' => 'regular_price_color',
1353
  'label' => __( 'Regular price color', 'woolentor' ),
1354
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1355
  'type' => 'color',
1356
  'default'=>'#444444',
1357
  ),
@@ -1365,14 +1235,14 @@ class Woolentor_Admin_Settings {
1365
  array(
1366
  'name' => 'category_color',
1367
  'label' => __( 'Category color', 'woolentor' ),
1368
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1369
  'type' => 'color',
1370
  'default'=>'#444444',
1371
  ),
1372
  array(
1373
  'name' => 'category_hover_color',
1374
  'label' => __( 'Category hover color', 'woolentor' ),
1375
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1376
  'type' => 'color',
1377
  'default'=>'#dc9a0e',
1378
  ),
@@ -1386,7 +1256,7 @@ class Woolentor_Admin_Settings {
1386
  array(
1387
  'name' => 'desc_color',
1388
  'label' => __( 'Description color', 'woolentor' ),
1389
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1390
  'type' => 'color',
1391
  'default'=>'#444444',
1392
  ),
@@ -1400,14 +1270,14 @@ class Woolentor_Admin_Settings {
1400
  array(
1401
  'name' => 'empty_rating_color',
1402
  'label' => __( 'Empty rating color', 'woolentor' ),
1403
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1404
  'type' => 'color',
1405
  'default'=>'#aaaaaa',
1406
  ),
1407
  array(
1408
  'name' => 'rating_color',
1409
  'label' => __( 'Rating color', 'woolentor' ),
1410
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1411
  'type' => 'color',
1412
  'default'=>'#dc9a0e',
1413
  ),
@@ -1421,7 +1291,7 @@ class Woolentor_Admin_Settings {
1421
  array(
1422
  'name' => 'badge_color',
1423
  'label' => __( 'Badge color', 'woolentor' ),
1424
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1425
  'type' => 'color',
1426
  'default'=>'#444444',
1427
  ),
@@ -1435,21 +1305,21 @@ class Woolentor_Admin_Settings {
1435
  array(
1436
  'name' => 'tooltip_color',
1437
  'label' => __( 'Tool tip color', 'woolentor' ),
1438
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1439
  'type' => 'color',
1440
  'default'=>'#ffffff',
1441
  ),
1442
  array(
1443
  'name' => 'btn_color',
1444
  'label' => __( 'Button color', 'woolentor' ),
1445
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1446
  'type' => 'color',
1447
  'default'=>'#000000',
1448
  ),
1449
  array(
1450
  'name' => 'btn_hover_color',
1451
  'label' => __( 'Button hover color', 'woolentor' ),
1452
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1453
  'type' => 'color',
1454
  'default'=>'#dc9a0e',
1455
  ),
@@ -1463,28 +1333,28 @@ class Woolentor_Admin_Settings {
1463
  array(
1464
  'name' => 'list_btn_color',
1465
  'label' => __( 'List View Button color', 'woolentor' ),
1466
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1467
  'type' => 'color',
1468
  'default'=>'#000000',
1469
  ),
1470
  array(
1471
  'name' => 'list_btn_hover_color',
1472
  'label' => __( 'List View Button Hover color', 'woolentor' ),
1473
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1474
  'type' => 'color',
1475
  'default'=>'#dc9a0e',
1476
  ),
1477
  array(
1478
  'name' => 'list_btn_bg_color',
1479
  'label' => __( 'List View Button background color', 'woolentor' ),
1480
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1481
  'type' => 'color',
1482
  'default'=>'#ffffff',
1483
  ),
1484
  array(
1485
  'name' => 'list_btn_hover_bg_color',
1486
  'label' => __( 'List View Button hover background color', 'woolentor' ),
1487
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1488
  'type' => 'color',
1489
  'default'=>'#ff3535',
1490
  ),
@@ -1498,7 +1368,7 @@ class Woolentor_Admin_Settings {
1498
  array(
1499
  'name' => 'counter_color',
1500
  'label' => __( 'Counter timer color', 'woolentor' ),
1501
- 'desc' => __( 'Default Color for universal layout.', 'woolentor' ),
1502
  'type' => 'color',
1503
  'default'=>'#ffffff',
1504
  ),
@@ -1534,61 +1404,6 @@ class Woolentor_Admin_Settings {
1534
  ];
1535
  }
1536
  }
1537
-
1538
- // Wishsuite Addons
1539
- if( is_plugin_active('wishsuite/wishsuite.php') ){
1540
- $settings_fields['woolentor_elements_tabs'][] = [
1541
- 'name' => 'wb_wishsuite_table',
1542
- 'label' => __( 'WishSuite Table', 'woolentor' ),
1543
- 'type' => 'checkbox',
1544
- 'default' => 'on',
1545
- 'class' => 'woolentor_table_row',
1546
- ];
1547
- }
1548
-
1549
- // Ever Compare Addons
1550
- if( is_plugin_active('ever-compare/ever-compare.php') ){
1551
- $settings_fields['woolentor_elements_tabs'][] = [
1552
- 'name' => 'wb_ever_compare_table',
1553
- 'label' => __( 'Ever Compare', 'woolentor' ),
1554
- 'type' => 'checkbox',
1555
- 'default' => 'on',
1556
- 'class' => 'woolentor_table_row',
1557
- ];
1558
- }
1559
-
1560
- // JustTable Addons
1561
- if( is_plugin_active('just-tables/just-tables.php') || is_plugin_active('just-tables-pro/just-tables-pro.php') ){
1562
- $settings_fields['woolentor_elements_tabs'][] = [
1563
- 'name' => 'wb_just_table',
1564
- 'label' => __( 'JustTable', 'woolentor' ),
1565
- 'type' => 'checkbox',
1566
- 'default' => 'on',
1567
- 'class' => 'woolentor_table_row',
1568
- ];
1569
- }
1570
-
1571
- // whols Addons
1572
- if( is_plugin_active('whols/whols.php') || is_plugin_active('whols-pro/whols-pro.php') ){
1573
- $settings_fields['woolentor_elements_tabs'][] = [
1574
- 'name' => 'wb_whols',
1575
- 'label' => __( 'Whols', 'woolentor' ),
1576
- 'type' => 'checkbox',
1577
- 'default' => 'on',
1578
- 'class' => 'woolentor_table_row',
1579
- ];
1580
- }
1581
-
1582
- // Multicurrency Addons
1583
- if( is_plugin_active('wc-multi-currency/wcmilticurrency.php') || is_plugin_active('multicurrencypro/multicurrencypro.php') ){
1584
- $settings_fields['woolentor_elements_tabs'][] = [
1585
- 'name' => 'wb_wc_multicurrency',
1586
- 'label' => __( 'Multi Currency', 'woolentor' ),
1587
- 'type' => 'checkbox',
1588
- 'default' => 'on',
1589
- 'class' => 'woolentor_table_row',
1590
- ];
1591
- }
1592
 
1593
  return array_merge( $settings_fields );
1594
  }
@@ -1596,18 +1411,11 @@ class Woolentor_Admin_Settings {
1596
 
1597
  function plugin_page() {
1598
 
1599
- echo '<div class="wrap woolentor-setting-area">';
1600
-
1601
- echo '<div class="htoptions-area">';
1602
- echo '<h2>'.esc_html__( 'WooLentor Settings','woolentor' ).'</h2>';
1603
- $this->save_message();
1604
- $this->settings_api->show_navigation();
1605
- $this->settings_api->show_forms();
1606
- echo '</div>';
1607
-
1608
- $side_banner_html = $this->sidebar_add_banner_html();
1609
- echo apply_filters( 'woolentor_sidebar_adds_banner', $side_banner_html );
1610
-
1611
  echo '</div>';
1612
 
1613
  }
@@ -1621,57 +1429,6 @@ class Woolentor_Admin_Settings {
1621
  }
1622
  }
1623
 
1624
- /**
1625
- * [sidebar_add_banner_html] Pro add sidebar banner
1626
- * @return [void]
1627
- */
1628
- function sidebar_add_banner_html(){
1629
-
1630
- ob_start();
1631
- ?>
1632
- <div class="htoptions-sidebar-adds-area">
1633
-
1634
- <div class="htoption-banner-area">
1635
- <div class="htoption-banner-head">
1636
- <div class="htoption-logo">
1637
- <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/logo.png" alt="<?php echo esc_attr__( 'WooLentor', 'woolentor' ); ?>">
1638
- </div>
1639
- <div class="htoption-intro">
1640
- <p><?php echo esc_html__( 'WooLentor is one of the most popular WooCommerce Elementor Addons on WordPress.org. It has been downloaded more than 528,763 times and 50,000 stores are using WooLentor plugin. Why not you?','woolentor' ); ?></p>
1641
- </div>
1642
- </div>
1643
-
1644
- <ul class="htoption-feature">
1645
- <li><?php echo esc_html__( '76 Elementor Elements', 'woolentor' ); ?></li>
1646
- <li><?php echo esc_html__( '15 Product Custom Templates', 'woolentor' ); ?></li>
1647
- <li><?php echo esc_html__( '10 Custom Shop Page Templates', 'woolentor' ); ?></li>
1648
- <li><?php echo esc_html__( 'Cart Page, Checkout, My Account, Registration and Thank you page custom layout template', 'woolentor' ); ?></li>
1649
- <li><?php echo esc_html__( '5 Premium WooCommerce Themes included. (Save $200)', 'woolentor' ); ?></li>
1650
- </ul>
1651
-
1652
- <div class="htoption-action-btn">
1653
- <a class="htoption-btn" href="<?php echo esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?db' ); ?>" target="_blank">
1654
- <span class="htoption-btn-text"><?php echo esc_html__( 'Get Pro Now', 'woolentor' ); ?></span>
1655
- <span class="htoption-btn-icon"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/icon/plus.png" alt="<?php echo esc_attr__( 'Get pro now', 'woolentor' ); ?>"></span>
1656
- </a>
1657
- </div>
1658
- </div>
1659
-
1660
- <div class="htoption-rating-area">
1661
- <div class="htoption-rating-icon">
1662
- <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/icon/rating.png" alt="<?php echo esc_attr__( 'Rating icon', 'woolentor' ); ?>">
1663
- </div>
1664
- <div class="htoption-rating-intro">
1665
- <?php echo esc_html__('If you’re loving how our product has helped your business, please let the WordPress community know by','woolentor'); ?> <a target="_blank" href="https://wordpress.org/support/plugin/woolentor-addons/reviews/?filter=5#new-post"><?php echo esc_html__( 'leaving us a review on our WP repository', 'woolentor' ); ?></a>. <?php echo esc_html__( 'Which will motivate us a lot.', 'woolentor' ); ?>
1666
- </div>
1667
- </div>
1668
-
1669
- </div>
1670
- <?php
1671
- return ob_get_clean();
1672
-
1673
- }
1674
-
1675
  // Custom Markup
1676
 
1677
  // HTML Style tab Section
@@ -1679,7 +1436,7 @@ class Woolentor_Admin_Settings {
1679
  ob_start();
1680
  ?>
1681
  <div class="woolentor-style-tab-title">
1682
- <h3><?php esc_html_e( 'Universal layout style options', 'woolentor' );?></h3>
1683
  </div>
1684
  <?php
1685
  echo ob_get_clean();
@@ -1691,7 +1448,7 @@ class Woolentor_Admin_Settings {
1691
  ?>
1692
  <div class="woolentor-style-tab-bottom">
1693
  <h3><?php echo esc_html__( 'Helping Screenshot:', 'woolentor' ); ?></h3>
1694
- <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/universal-layout-screen.png" alt="<?php echo esc_attr__( 'Universal layout', 'woolentor' ); ?>">
1695
  </div>
1696
  <?php
1697
  echo ob_get_clean();
@@ -1705,18 +1462,18 @@ class Woolentor_Admin_Settings {
1705
 
1706
  <div class="woolentor-document-section">
1707
  <div class="woolentor-column">
1708
- <a href="https://www.youtube.com/watch?v=_MOgvsZJ6uA&list=PLk25BQFrj7wH9zCECMNCtEvvUKkpV5TYA" target="_blank">
1709
- <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/video-tutorial.jpg" alt="<?php esc_attr_e( 'Video Tutorial', 'woolentor' ); ?>">
1710
  </a>
1711
  </div>
1712
  <div class="woolentor-column">
1713
  <a href="https://demo.hasthemes.com/doc/woolentor/index.html" target="_blank">
1714
- <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/online-documentation.jpg" alt="<?php esc_attr_e( 'Online Documentation', 'woolentor' ); ?>">
1715
  </a>
1716
  </div>
1717
  <div class="woolentor-column">
1718
  <a href="https://hasthemes.com/contact-us/" target="_blank">
1719
- <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/genral-contact-us.jpg" alt="<?php esc_attr_e( 'Contact Us', 'woolentor' ); ?>">
1720
  </a>
1721
  </div>
1722
  </div>
@@ -1741,7 +1498,7 @@ class Woolentor_Admin_Settings {
1741
  <li class="wldel"><del><?php echo esc_html__( 'My Account Page Builder', 'woolentor' ); ?></del></li>
1742
  <li class="wldel"><del><?php echo esc_html__( 'My Account Login page Builder', 'woolentor' ); ?></del></li>
1743
  </ul>
1744
- <a class="button button-primary" href="<?php echo esc_url( admin_url() ); ?>plugin-install.php?s=woolentor-addons&tab=search&type=term" target="_blank"><?php echo esc_html__( 'Install Now', 'woolentor' ); ?></a>
1745
  </div>
1746
  <div class="features-list-area">
1747
  <h3><?php echo esc_html__( 'WooLentor Pro', 'woolentor' ); ?></h3>
@@ -1759,7 +1516,7 @@ class Woolentor_Admin_Settings {
1759
  <li><?php echo esc_html__( 'My Account Page Builder', 'woolentor' ); ?></li>
1760
  <li><?php echo esc_html__( 'My Account Login page Builder', 'woolentor' ); ?></li>
1761
  </ul>
1762
- <a class="button button-primary" href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?db" target="_blank"><?php echo esc_html__( 'Buy Now', 'woolentor' ); ?></a>
1763
  </div>
1764
  </div>
1765
 
@@ -1779,7 +1536,7 @@ class Woolentor_Admin_Settings {
1779
  <span><i class="dashicons dashicons-warning"></i></span>
1780
  <p>
1781
  <?php
1782
- echo __('Purchase our','woolentor').' <strong><a href="'.esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?db' ).'" target="_blank" rel="nofollow">'.__( 'premium version', 'woolentor' ).'</a></strong> '.__('to unlock these pro elements!','woolentor');
1783
  ?>
1784
  </p>
1785
  </div>
@@ -1818,7 +1575,7 @@ class Woolentor_Admin_Settings {
1818
  <div class="woolentor-themes-area">
1819
  <div class="woolentor-themes-row">
1820
 
1821
- <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/99fy.png" alt="">
1822
  <div class="woolentor-theme-content">
1823
  <h3><?php echo esc_html__( '99Fy - Free', 'woolentor' ); ?></h3>
1824
  <p><?php echo esc_html__( '99fy is a free WooCommerce theme. 99 demos for 24 niche categories are included in this theme.', 'woolentor' ); ?></p>
@@ -1827,7 +1584,7 @@ class Woolentor_Admin_Settings {
1827
  </div>
1828
  </div>
1829
 
1830
- <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/parlo.png" alt="">
1831
  <div class="woolentor-theme-content">
1832
  <h3><?php echo esc_html__( 'Parlo - Free', 'woolentor' ); ?></h3>
1833
  <p><?php echo esc_html__( 'Parlo is a free WooCommerce theme developed by our team. You can use this for your store.', 'woolentor' );?></p>
@@ -1836,7 +1593,7 @@ class Woolentor_Admin_Settings {
1836
  </div>
1837
  </div>
1838
 
1839
- <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/99fy-pro.png" alt="">
1840
  <div class="woolentor-theme-content">
1841
  <h3><?php echo esc_html__( '99Fy Pro - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1842
  <p><?php echo esc_html__( 'Pro version of 99fy is included in WooLentor pro. It will save money for the WooLentor pro users.', 'woolentor' ); ?></p>
@@ -1844,7 +1601,7 @@ class Woolentor_Admin_Settings {
1844
  </div>
1845
  </div>
1846
 
1847
- <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/flone.png" alt="">
1848
  <div class="woolentor-theme-content">
1849
  <h3><?php echo esc_html__( 'Flone - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1850
  <p><?php echo esc_html__( 'Flone is one of our most popular WooComemrce Themes using by 1000+ stores.', 'wooLentor' );?></p>
@@ -1852,7 +1609,7 @@ class Woolentor_Admin_Settings {
1852
  </div>
1853
  </div>
1854
 
1855
- <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/parlo.png" alt="">
1856
  <div class="woolentor-theme-content">
1857
  <h3><?php echo esc_html__( 'Parlo Pro - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1858
  <p><?php echo esc_html__( 'Pro version of Parlo is included in WooLentor pro. It will save money for the WooLentor pro users.', 'wooLentor' );?></p>
@@ -1860,26 +1617,26 @@ class Woolentor_Admin_Settings {
1860
  </div>
1861
  </div>
1862
 
1863
- <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/holmes.png" alt="">
1864
  <div class="woolentor-theme-content">
1865
  <h3><?php echo esc_html__( 'Holmes - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1866
- <p><?php echo esc_html__( 'Holmes is a premium woocommerce theme included in WooLentor pro. It will save money for the WooLentor pro users.', 'woolentor' );?></p>
1867
  <a href="http://demo.hasthemes.com/wp/holmes-preview.html" class="woolentor-button" target="_blank"><?php echo esc_html__( 'Preview', 'woolentor' ); ?></a>
1868
  </div>
1869
  </div>
1870
 
1871
- <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/daniel-home-1.png" alt="">
1872
  <div class="woolentor-theme-content">
1873
  <h3><?php echo esc_html__( 'Daniel - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1874
- <p><?php echo esc_html__( 'Daniel is a premium woocommerce theme included in WooLentor pro. It will save money for the WooLentor pro users.', 'woolentor' ); ?></p>
1875
  <a href="http://demo.hasthemes.com/wp/daniel-preview.html" class="woolentor-button" target="_blank"><?php echo esc_html__( 'Preview', 'woolentor' ); ?></a>
1876
  </div>
1877
  </div>
1878
 
1879
- <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/hurst-home-1.png" alt="">
1880
  <div class="woolentor-theme-content">
1881
  <h3><?php echo esc_html__( 'Hurst - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1882
- <p><?php echo esc_html__( 'Hurst is a premium woocommerce theme included in WooLentor pro. It will save money for the WooLentor pro users.', 'woolentor' ); ?></p>
1883
  <a href="http://demo.hasthemes.com/wp/hurst-preview.html" class="woolentor-button" target="_blank"><?php echo esc_html__( 'Preview', 'woolentor' ); ?></a>
1884
  </div>
1885
  </div>
@@ -1897,42 +1654,42 @@ class Woolentor_Admin_Settings {
1897
  ?>
1898
  <div class="woolentor-admin-tab-area">
1899
  <ul class="woolentor-admin-tabs">
1900
- <li><a href="#oneyear"><?php echo esc_html__( 'One Year', 'woolentor' ); ?></a></li>
1901
- <li><a href="#lifetime" class="wlactive"><?php echo esc_html__( 'Lifetime', 'woolentor' ); ?></a></li>
1902
  </ul>
1903
  </div>
1904
 
1905
- <div id="oneyear" class="woolentor-admin-tab-pane">
1906
  <div class="woolentor-admin-row">
1907
 
1908
  <div class="woolentor-price-plan">
1909
- <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?db" target="_blank"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/pricing/one_year_single_website.png" alt="<?php echo esc_attr__( 'One Year Single Website','woolentor' );?>"></a>
1910
  </div>
1911
 
1912
  <div class="woolentor-price-plan">
1913
- <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?db" target="_blank"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/pricing/one_year_five_website.png" alt="<?php echo esc_attr__( 'One Year Unlimited Website','woolentor' );?>"></a>
1914
  </div>
1915
 
1916
  <div class="woolentor-price-plan">
1917
- <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?db" target="_blank"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/pricing/one_year_agency.png" alt="<?php echo esc_attr__( 'One Year Unlimited Websites','woolentor' );?>"></a>
1918
  </div>
1919
 
1920
  </div>
1921
  </div>
1922
 
1923
- <div id="lifetime" class="woolentor-admin-tab-pane wlactive">
1924
 
1925
  <div class="woolentor-admin-row">
1926
  <div class="woolentor-price-plan">
1927
- <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?db" target="_blank"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/pricing/life_time_single_website.png" alt="<?php echo esc_attr__( 'Lifetime Single Website','woolentor' );?>"></a>
1928
  </div>
1929
 
1930
  <div class="woolentor-price-plan">
1931
- <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?db" target="_blank"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/pricing/life_time_five_website.png" alt="<?php echo esc_attr__( 'Lifetime Unlimited Website','woolentor' );?>"></a>
1932
  </div>
1933
 
1934
  <div class="woolentor-price-plan">
1935
- <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?db" target="_blank"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>includes/admin/assets/images/pricing/life_time_agency.png" alt="<?php echo esc_attr__( 'Lifetime Unlimited Websites','woolentor' );?>"></a>
1936
  </div>
1937
  </div>
1938
 
11
 
12
  add_action( 'admin_init', [ $this, 'admin_init' ] );
13
  add_action( 'admin_menu', [ $this, 'admin_menu' ], 220 );
 
14
  add_action( 'wsa_form_bottom_woolentor_general_tabs', [ $this, 'woolentor_html_general_tabs' ] );
15
  add_action( 'wsa_form_top_woolentor_elements_tabs', [ $this, 'woolentor_html_popup_box' ] );
16
  add_action( 'wsa_form_bottom_woolentor_themes_library_tabs', [ $this, 'woolentor_html_themes_library_tabs' ] );
17
 
18
+ add_action( 'wsa_form_top_woolentor_style_tabs', array( $this, 'style_tab_html' ) );
19
+ add_action( 'wsa_form_bottom_woolentor_style_tabs', array( $this, 'style_tab_bottom_html' ) );
20
 
21
  add_action( 'wsa_form_bottom_woolentor_buy_pro_tabs', [ $this, 'woolentor_html_buy_pro_tabs' ] );
22
 
130
  array(
131
  'name' => 'shoppageproductlimit',
132
  'label' => __( 'Product Limit', 'woolentor' ),
133
+ 'desc' => wp_kses_post( 'You can Handle Shop page product limit', 'woolentor' ),
134
  'min' => 1,
135
  'max' => 100,
136
  'step' => '1',
137
  'type' => 'number',
138
+ 'std' => '10',
139
+ 'sanitize_callback' => 'floatval'
 
140
  ),
141
 
142
  array(
143
  'name' => 'singleproductpage',
144
  'label' => __( 'Single Product Template', 'woolentor' ),
145
+ 'desc' => __( 'You can select Custom Product details layout', 'woolentor' ),
146
  'type' => 'select',
147
  'default' => '0',
148
+ 'options' => woolentor_elementor_template()
 
149
  ),
150
 
151
  array(
152
  'name' => 'productarchivepage',
 
 
 
 
 
 
 
 
 
 
153
  'label' => __( 'Product Archive Page Template', 'woolentor' ),
154
+ 'desc' => __( 'You can select Custom Product Shop page layout', 'woolentor' ),
155
  'type' => 'select',
156
  'default' => '0',
157
+ 'options' => woolentor_elementor_template()
 
158
  ),
159
 
160
  array(
161
  'name' => 'productcartpagep',
162
  'label' => __( 'Cart Page Template', 'woolentor' ),
163
+ 'desc' => __( 'You can select Custom cart page layout <span>( Pro )</span>', 'woolentor' ),
164
  'type' => 'select',
165
  'default' => '0',
166
  'options' => array(
167
+ 'select'=>'Select Template',
168
  ),
169
+ 'class'=>'proelement',
170
  ),
171
 
172
  array(
173
  'name' => 'productcheckoutpagep',
174
  'label' => __( 'Checkout Page Template', 'woolentor' ),
175
+ 'desc' => __( 'You can select Custom checkout page layout <span>( Pro )</span>', 'woolentor' ),
176
  'type' => 'select',
177
  'default' => '0',
178
  'options' => array(
179
+ 'select'=>'Select Template',
180
  ),
181
+ 'class'=>'proelement',
182
  ),
183
 
184
  array(
185
  'name' => 'productthankyoupagep',
186
  'label' => __( 'Thank You Page Template', 'woolentor' ),
187
+ 'desc' => __( 'You can select Custom thank you page layout <span>( Pro )</span>', 'woolentor' ),
188
  'type' => 'select',
189
  'default' => '0',
190
  'options' => array(
191
+ 'select'=>'Select Template',
192
  ),
193
+ 'class'=>'proelement',
194
  ),
195
 
196
  array(
197
  'name' => 'productmyaccountpagep',
198
  'label' => __( 'My Account Page Template', 'woolentor' ),
199
+ 'desc' => __( 'You can select Custom my account page layout <span>( Pro )</span>', 'woolentor' ),
200
  'type' => 'select',
201
  'default' => '0',
202
  'options' => array(
203
  'select'=>'Select Template',
204
  ),
205
+ 'class'=>'proelement',
206
  ),
207
 
208
  array(
209
  'name' => 'productmyaccountloginpagep',
210
  'label' => __( 'My Account Login page Template', 'woolentor' ),
211
+ 'desc' => __( 'You can select Custom my account login page layout <span>( Pro )</span>', 'woolentor' ),
212
  'type' => 'select',
213
  'default' => '0',
214
  'options' => array(
215
  'select'=>'Select Template',
216
  ),
217
+ 'class'=>'proelement',
218
  ),
219
 
220
  array(
221
  'name' => 'productquickviewp',
222
  'label' => esc_html__( 'Quick View Template', 'woolentor' ),
223
+ 'desc' => __( 'You can select Custom quick view layout <span>( Pro )</span>', 'woolentor' ),
224
  'type' => 'select',
225
  'default' => '0',
226
  'options' => array(
227
  'select'=>'Select Template',
228
  ),
229
+ 'class'=>'proelement',
230
  ),
231
 
232
  ),
313
  'class'=>'woolentor_table_row',
314
  ),
315
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
316
  array(
317
  'name' => 'wl_brand',
318
  'label' => __( 'Brand Logo', 'woolentor' ),
329
  'class'=>'woolentor_table_row',
330
  ),
331
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
332
  array(
333
  'name' => 'wb_product_title',
334
  'label' => __( 'Product Title', 'woolentor' ),
347
 
348
  array(
349
  'name' => 'wb_product_add_to_cart',
350
+ 'label' => __( 'Add To Cart Button', 'woolentor' ),
351
  'type' => 'checkbox',
352
  'default' => 'on',
353
  'class'=>'woolentor_table_row',
451
 
452
  array(
453
  'name' => 'wb_product_call_for_price',
454
+ 'label' => __( 'Call For Price', 'woolentor' ),
455
  'type' => 'checkbox',
456
  'default' => 'on',
457
  'class'=>'woolentor_table_row',
467
 
468
  array(
469
  'name' => 'wb_product_qr_code',
470
+ 'label' => __( 'Qr Code', 'woolentor' ),
471
  'type' => 'checkbox',
472
  'default' => 'on',
473
  'class'=>'woolentor_table_row',
474
  ),
475
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
476
  array(
477
  'name' => 'wl_custom_archive_layoutp',
478
  'label' => __( 'Product Archive Layout <span>( Pro )</span>', 'woolentor' ),
481
  'class'=>'woolentor_table_row pro',
482
  ),
483
 
 
 
 
 
 
 
 
 
484
  array(
485
  'name' => 'wl_cart_tablep',
486
  'label' => __( 'Product Cart Table <span>( Pro )</span>', 'woolentor' ),
707
 
708
  array(
709
  'name' => 'wl_stock_progress_barp',
710
+ 'label' => __( 'Stock Progressbar <span>( Pro )</span>', 'woolentor' ),
711
  'type' => 'checkbox',
712
  'default' => 'off',
713
  'class'=>'woolentor_table_row pro',
736
  'class'=>'woolentor_table_row pro',
737
  ),
738
 
 
 
 
 
 
 
 
 
739
  ),
740
 
741
  'woolentor_themes_library_tabs' => array(),
747
  'desc' => __( 'Enable', 'woolentor' ),
748
  'type' => 'checkbox',
749
  'default' => 'off',
750
+ 'class'=>'woolentor_table_row',
751
  ),
752
 
753
  array(
754
  'name' => 'shop_page_heading',
755
  'headding' => __( 'Shop Page', 'woolentor' ),
756
  'type' => 'title',
 
757
  ),
758
 
759
  array(
760
  'name' => 'wl_shop_add_to_cart_txt',
761
  'label' => __( 'Add to Cart Button Text', 'woolentor' ),
762
+ 'desc' => __( 'You Can change the Add to Cart button text.', 'woolentor' ),
763
  'type' => 'text',
764
+ 'placeholder' => __( 'Add to Cart', 'woolentor' )
 
765
  ),
766
 
767
  array(
768
  'name' => 'product_details_page_heading',
769
  'headding' => __( 'Product Details Page', 'woolentor' ),
770
  'type' => 'title',
 
771
  ),
772
 
773
  array(
774
  'name' => 'wl_add_to_cart_txt',
775
  'label' => __( 'Add to Cart Button Text', 'woolentor' ),
776
+ 'desc' => __( 'You Can change the Add to Cart button text.', 'woolentor' ),
777
  'type' => 'text',
778
+ 'placeholder' => __( 'Add to Cart', 'woolentor' )
 
779
  ),
780
 
781
  array(
782
  'name' => 'wl_description_tab_menu_titlep',
783
  'label' => __( 'Description', 'woolentor' ),
784
+ 'desc' => __( 'You Can change the description tab title. <span>( Pro )</span>', 'woolentor' ),
785
  'type' => 'text',
786
  'placeholder' => __( 'Description', 'woolentor' ),
787
+ 'class'=>'proelement',
788
  ),
789
 
790
  array(
791
  'name' => 'wl_additional_information_tab_menu_titlep',
792
  'label' => __( 'Additional Information', 'woolentor' ),
793
+ 'desc' => __( 'You Can change the additional information tab title. <span>( Pro )</span>', 'woolentor' ),
794
  'type' => 'text',
795
+ 'placeholder' => __( 'Additiona information', 'woolentor' ),
796
+ 'class'=>'proelement',
797
  ),
798
 
799
  array(
800
  'name' => 'wl_reviews_tab_menu_titlep',
801
  'label' => __( 'Reviews', 'woolentor' ),
802
+ 'desc' => __( 'You Can change the review tab title. <span>( Pro )</span>', 'woolentor' ),
803
  'type' => 'text',
804
  'placeholder' => __( 'Reviews', 'woolentor' ),
805
+ 'class'=>'proelement',
806
  ),
807
 
808
  array(
809
  'name' => 'checkout_page_headingp',
810
  'headding' => __( 'Checkout Page', 'woolentor' ),
811
  'type' => 'title',
 
812
  ),
813
 
814
  array(
815
  'name' => 'wl_checkout_firstname_labelp',
816
  'label' => __( 'First name', 'woolentor' ),
817
+ 'desc' => __( 'You can change the First name field label. <span>( Pro )</span>', 'woolentor' ),
818
  'type' => 'text',
819
  'placeholder' => __( 'First name', 'woolentor' ),
820
+ 'class'=>'proelement',
821
  ),
822
 
823
  array(
824
  'name' => 'wl_checkout_lastname_labelp',
825
  'label' => __( 'Last name', 'woolentor' ),
826
+ 'desc' => __( 'You can change the Last name field label. <span>( Pro )</span>', 'woolentor' ),
827
  'type' => 'text',
828
  'placeholder' => __( 'Last name', 'woolentor' ),
829
+ 'class'=>'proelement',
830
  ),
831
 
832
  array(
833
  'name' => 'wl_checkout_company_labelp',
834
  'label' => __( 'Company name', 'woolentor' ),
835
+ 'desc' => __( 'You can change the company field label. <span>( Pro )</span>', 'woolentor' ),
836
  'type' => 'text',
837
  'placeholder' => __( 'Company name', 'woolentor' ),
838
+ 'class'=>'proelement',
839
  ),
840
 
841
  array(
842
  'name' => 'wl_checkout_address_1_labelp',
843
  'label' => __( 'Street address', 'woolentor' ),
844
+ 'desc' => __( 'You can change the Street address field label. <span>( Pro )</span>', 'woolentor' ),
845
  'type' => 'text',
846
  'placeholder' => __( 'Street address', 'woolentor' ),
847
+ 'class'=>'proelement',
848
  ),
849
 
850
  array(
851
  'name' => 'wl_checkout_address_2_labelp',
852
  'label' => __( 'Address Optional', 'woolentor' ),
853
+ 'desc' => __( 'You can change the Address Optional field label. <span>( Pro )</span>', 'woolentor' ),
854
  'type' => 'text',
855
  'placeholder' => __( 'Address Optional', 'woolentor' ),
856
+ 'class'=>'proelement',
857
  ),
858
 
859
  array(
860
  'name' => 'wl_checkout_city_labelp',
861
  'label' => __( 'Town / City', 'woolentor' ),
862
+ 'desc' => __( 'You can change the City field label. <span>( Pro )</span>', 'woolentor' ),
863
  'type' => 'text',
864
  'placeholder' => __( 'Town / City', 'woolentor' ),
865
+ 'class'=>'proelement',
866
  ),
867
 
868
  array(
869
  'name' => 'wl_checkout_postcode_labelp',
870
  'label' => __( 'Postcode / ZIP', 'woolentor' ),
871
+ 'desc' => __( 'You can change the Postcode / ZIP field label. <span>( Pro )</span>', 'woolentor' ),
872
  'type' => 'text',
873
  'placeholder' => __( 'Postcode / ZIP', 'woolentor' ),
874
+ 'class'=>'proelement',
875
  ),
876
 
877
  array(
878
  'name' => 'wl_checkout_state_labelp',
879
  'label' => __( 'State', 'woolentor' ),
880
+ 'desc' => __( 'You can change the state field label. <span>( Pro )</span>', 'woolentor' ),
881
  'type' => 'text',
882
  'placeholder' => __( 'State', 'woolentor' ),
883
+ 'class'=>'proelement',
884
  ),
885
 
886
  array(
887
  'name' => 'wl_checkout_phone_labelp',
888
  'label' => __( 'Phone', 'woolentor' ),
889
+ 'desc' => __( 'You can change the phone field label. <span>( Pro )</span>', 'woolentor' ),
890
  'type' => 'text',
891
  'placeholder' => __( 'Phone', 'woolentor' ),
892
+ 'class'=>'proelement',
893
  ),
894
 
895
  array(
896
  'name' => 'wl_checkout_email_labelp',
897
  'label' => __( 'Email address', 'woolentor' ),
898
+ 'desc' => __( 'You can change the email address field label. <span>( Pro )</span>', 'woolentor' ),
899
  'type' => 'text',
900
  'placeholder' => __( 'Email address', 'woolentor' ),
901
+ 'class'=>'proelement',
902
  ),
903
 
904
  array(
905
  'name' => 'wl_checkout_country_labelp',
906
  'label' => __( 'Country', 'woolentor' ),
907
+ 'desc' => __( 'You can change the Country field label. <span>( Pro )</span>', 'woolentor' ),
908
  'type' => 'text',
909
  'placeholder' => __( 'Country', 'woolentor' ),
910
+ 'class'=>'proelement',
911
  ),
912
 
913
  array(
914
  'name' => 'wl_checkout_ordernote_labelp',
915
  'label' => __( 'Order Note', 'woolentor' ),
916
+ 'desc' => __( 'You can change the Order notes field label. <span>( Pro )</span>', 'woolentor' ),
917
  'type' => 'text',
918
  'placeholder' => __( 'Order notes', 'woolentor' ),
919
+ 'class'=>'proelement',
920
  ),
921
 
922
  array(
923
  'name' => 'wl_checkout_placeorder_btn_txtp',
924
  'label' => __( 'Place order', 'woolentor' ),
925
+ 'desc' => __( 'You can change the Place order field label. <span>( Pro )</span>', 'woolentor' ),
926
  'type' => 'text',
927
  'placeholder' => __( 'Place order', 'woolentor' ),
928
+ 'class'=>'proelement',
929
  ),
930
 
931
  ),
938
  'desc' => __( 'Enable', 'woolentor' ),
939
  'type' => 'checkbox',
940
  'default' => 'off',
941
+ 'class'=>'woolentor_table_row',
942
  ),
943
 
944
  array(
949
  'default' => 'actual',
950
  'options' => array(
951
  'actual' => __('Real','woolentor'),
952
+ 'fakes' => __('Fakes','woolentor'),
953
  ),
954
  'class'=>'proelement',
955
  ),
957
  array(
958
  'name' => 'notification_posp',
959
  'label' => __( 'Position', 'woolentor' ),
960
+ 'desc' => __( 'Sale Notification Position on frontend.( Top Left, Top Right, Bottom Right option are pro features ) <span>( Pro )</span>', 'woolentor' ),
961
  'type' => 'select',
962
  'default' => 'bottomleft',
963
  'options' => array(
969
  array(
970
  'name' => 'notification_layoutp',
971
  'label' => __( 'Image Position', 'woolentor' ),
972
+ 'desc' => __( 'Notification Layout. <span>( Pro )</span>', 'woolentor' ),
973
  'type' => 'select',
974
  'default' => 'imageleft',
975
  'options' => array(
980
 
981
  array(
982
  'name' => 'notification_loadduration',
983
+ 'label' => __( 'Loading Time', 'woolentor' ),
984
+ 'desc' => __( 'Notification Loading duration.', 'woolentor' ),
985
  'type' => 'select',
986
  'default' => '3',
987
  'options' => array(
1004
  ),
1005
  ),
1006
 
 
 
 
 
 
 
 
 
 
 
 
 
1007
  array(
1008
  'name' => 'notification_time_intp',
1009
  'label' => __( 'Time Interval', 'woolentor' ),
1010
+ 'desc' => __( 'Time between notifications. <span>( Pro )</span>', 'woolentor' ),
1011
  'type' => 'select',
1012
  'default' => '4',
1013
  'options' => array(
1033
  array(
1034
  'name' => 'notification_limit',
1035
  'label' => __( 'Limit', 'woolentor' ),
1036
+ 'desc' => __( 'Order Limit for notification.', 'woolentor' ),
1037
  'min' => 1,
1038
  'max' => 100,
1039
  'default' => '5',
1046
  array(
1047
  'name' => 'notification_uptodatep',
1048
  'label' => __( 'Order Upto', 'woolentor' ),
1049
+ 'desc' => __( 'Do not show purchases older than.( More Options are Pro features ) <span>( Pro )</span>', 'woolentor' ),
1050
  'type' => 'select',
1051
  'default' => '7',
1052
  'options' => array(
1058
  array(
1059
  'name' => 'notification_inanimationp',
1060
  'label' => __( 'Animation In', 'woolentor' ),
1061
+ 'desc' => __( 'Notification Enter Animation. <span>( Pro )</span>', 'woolentor' ),
1062
  'type' => 'select',
1063
  'default' => 'fadeInLeft',
1064
  'options' => array(
1070
  array(
1071
  'name' => 'notification_outanimationp',
1072
  'label' => __( 'Animation Out', 'woolentor' ),
1073
+ 'desc' => __( 'Notification Out Animation. <span>( Pro )</span>', 'woolentor' ),
1074
  'type' => 'select',
1075
  'default' => 'fadeOutRight',
1076
  'options' => array(
1082
  array(
1083
  'name' => 'background_colorp',
1084
  'label' => __( 'Background Color', 'woolentor' ),
1085
+ 'desc' => wp_kses_post( 'Notification Background Color. <span>( Pro )</span>', 'woolentor' ),
1086
  'type' => 'color',
1087
  'class' => 'notification_real proelement',
1088
  ),
1090
  array(
1091
  'name' => 'heading_colorp',
1092
  'label' => __( 'Heading Color', 'woolentor' ),
1093
+ 'desc' => wp_kses_post( 'Notification Heading Color. <span>( Pro )</span>', 'woolentor' ),
1094
  'type' => 'color',
1095
  'class' => 'notification_real proelement',
1096
  ),
1098
  array(
1099
  'name' => 'content_colorp',
1100
  'label' => __( 'Content Color', 'woolentor' ),
1101
+ 'desc' => wp_kses_post( 'Notification Content Color. <span>( Pro )</span>', 'woolentor' ),
1102
  'type' => 'color',
1103
  'class' => 'notification_real proelement',
1104
  ),
1106
  array(
1107
  'name' => 'cross_colorp',
1108
  'label' => __( 'Cross Icon Color', 'woolentor' ),
1109
+ 'desc' => wp_kses_post( 'Notification Cross Icon Color. <span>( Pro )</span>', 'woolentor' ),
1110
  'type' => 'color',
1111
  'class' => 'proelement',
1112
  ),
1118
  array(
1119
  'name' => 'loadproductlimit',
1120
  'label' => __( 'Load Products in Elementor Addons', 'woolentor' ),
1121
+ 'desc' => wp_kses_post( 'Load Products in Elementor Addons', 'woolentor' ),
1122
  'min' => 1,
1123
  'max' => 100,
1124
  'step' => '1',
1131
  array(
1132
  'name' => 'ajaxsearch',
1133
  'label' => __( 'Ajax Search Widget', 'woolentor' ),
 
1134
  'type' => 'checkbox',
1135
  'default' => 'off',
1136
  'class'=>'woolentor_table_row',
1139
  array(
1140
  'name' => 'ajaxcart_singleproduct',
1141
  'label' => __( 'Single Product Ajax Add To Cart', 'woolentor' ),
 
1142
  'type' => 'checkbox',
1143
  'default' => 'off',
1144
  'class'=>'woolentor_table_row',
1147
  array(
1148
  'name' => 'single_product_sticky_add_to_cartp',
1149
  'label' => __( 'Single Product Sticky Add To Cart <span>( Pro )</span>', 'woolentor' ),
 
1150
  'type' => 'checkbox',
1151
  'default' => 'off',
1152
  'class' => 'woolentor_table_row pro',
1163
  array(
1164
  'name' => 'mini_cart_positionp',
1165
  'label' => __( 'Mini Cart Position <span>( Pro )</span>', 'woolentor' ),
1166
+ 'desc' => esc_html__( 'Mini cart position on frontend.', 'woolentor' ),
1167
  'type' => 'select',
1168
  'default' => 'left',
1169
  'options' => array(
1172
  'class' =>'woolentor_table_row proelement',
1173
  ),
1174
 
 
 
 
 
 
 
 
 
1175
  ),
1176
 
1177
  'woolentor_style_tabs' => array(
1179
  array(
1180
  'name' => 'content_area_bg',
1181
  'label' => __( 'Content area background', 'woolentor' ),
1182
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1183
  'type' => 'color',
1184
  'default'=>'#ffffff',
1185
  ),
1193
  array(
1194
  'name' => 'title_color',
1195
  'label' => __( 'Title color', 'woolentor' ),
1196
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1197
  'type' => 'color',
1198
  'default'=>'#444444',
1199
  ),
1200
  array(
1201
  'name' => 'title_hover_color',
1202
  'label' => __( 'Title hover color', 'woolentor' ),
1203
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1204
  'type' => 'color',
1205
  'default'=>'#dc9a0e',
1206
  ),
1214
  array(
1215
  'name' => 'sale_price_color',
1216
  'label' => __( 'Sale price color', 'woolentor' ),
1217
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1218
  'type' => 'color',
1219
  'default'=>'#444444',
1220
  ),
1221
  array(
1222
  'name' => 'regular_price_color',
1223
  'label' => __( 'Regular price color', 'woolentor' ),
1224
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1225
  'type' => 'color',
1226
  'default'=>'#444444',
1227
  ),
1235
  array(
1236
  'name' => 'category_color',
1237
  'label' => __( 'Category color', 'woolentor' ),
1238
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1239
  'type' => 'color',
1240
  'default'=>'#444444',
1241
  ),
1242
  array(
1243
  'name' => 'category_hover_color',
1244
  'label' => __( 'Category hover color', 'woolentor' ),
1245
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1246
  'type' => 'color',
1247
  'default'=>'#dc9a0e',
1248
  ),
1256
  array(
1257
  'name' => 'desc_color',
1258
  'label' => __( 'Description color', 'woolentor' ),
1259
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1260
  'type' => 'color',
1261
  'default'=>'#444444',
1262
  ),
1270
  array(
1271
  'name' => 'empty_rating_color',
1272
  'label' => __( 'Empty rating color', 'woolentor' ),
1273
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1274
  'type' => 'color',
1275
  'default'=>'#aaaaaa',
1276
  ),
1277
  array(
1278
  'name' => 'rating_color',
1279
  'label' => __( 'Rating color', 'woolentor' ),
1280
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1281
  'type' => 'color',
1282
  'default'=>'#dc9a0e',
1283
  ),
1291
  array(
1292
  'name' => 'badge_color',
1293
  'label' => __( 'Badge color', 'woolentor' ),
1294
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1295
  'type' => 'color',
1296
  'default'=>'#444444',
1297
  ),
1305
  array(
1306
  'name' => 'tooltip_color',
1307
  'label' => __( 'Tool tip color', 'woolentor' ),
1308
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1309
  'type' => 'color',
1310
  'default'=>'#ffffff',
1311
  ),
1312
  array(
1313
  'name' => 'btn_color',
1314
  'label' => __( 'Button color', 'woolentor' ),
1315
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1316
  'type' => 'color',
1317
  'default'=>'#000000',
1318
  ),
1319
  array(
1320
  'name' => 'btn_hover_color',
1321
  'label' => __( 'Button hover color', 'woolentor' ),
1322
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1323
  'type' => 'color',
1324
  'default'=>'#dc9a0e',
1325
  ),
1333
  array(
1334
  'name' => 'list_btn_color',
1335
  'label' => __( 'List View Button color', 'woolentor' ),
1336
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1337
  'type' => 'color',
1338
  'default'=>'#000000',
1339
  ),
1340
  array(
1341
  'name' => 'list_btn_hover_color',
1342
  'label' => __( 'List View Button Hover color', 'woolentor' ),
1343
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1344
  'type' => 'color',
1345
  'default'=>'#dc9a0e',
1346
  ),
1347
  array(
1348
  'name' => 'list_btn_bg_color',
1349
  'label' => __( 'List View Button background color', 'woolentor' ),
1350
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1351
  'type' => 'color',
1352
  'default'=>'#ffffff',
1353
  ),
1354
  array(
1355
  'name' => 'list_btn_hover_bg_color',
1356
  'label' => __( 'List View Button hover background color', 'woolentor' ),
1357
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1358
  'type' => 'color',
1359
  'default'=>'#ff3535',
1360
  ),
1368
  array(
1369
  'name' => 'counter_color',
1370
  'label' => __( 'Counter timer color', 'woolentor' ),
1371
+ 'desc' => wp_kses_post( 'Default Color for universal layout.', 'woolentor' ),
1372
  'type' => 'color',
1373
  'default'=>'#ffffff',
1374
  ),
1404
  ];
1405
  }
1406
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1407
 
1408
  return array_merge( $settings_fields );
1409
  }
1411
 
1412
  function plugin_page() {
1413
 
1414
+ echo '<div class="wrap">';
1415
+ echo '<h2>'.esc_html__( 'Woolentor Settings','woolentor' ).'</h2>';
1416
+ $this->save_message();
1417
+ $this->settings_api->show_navigation();
1418
+ $this->settings_api->show_forms();
 
 
 
 
 
 
 
1419
  echo '</div>';
1420
 
1421
  }
1429
  }
1430
  }
1431
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1432
  // Custom Markup
1433
 
1434
  // HTML Style tab Section
1436
  ob_start();
1437
  ?>
1438
  <div class="woolentor-style-tab-title">
1439
+ <h3><?php esc_html_e( 'Universal layout style options', 'woolentor-pro' );?></h3>
1440
  </div>
1441
  <?php
1442
  echo ob_get_clean();
1448
  ?>
1449
  <div class="woolentor-style-tab-bottom">
1450
  <h3><?php echo esc_html__( 'Helping Screenshot:', 'woolentor' ); ?></h3>
1451
+ <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/universal-layout-screen.png" alt="<?php echo esc_attr__( 'Universal layout', 'woolentor' ); ?>">
1452
  </div>
1453
  <?php
1454
  echo ob_get_clean();
1462
 
1463
  <div class="woolentor-document-section">
1464
  <div class="woolentor-column">
1465
+ <a href="https://hasthemes.com/blog-category/woolentor/" target="_blank">
1466
+ <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/video-tutorial.jpg" alt="<?php esc_attr_e( 'Video Tutorial', 'woolentor' ); ?>">
1467
  </a>
1468
  </div>
1469
  <div class="woolentor-column">
1470
  <a href="https://demo.hasthemes.com/doc/woolentor/index.html" target="_blank">
1471
+ <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/online-documentation.jpg" alt="<?php esc_attr_e( 'Online Documentation', 'woolentor' ); ?>">
1472
  </a>
1473
  </div>
1474
  <div class="woolentor-column">
1475
  <a href="https://hasthemes.com/contact-us/" target="_blank">
1476
+ <img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/genral-contact-us.jpg" alt="<?php esc_attr_e( 'Contact Us', 'woolentor' ); ?>">
1477
  </a>
1478
  </div>
1479
  </div>
1498
  <li class="wldel"><del><?php echo esc_html__( 'My Account Page Builder', 'woolentor' ); ?></del></li>
1499
  <li class="wldel"><del><?php echo esc_html__( 'My Account Login page Builder', 'woolentor' ); ?></del></li>
1500
  </ul>
1501
+ <a class="button button-primary" href="<?php echo esc_url( admin_url() ); ?>plugin-install.php?s=woolentor-addons&tab=search&type=term" target="_blank"><?php echo esc_html__( 'Install Now', 'woolenror' ); ?></a>
1502
  </div>
1503
  <div class="features-list-area">
1504
  <h3><?php echo esc_html__( 'WooLentor Pro', 'woolentor' ); ?></h3>
1516
  <li><?php echo esc_html__( 'My Account Page Builder', 'woolentor' ); ?></li>
1517
  <li><?php echo esc_html__( 'My Account Login page Builder', 'woolentor' ); ?></li>
1518
  </ul>
1519
+ <a class="button button-primary" href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd" target="_blank"><?php echo esc_html__( 'Buy Now', 'woolenror' ); ?></a>
1520
  </div>
1521
  </div>
1522
 
1536
  <span><i class="dashicons dashicons-warning"></i></span>
1537
  <p>
1538
  <?php
1539
+ echo __('Purchase our','woolentor').' <strong><a href="'.esc_url( 'https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd' ).'" target="_blank" rel="nofollow">'.__( 'premium version', 'woolentor' ).'</a></strong> '.__('to unlock these pro elements!','woolentor');
1540
  ?>
1541
  </p>
1542
  </div>
1575
  <div class="woolentor-themes-area">
1576
  <div class="woolentor-themes-row">
1577
 
1578
+ <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/99fy.png" alt="">
1579
  <div class="woolentor-theme-content">
1580
  <h3><?php echo esc_html__( '99Fy - Free', 'woolentor' ); ?></h3>
1581
  <p><?php echo esc_html__( '99fy is a free WooCommerce theme. 99 demos for 24 niche categories are included in this theme.', 'woolentor' ); ?></p>
1584
  </div>
1585
  </div>
1586
 
1587
+ <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/parlo.png" alt="">
1588
  <div class="woolentor-theme-content">
1589
  <h3><?php echo esc_html__( 'Parlo - Free', 'woolentor' ); ?></h3>
1590
  <p><?php echo esc_html__( 'Parlo is a free WooCommerce theme developed by our team. You can use this for your store.', 'woolentor' );?></p>
1593
  </div>
1594
  </div>
1595
 
1596
+ <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/99fy-pro.png" alt="">
1597
  <div class="woolentor-theme-content">
1598
  <h3><?php echo esc_html__( '99Fy Pro - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1599
  <p><?php echo esc_html__( 'Pro version of 99fy is included in WooLentor pro. It will save money for the WooLentor pro users.', 'woolentor' ); ?></p>
1601
  </div>
1602
  </div>
1603
 
1604
+ <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/flone.png" alt="">
1605
  <div class="woolentor-theme-content">
1606
  <h3><?php echo esc_html__( 'Flone - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1607
  <p><?php echo esc_html__( 'Flone is one of our most popular WooComemrce Themes using by 1000+ stores.', 'wooLentor' );?></p>
1609
  </div>
1610
  </div>
1611
 
1612
+ <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/parlo.png" alt="">
1613
  <div class="woolentor-theme-content">
1614
  <h3><?php echo esc_html__( 'Parlo Pro - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1615
  <p><?php echo esc_html__( 'Pro version of Parlo is included in WooLentor pro. It will save money for the WooLentor pro users.', 'wooLentor' );?></p>
1617
  </div>
1618
  </div>
1619
 
1620
+ <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/holmes.png" alt="">
1621
  <div class="woolentor-theme-content">
1622
  <h3><?php echo esc_html__( 'Holmes - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1623
+ <p><?php echo esc_html__( 'Holmes is a preimum woocommerce theme included in WooLentor pro. It will save money for the WooLentor pro users.', 'woolentor' );?></p>
1624
  <a href="http://demo.hasthemes.com/wp/holmes-preview.html" class="woolentor-button" target="_blank"><?php echo esc_html__( 'Preview', 'woolentor' ); ?></a>
1625
  </div>
1626
  </div>
1627
 
1628
+ <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/daniel-home-1.png" alt="">
1629
  <div class="woolentor-theme-content">
1630
  <h3><?php echo esc_html__( 'Daniel - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1631
+ <p><?php echo esc_html__( 'Daniel is a preimum woocommerce theme included in WooLentor pro. It will save money for the WooLentor pro users.', 'woolentor' ); ?></p>
1632
  <a href="http://demo.hasthemes.com/wp/daniel-preview.html" class="woolentor-button" target="_blank"><?php echo esc_html__( 'Preview', 'woolentor' ); ?></a>
1633
  </div>
1634
  </div>
1635
 
1636
+ <div class="woolentor-single-theme"><img src="<?php echo WOOLENTOR_ADDONS_PL_URL; ?>/includes/admin/assets/images/hurst-home-1.png" alt="">
1637
  <div class="woolentor-theme-content">
1638
  <h3><?php echo esc_html__( 'Hurst - included in WooLentor Pro', 'woolentor' ); ?> <span><?php echo esc_html__( '( Pro )', 'woolentor' ); ?></span></h3>
1639
+ <p><?php echo esc_html__( 'Hurst is a preimum woocommerce theme included in WooLentor pro. It will save money for the WooLentor pro users.', 'woolentor' ); ?></p>
1640
  <a href="http://demo.hasthemes.com/wp/hurst-preview.html" class="woolentor-button" target="_blank"><?php echo esc_html__( 'Preview', 'woolentor' ); ?></a>
1641
  </div>
1642
  </div>
1654
  ?>
1655
  <div class="woolentor-admin-tab-area">
1656
  <ul class="woolentor-admin-tabs">
1657
+ <li><a href="#oneyear" class="wlactive"><?php echo esc_html__( 'One Year', 'woolentor' ); ?></a></li>
1658
+ <li><a href="#lifetime"><?php echo esc_html__( 'Life Time', 'woolentor' ); ?></a></li>
1659
  </ul>
1660
  </div>
1661
 
1662
+ <div id="oneyear" class="woolentor-admin-tab-pane wlactive">
1663
  <div class="woolentor-admin-row">
1664
 
1665
  <div class="woolentor-price-plan">
1666
+ <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd" target="_blank"><img src="https://demo.hasthemes.com/pricing-plan/one_year_single_website.png" alt="<?php echo esc_attr__( 'One Year Single Website','woolentor' );?>"></a>
1667
  </div>
1668
 
1669
  <div class="woolentor-price-plan">
1670
+ <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd" target="_blank"><img src="https://demo.hasthemes.com/pricing-plan/one_year_elementor_guru.png" alt="<?php echo esc_attr__( 'One Year Unlimited Website','woolentor' );?>"></a>
1671
  </div>
1672
 
1673
  <div class="woolentor-price-plan">
1674
+ <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd" target="_blank"><img src="https://demo.hasthemes.com/pricing-plan/one_year_wpbundle.png" alt="<?php echo esc_attr__( 'One Year Unlimited Websites','woolentor' );?>"></a>
1675
  </div>
1676
 
1677
  </div>
1678
  </div>
1679
 
1680
+ <div id="lifetime" class="woolentor-admin-tab-pane">
1681
 
1682
  <div class="woolentor-admin-row">
1683
  <div class="woolentor-price-plan">
1684
+ <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd" target="_blank"><img src="https://demo.hasthemes.com/pricing-plan/life_time_single_website.png" alt="<?php echo esc_attr__( 'Life Time Single Website','woolentor' );?>"></a>
1685
  </div>
1686
 
1687
  <div class="woolentor-price-plan">
1688
+ <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd" target="_blank"><img src="https://demo.hasthemes.com/pricing-plan/life_time_elementor_guru.png" alt="<?php echo esc_attr__( 'Life time Unlimited Website','woolentor' );?>"></a>
1689
  </div>
1690
 
1691
  <div class="woolentor-price-plan">
1692
+ <a href="https://hasthemes.com/plugins/woolentor-pro-woocommerce-page-builder/?fd" target="_blank"><img src="https://demo.hasthemes.com/pricing-plan/life_time_wpbundle.png" alt="<?php echo esc_attr__( 'Life Time Unlimited Websites','woolentor' );?>"></a>
1693
  </div>
1694
  </div>
1695
 
includes/admin/include/class.extension-manager.php DELETED
@@ -1,364 +0,0 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.
3
-
4
- class Woolentor_Extension_Manager{
5
-
6
- // Get Instance
7
- private static $_instance = null;
8
- public static function instance(){
9
- if( is_null( self::$_instance ) ){
10
- self::$_instance = new self();
11
- }
12
- return self::$_instance;
13
- }
14
-
15
- function __construct(){
16
- if( is_admin() ){
17
- add_action( 'admin_menu', [ $this, 'admin_menu' ], 225 );
18
- add_action( 'admin_enqueue_scripts', [ $this, 'scripts' ] );
19
- }
20
- }
21
-
22
- // Menu for Extension
23
- public function admin_menu() {
24
- add_submenu_page(
25
- 'woolentor_page',
26
- esc_html__( 'Extension', 'woolentor' ),
27
- esc_html__( 'Extension', 'woolentor' ),
28
- 'manage_options',
29
- 'woolentor_extension',
30
- [ $this, 'render_html' ]
31
- );
32
- }
33
-
34
- public function scripts( $hook ) {
35
- if( 'woolentor_page_woolentor_extension' == $hook ){
36
-
37
- //JS
38
- wp_enqueue_script( 'woolentor-install-manager' );
39
- wp_enqueue_script( 'woolentor-admin-main' );
40
-
41
- }
42
- }
43
-
44
- // Extension Menu HTML
45
- public function render_html(){
46
-
47
- if ( ! function_exists('plugins_api') ){ include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); }
48
-
49
- $htplugins_plugins_list = !empty( $this->get_plugins() ) ? $this->get_plugins() : array();
50
- $palscode_plugins_list = !empty( $this->get_plugins( 'palscode' ) ) ? $this->get_plugins( 'palscode' ) : array();
51
-
52
- $org_plugins_list = array_merge( $htplugins_plugins_list, $palscode_plugins_list );
53
-
54
- $prepare_plugin = array();
55
- foreach ( $org_plugins_list as $key => $plugin ) {
56
- $prepare_plugin[$plugin['slug']] = $plugin;
57
- }
58
-
59
- $plugins_list = array(
60
-
61
- 'free' => array(
62
-
63
- array(
64
- 'slug' => 'wishsuite',
65
- 'location' => 'wishsuite.php',
66
- 'name' => esc_html__( 'WishSuite', 'woolentor' )
67
- ),
68
- array(
69
- 'slug' => 'ever-compare',
70
- 'location' => 'ever-compare.php',
71
- 'name' => esc_html__( 'EverCompare', 'woolentor' )
72
- ),
73
- array(
74
- 'slug' => 'whols',
75
- 'location' => 'whols.php',
76
- 'name' => esc_html__( 'Whols', 'woolentor' )
77
- ),
78
- array(
79
- 'slug' => 'just-tables',
80
- 'location' => 'just-tables.php',
81
- 'name' => esc_html__( 'JustTables', 'woolentor' )
82
- ),
83
- array(
84
- 'slug' => 'wc-multi-currency',
85
- 'location' => 'wcmilticurrency.php',
86
- 'name' => esc_html__( 'Multi Currency', 'woolentor' )
87
- )
88
-
89
- ),
90
-
91
- 'pro' => array(
92
-
93
- array(
94
- 'slug' => 'just-tables-pro',
95
- 'location' => 'just-tables-pro.php',
96
- 'name' => esc_html__( 'JustTables Pro', 'woolentor' ),
97
- 'link' => 'https://hasthemes.com/wp/justtables/',
98
- 'author_link'=> 'https://hasthemes.com/',
99
- 'description'=> esc_html__( 'JustTables is an incredible WordPress plugin that lets you showcase all your WooCommerce products in a sortable and filterable table view. It allows your customers to easily navigate through different attributes of the products and compare them on a single page. This plugin will be of great help if you are looking for an easy solution that increases the chances of landing a sale on your online store.', 'woolentor' ),
100
- ),
101
-
102
- array(
103
- 'slug' => 'whols-pro',
104
- 'location' => 'whols-pro.php',
105
- 'name' => esc_html__( 'Whols Pro – WooCommerce Wholesale Prices', 'woolentor' ),
106
- 'link' => 'https://hasthemes.com/plugins/whols-woocommerce-wholesale-prices/',
107
- 'author_link'=> 'https://hasthemes.com/',
108
- 'description'=> esc_html__( 'Whols is an outstanding WordPress plugin for WooCommerce that allows store owners to set wholesale prices for the products of their online stores. This plugin enables you to show special wholesale prices to the wholesaler. Users can easily request to become a wholesale customer by filling out a simple online registration form. Once the registration is complete, the owner of the store will be able to review the request and approve the request either manually or automatically.', 'woolentor' ),
109
- ),
110
-
111
- array(
112
- 'slug' => 'multicurrencypro',
113
- 'location' => 'multicurrencypro.php',
114
- 'name' => esc_html__( 'Multi Currency Pro for WooCommerce', 'woolentor' ),
115
- 'link' => 'https://hasthemes.com/plugins/multi-currency-pro-for-woocommerce/',
116
- 'author_link'=> 'https://hasthemes.com/',
117
- 'description'=> esc_html__( 'Multi-Currency Pro for WooCommerce is a prominent currency switcher plugin for WooCommerce. This plugin allows your website or online store visitors to switch to their preferred currency or their country’s currency.', 'woolentor' ),
118
- ),
119
-
120
- array(
121
- 'slug' => 'email-candy-pro',
122
- 'location' => 'email-candy-pro.php',
123
- 'name' => esc_html__( 'Email Candy Pro - Email customizer for WooCommerce', 'woolentor' ),
124
- 'link' => 'https://hasthemes.com/plugins/email-candy-pro/',
125
- 'author_link'=> 'https://hasthemes.com/',
126
- 'description'=> esc_html__( 'Email Candy is an outstanding WordPress plugin that allows you to customize the default WooCommerce email templates and give a professional look to your WooCommerce emails. If you are tired of using the boring design of WooCommerce emails and want to create customized emails, then this plugin will come in handy.', 'woolentor' ),
127
- ),
128
-
129
- ),
130
- );
131
-
132
- echo '<div class="wrap"><h2>'.get_admin_page_title().'</h2>';
133
-
134
- ?>
135
- <style>
136
- .woolentor-admin-tab-pane{
137
- display: none;
138
- }
139
- .woolentor-admin-tab-pane.wlactive{
140
- display: block;
141
- }
142
- .extension-admin-tab-area .filter-links li>a:focus, .extension-admin-tab-area .filter-links li>a:hover {
143
- color: inherit;
144
- box-shadow: none;
145
- }
146
- .filter-links .wlactive{
147
- box-shadow: none;
148
- border-bottom: 4px solid #646970;
149
- color: #1d2327;
150
- }
151
- .downloaded-count{
152
- display: block;
153
- margin-top:5px;
154
- }
155
- </style>
156
- <div class="extension-admin-tab-area wp-filter">
157
- <ul class="woolentor-admin-tabs filter-links">
158
- <li><a href="#free-extension" class="wlactive"><?php echo esc_html__( 'Free extension', 'woolentor' ); ?></a></li>
159
- <li><a href="#pro-extension"><?php echo esc_html__( 'Pro extension', 'woolentor' ); ?></a></li>
160
- </ul>
161
- </div>
162
-
163
- <div id="pro-extension" class="woolentor-admin-tab-pane">
164
- <?php
165
- foreach ( $plugins_list['pro'] as $key => $plugin ) {
166
-
167
- $data = array(
168
- 'slug' => isset( $plugin['slug'] ) ? $plugin['slug'] : '',
169
- 'location' => isset( $plugin['location'] ) ? $plugin['slug'].'/'.$plugin['location'] : '',
170
- 'name' => isset( $plugin['name'] ) ? $plugin['name'] : '',
171
- 'image' => isset( $plugin['icon'] ) ? $plugin['icon'] : WOOLENTOR_ADDONS_PL_URL.'/includes/admin/assets/images/extension/'.$plugin['slug'].'.png',
172
- );
173
-
174
- if ( ! is_wp_error( $data ) ) {
175
-
176
- // Installed but Inactive.
177
- if ( file_exists( WP_PLUGIN_DIR . '/' . $data['location'] ) && is_plugin_inactive( $data['location'] ) ) {
178
-
179
- $button_classes = 'button activate-now button-primary';
180
- $button_text = esc_html__( 'Activate', 'woolentor' );
181
-
182
- // Not Installed.
183
- } elseif ( ! file_exists( WP_PLUGIN_DIR . '/' . $data['location'] ) ) {
184
-
185
- $button_classes = 'button install-now';
186
- $button_text = esc_html__( 'Install Now', 'woolentor' );
187
-
188
- // Active.
189
- } else {
190
- $button_classes = 'button disabled';
191
- $button_text = esc_html__( 'Activated', 'woolentor' );
192
- }
193
-
194
- ?>
195
-
196
- <div class="plugin-card htwptemplata-plugin-<?php echo $data['slug']; ?>">
197
-
198
- <div class="plugin-card-top">
199
- <div class="name column-name" style="margin-right: 0;">
200
- <h3>
201
- <a href="<?php echo esc_url( $plugin['link'] ); ?>" target="_blank">
202
- <?php echo $plugin['name']; ?>
203
- <img src="<?php echo $data['image']; ?>" class="plugin-icon" alt="<?php echo $plugin['name']; ?>">
204
- </a>
205
- </h3>
206
- </div>
207
- <div class="desc column-description" style="margin-right: 0;">
208
- <p><?php echo wp_trim_words( $plugin['description'], 23, '....'); ?></p>
209
- <p class="authors">
210
- <cite>
211
- <?php echo esc_html__( 'By ', 'woolentor' ); ?>
212
- <a href="<?php echo esc_url( $plugin['author_link'] ); ?>"><?php echo esc_html__( 'HasThemes', 'woolentor' ); ?></a>
213
- </cite>
214
- </p>
215
- </div>
216
- </div>
217
-
218
- <div class="plugin-card-bottom">
219
- <div class="column-updated">
220
- <?php
221
- if (! file_exists( WP_PLUGIN_DIR . '/' . $data['location'] ) ) {
222
- echo '<a class="button button-primary" href="'.esc_url( $plugin['link'] ).'" target="_blank">'.esc_html__( 'Buy Now', 'woolentor' ).'</a>';
223
- }else{
224
- ?>
225
- <button class="<?php echo $button_classes; ?>" data-pluginopt='<?php echo wp_json_encode( $data ); ?>'><?php echo $button_text; ?></button>
226
- <?php } ?>
227
- </div>
228
- <div class="column-downloaded">
229
- <a href="<?php echo esc_url( $plugin['link'] ) ?>" target="_blank"><?php echo esc_html__( 'More Details', 'woolentor' ); ?></a>
230
- </div>
231
- </div>
232
-
233
- </div>
234
-
235
- <?php
236
-
237
- }
238
-
239
- }
240
- ?>
241
- </div>
242
-
243
- <?php
244
-
245
- echo '<div id="free-extension" class="woolentor-admin-tab-pane wlactive">';
246
-
247
- foreach ( $plugins_list['free'] as $key => $plugin ) {
248
-
249
- $data = array(
250
- 'slug' => isset( $plugin['slug'] ) ? $plugin['slug'] : '',
251
- 'location' => isset( $plugin['location'] ) ? $plugin['slug'].'/'.$plugin['location'] : '',
252
- 'name' => isset( $plugin['name'] ) ? $plugin['name'] : '',
253
- );
254
-
255
- if ( ! is_wp_error( $data ) ) {
256
-
257
- // Installed but Inactive.
258
- if ( file_exists( WP_PLUGIN_DIR . '/' . $data['location'] ) && is_plugin_inactive( $data['location'] ) ) {
259
-
260
- $button_classes = 'button activate-now button-primary';
261
- $button_text = esc_html__( 'Activate', 'woolentor' );
262
-
263
- // Not Installed.
264
- } elseif ( ! file_exists( WP_PLUGIN_DIR . '/' . $data['location'] ) ) {
265
-
266
- $button_classes = 'button install-now';
267
- $button_text = esc_html__( 'Install Now', 'woolentor' );
268
-
269
- // Active.
270
- } else {
271
- $button_classes = 'button disabled';
272
- $button_text = esc_html__( 'Activated', 'woolentor' );
273
- }
274
-
275
- if( !empty( $data['slug'] ) && isset( $prepare_plugin[$data['slug']] ) ){
276
-
277
- ?>
278
-
279
- <div class="plugin-card htwptemplata-plugin-<?php echo $data['slug']; ?>">
280
-
281
- <div class="plugin-card-top">
282
- <div class="name column-name" style="margin-right: 0;">
283
- <h3>
284
- <a href="<?php echo esc_url( admin_url() ) ?>/plugin-install.php?tab=plugin-information&plugin=<?php echo $data['slug']; ?>&TB_iframe=true&width=772&height=577" class="thickbox open-plugin-details-modal">
285
- <?php echo $prepare_plugin[$data['slug']]['name']; ?>
286
- <img src="<?php echo $prepare_plugin[$data['slug']]['icons']['1x']; ?>" class="plugin-icon" alt="<?php echo $prepare_plugin[$data['slug']]['name']; ?>">
287
- </a>
288
- </h3>
289
- </div>
290
- <div class="desc column-description" style="margin-right: 0;">
291
- <p><?php echo wp_trim_words( $prepare_plugin[$data['slug']]['description'], 23, '....'); ?></p>
292
- <p class="authors"> <cite><?php echo esc_html__( 'By ', 'woolentor' ).$prepare_plugin[$data['slug']]['author']; ?></cite></p>
293
- </div>
294
- </div>
295
-
296
- <div class="plugin-card-bottom">
297
- <div class="column-updated">
298
- <button class="<?php echo $button_classes; ?>" data-pluginopt='<?php echo wp_json_encode( $data ); ?>'><?php echo $button_text; ?></button>
299
- </div>
300
- <div class="column-downloaded">
301
- <a href="<?php echo esc_url( admin_url() ) ?>/plugin-install.php?tab=plugin-information&plugin=<?php echo $data['slug']; ?>&TB_iframe=true&width=772&height=577" class="thickbox open-plugin-details-modal"><?php echo esc_html__( 'More Details', 'woolentor' ); ?></a>
302
- <span class="downloaded-count">
303
- <?php
304
- printf( __( '%s Active Installations' ), $this->active_install_count( $prepare_plugin[$data['slug']]['active_installs'] ) );
305
- ?>
306
- </span>
307
- </div>
308
- </div>
309
-
310
- </div>
311
-
312
- <?php
313
- }
314
-
315
- }
316
-
317
- }
318
-
319
- echo '</div>';
320
-
321
- echo '</div>';
322
-
323
-
324
- }
325
-
326
- /**
327
- * [active_install_count] Manage Active install count
328
- * @param [int] $active_installs
329
- * @return [string]
330
- */
331
- public function active_install_count( $active_installs ){
332
-
333
- if ( $active_installs >= 1000000 ) {
334
- $active_installs_millions = floor( $active_installs / 1000000 );
335
- $active_installs_text = sprintf(
336
- /* translators: %s: Number of millions. */
337
- _nx( '%s+ Million', '%s+ Million', $active_installs_millions, 'Active plugin installations' ),
338
- number_format_i18n( $active_installs_millions )
339
- );
340
- } elseif ( 0 === $active_installs ) {
341
- $active_installs_text = _x( 'Less Than 10', 'Active plugin installations' );
342
- } else {
343
- $active_installs_text = number_format_i18n( $active_installs ) . '+';
344
- }
345
- return $active_installs_text;
346
-
347
- }
348
-
349
- /* Get Plugins list from wp.prg */
350
- public function get_plugins( $username = 'htplugins' ){
351
- $transient_var = 'woolentor_htplugins_list_'.$username;
352
- $org_plugins_list = get_transient( $transient_var );
353
- if ( false === $org_plugins_list ) {
354
- $plugins_list_by_authoir = plugins_api( 'query_plugins', array( 'author' => $username, 'per_page'=>100 ) );
355
- set_transient( $transient_var, $plugins_list_by_authoir->plugins, 1 * DAY_IN_SECONDS );
356
- $org_plugins_list = $plugins_list_by_authoir->plugins;
357
- }
358
- return $org_plugins_list;
359
- }
360
-
361
-
362
- }
363
-
364
- Woolentor_Extension_Manager::instance();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/admin/include/class.settings-api.php CHANGED
@@ -102,7 +102,7 @@ class Woolentor_Settings_API {
102
 
103
  if ( isset($section['desc']) && !empty($section['desc']) ) {
104
  $section['desc'] = '<div class="inside">' . $section['desc'] . '</div>';
105
- $callback = function() use ( $section ) { echo str_replace( '"', '\"', $section['desc'] ); };
106
  } else if ( isset( $section['callback'] ) ) {
107
  $callback = $section['callback'];
108
  } else {
@@ -236,7 +236,6 @@ class Woolentor_Settings_API {
236
  $html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" />', $args['section'], $args['id'] );
237
  $html .= sprintf( '<input type="checkbox" class="checkbox" id="htoptions_sp_%1$s[%2$s]" name="%1$s[%2$s]" value="on" %3$s />', $args['section'], $args['id'], checked( $value, 'on', false ) );
238
  $html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s]">%3$s</label>', $args['section'], $args['id'], $args['desc'] );
239
- $html .= sprintf( '<div class="htoption_checkbox_desc" id="htoptions_sp_%1$s[%2$s]">%3$s</div>', $args['section'], $args['id'], $args['desc'] );
240
  $html .= '</fieldset>';
241
 
242
  echo $html;
@@ -437,35 +436,6 @@ class Woolentor_Settings_API {
437
  echo $html;
438
  }
439
 
440
- /**
441
- * Displays a DIMENSIONS for a settings field
442
- *
443
- * @param array $args settings field args
444
- */
445
- function callback_dimensions( $args ) {
446
-
447
- $value = $this->get_option( $args['id'], $args['section'], $args['std'] );
448
- $html = '<fieldset><ul class="htoption_dimensions">';
449
- foreach ( $args['options'] as $key => $label ) {
450
- $new_value = isset( $value[$key] ) ? $value[$key] : '';
451
- $html .= '<li>';
452
-
453
- if( 'unit' === $key ){
454
- $html .= sprintf( '<input type="text" class="dimensionsbox" id="htoptions_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%4$s" />', $args['section'], $args['id'], $key, $new_value );
455
- $html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s][%3$s]">%4$s</label>', $args['section'], $args['id'], $key, $label );
456
- }else{
457
- $html .= sprintf( '<input type="number" class="dimensionsbox" id="htoptions_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%4$s" />', $args['section'], $args['id'], $key, $new_value );
458
- $html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s][%3$s]">%4$s</label>', $args['section'], $args['id'], $key, $label );
459
- }
460
-
461
- $html .= '</li>';
462
- }
463
-
464
- $html .= '</ul>'.$this->get_field_description( $args ).'</fieldset>';
465
-
466
- echo $html;
467
- }
468
-
469
 
470
  /**
471
  * Displays a select box for creating the pages select box
@@ -596,7 +566,7 @@ class Woolentor_Settings_API {
596
  do_action( 'wsa_form_bottom_' . $form['id'], $form );
597
  if ( isset( $this->settings_fields[ $form['id'] ] ) ):
598
  ?>
599
- <div class="wl-submit-button">
600
  <?php submit_button(); ?>
601
  </div>
602
  <?php endif; ?>
@@ -692,16 +662,7 @@ class Woolentor_Settings_API {
692
  // Finally, open the modal
693
  file_frame.open();
694
  });
695
-
696
- // Icon Picker
697
- $('.woolentor_icon_picker .regular-text').fontIconPicker({
698
- source: woolentor_fields.iconset,
699
- emptyIcon: true,
700
- hasSearch: true,
701
- theme: 'fip-bootstrap'
702
- });
703
-
704
- });
705
  </script>
706
  <?php
707
  }
102
 
103
  if ( isset($section['desc']) && !empty($section['desc']) ) {
104
  $section['desc'] = '<div class="inside">' . $section['desc'] . '</div>';
105
+ $callback = create_function('', 'echo "' . str_replace( '"', '\"', $section['desc'] ) . '";');
106
  } else if ( isset( $section['callback'] ) ) {
107
  $callback = $section['callback'];
108
  } else {
236
  $html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" />', $args['section'], $args['id'] );
237
  $html .= sprintf( '<input type="checkbox" class="checkbox" id="htoptions_sp_%1$s[%2$s]" name="%1$s[%2$s]" value="on" %3$s />', $args['section'], $args['id'], checked( $value, 'on', false ) );
238
  $html .= sprintf( '<label for="htoptions_sp_%1$s[%2$s]">%3$s</label>', $args['section'], $args['id'], $args['desc'] );
 
239
  $html .= '</fieldset>';
240
 
241
  echo $html;
436
  echo $html;
437
  }
438
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
439
 
440
  /**
441
  * Displays a select box for creating the pages select box
566
  do_action( 'wsa_form_bottom_' . $form['id'], $form );
567
  if ( isset( $this->settings_fields[ $form['id'] ] ) ):
568
  ?>
569
+ <div class="wl-submit-button" style="padding-left: 10px">
570
  <?php submit_button(); ?>
571
  </div>
572
  <?php endif; ?>
662
  // Finally, open the modal
663
  file_frame.open();
664
  });
665
+ });
 
 
 
 
 
 
 
 
 
666
  </script>
667
  <?php
668
  }
includes/admin/include/template-library.php CHANGED
@@ -5,9 +5,12 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.
5
  class Woolentor_Template_Library{
6
 
7
  const TRANSIENT_KEY = 'woolentor_template_info';
 
8
 
9
- public static $endpoint = 'https://woolentor.com/library/wp-json/woolentor/v1/templates';
10
- public static $templateapi = 'https://woolentor.com/library/wp-json/woolentor/v1/templates/%s';
 
 
11
 
12
  // Get Instance
13
  private static $_instance = null;
@@ -19,6 +22,7 @@ class Woolentor_Template_Library{
19
  }
20
 
21
  function __construct(){
 
22
  if ( is_admin() ) {
23
  add_action( 'admin_menu', [ $this, 'admin_menu' ], 225 );
24
  add_action( 'wp_ajax_woolentor_ajax_request', [ $this, 'templates_ajax_request' ] );
@@ -30,6 +34,11 @@ class Woolentor_Template_Library{
30
 
31
  add_action( 'admin_enqueue_scripts', [ $this, 'scripts' ] );
32
 
 
 
 
 
 
33
  }
34
 
35
  // Setter Endpoint
@@ -62,8 +71,8 @@ class Woolentor_Template_Library{
62
  public function admin_menu() {
63
  add_submenu_page(
64
  'woolentor_page',
65
- esc_html__( 'Template Library', 'woolentor' ),
66
- esc_html__( 'Template Library', 'woolentor' ),
67
  'manage_options',
68
  'woolentor_templates',
69
  [ $this, 'library_render_html' ]
@@ -74,25 +83,25 @@ class Woolentor_Template_Library{
74
  require_once WOOLENTOR_ADDONS_PL_PATH . 'includes/admin/include/templates_list.php';
75
  }
76
 
 
 
 
 
 
77
  public static function request_remote_templates_info( $force_update ) {
78
  global $wp_version;
79
-
80
- $timeout = ( $force_update ) ? 25 : 8;
81
  $request = wp_remote_get(
82
  self::get_api_endpoint(),
83
  [
84
- 'timeout' => $timeout,
85
- 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url()
 
 
86
  ]
87
  );
88
-
89
- if ( is_wp_error( $request ) || 200 !== (int) wp_remote_retrieve_response_code( $request ) ) {
90
- return [];
91
- }
92
-
93
  $response = json_decode( wp_remote_retrieve_body( $request ), true );
94
  return $response;
95
-
96
  }
97
 
98
  /**
@@ -100,12 +109,12 @@ class Woolentor_Template_Library{
100
  */
101
  public static function set_templates_info( $force_update = false ) {
102
  $transient = get_transient( self::TRANSIENT_KEY );
 
103
  if ( ! $transient || $force_update ) {
104
- if( isset( $_GET['page'] ) && 'woolentor_templates' === $_GET['page'] ){
105
- $info = self::request_remote_templates_info( $force_update );
106
- set_transient( self::TRANSIENT_KEY, $info, DAY_IN_SECONDS );
107
- }
108
  }
 
109
  }
110
 
111
  /**
@@ -146,73 +155,53 @@ class Woolentor_Template_Library{
146
  */
147
  public function templates_ajax_request(){
148
 
149
- if ( ! current_user_can( 'manage_options') ) {
150
- echo json_encode(
151
- array(
152
- 'message' => esc_html__( 'You are not permitted to import the template.', 'woolentor' )
153
- )
154
- );
155
- }else{
156
- if ( isset( $_REQUEST ) ) {
157
-
158
- $template_id = sanitize_text_field( $_REQUEST['httemplateid'] );
159
- $template_parentid = sanitize_text_field( $_REQUEST['htparentid'] );
160
- $template_title = sanitize_text_field( $_REQUEST['httitle'] );
161
- $page_title = sanitize_text_field( $_REQUEST['pagetitle'] );
162
-
163
- $templateurl = sprintf( self::get_api_templateapi(), $template_id );
164
- $response_data = $this->templates_get_content_remote_request( $templateurl );
165
- $defaulttitle = ucfirst( $template_parentid ) .' -> '.$template_title;
166
-
167
-
168
- $args = [
169
- 'post_type' => !empty( $page_title ) ? 'page' : 'elementor_library',
170
- 'post_status' => !empty( $page_title ) ? 'draft' : 'publish',
171
- 'post_title' => !empty( $page_title ) ? $page_title : $defaulttitle,
172
- 'post_content' => '',
173
- ];
174
-
175
- $new_post_id = wp_insert_post( $args );
176
-
177
- update_post_meta( $new_post_id, '_elementor_data', $response_data['content']['content'] );
178
- update_post_meta( $new_post_id, '_elementor_template_type', $response_data['type'] );
179
- update_post_meta( $new_post_id, '_elementor_edit_mode', 'builder' );
180
-
181
- if( isset( $response_data['page_settings'] ) ){
182
- update_post_meta( $new_post_id, '_elementor_page_settings', $response_data['page_settings'] );
183
- }
184
 
185
- if ( $new_post_id && ! is_wp_error( $new_post_id ) ) {
186
- update_post_meta( $new_post_id, '_wp_page_template', !empty( $response_data['page_template'] ) ? $response_data['page_template'] : 'elementor_canvas' );
187
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
188
 
189
- echo json_encode(
190
- array(
191
- 'id' => $new_post_id,
192
- 'edittxt' => !empty( $page_title ) ? esc_html__( 'Edit Page', 'woolentor' ) : esc_html__( 'Edit Template', 'woolentor' )
193
- )
194
- );
 
195
  }
 
 
 
 
 
 
 
196
  }
197
 
198
  wp_die();
199
  }
200
 
201
  public function templates_get_content_remote_request( $templateurl ){
202
- global $wp_version;
203
-
204
- $response = wp_remote_get( $templateurl, array(
205
- 'timeout' => 25,
206
- 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url()
207
  ) );
208
-
209
- if ( is_wp_error( $response ) || 200 !== (int) wp_remote_retrieve_response_code( $response ) ) {
210
- return [];
211
- }
212
-
213
  $result = json_decode( wp_remote_retrieve_body( $response ), true );
214
  return $result;
215
-
216
  }
217
 
218
  /*
@@ -220,9 +209,9 @@ class Woolentor_Templ
5
  class Woolentor_Template_Library{
6
 
7
  const TRANSIENT_KEY = 'woolentor_template_info';
8
+ public static $buylink = null;
9
 
10
+ public static $endpoint = WOOLENTOR_ADDONS_PL_URL . 'includes/admin/json/layoutinfofree.json';
11
+ public static $templateapi = 'https://api.hasthemes.com/api/woolentor/layouts-free-89123/%s.json';
12
+
13
+ public static $api_args = [];
14
 
15
  // Get Instance
16
  private static $_instance = null;
22
  }
23
 
24
  function __construct(){
25
+ self::$buylink = isset( $this->get_templates_info()['pro_link'][0]['url']) ? $this->get_templates_info()['pro_link'][0]['url'] : '#';
26
  if ( is_admin() ) {
27
  add_action( 'admin_menu', [ $this, 'admin_menu' ], 225 );
28
  add_action( 'wp_ajax_woolentor_ajax_request', [ $this, 'templates_ajax_request' ] );
34
 
35
  add_action( 'admin_enqueue_scripts', [ $this, 'scripts' ] );
36
 
37
+ self::$api_args = [
38
+ 'plugin_version' => WOOLENTOR_VERSION,
39
+ 'url' => home_url(),
40
+ ];
41
+
42
  }
43
 
44
  // Setter Endpoint
71
  public function admin_menu() {
72
  add_submenu_page(
73
  'woolentor_page',
74
+ esc_html__( 'Templates Library', 'woolentor' ),
75
+ esc_html__( 'Templates Library', 'woolentor' ),
76
  'manage_options',
77
  'woolentor_templates',
78
  [ $this, 'library_render_html' ]
83
  require_once WOOLENTOR_ADDONS_PL_PATH . 'includes/admin/include/templates_list.php';
84
  }
85
 
86
+ // Get Buy Now link
87
+ public function get_pro_link(){
88
+ return self::$buylink;
89
+ }
90
+
91
  public static function request_remote_templates_info( $force_update ) {
92
  global $wp_version;
93
+ $body_args = apply_filters( 'httemplates/api/get_templates/body_args', self::$api_args );
 
94
  $request = wp_remote_get(
95
  self::get_api_endpoint(),
96
  [
97
+ 'timeout' => $force_update ? 25 : 10,
98
+ 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url(),
99
+ 'body' => $body_args,
100
+ 'sslverify' => false,
101
  ]
102
  );
 
 
 
 
 
103
  $response = json_decode( wp_remote_retrieve_body( $request ), true );
104
  return $response;
 
105
  }
106
 
107
  /**
109
  */
110
  public static function set_templates_info( $force_update = false ) {
111
  $transient = get_transient( self::TRANSIENT_KEY );
112
+
113
  if ( ! $transient || $force_update ) {
114
+ $info = self::request_remote_templates_info( $force_update );
115
+ set_transient( self::TRANSIENT_KEY, $info, DAY_IN_SECONDS );
 
 
116
  }
117
+
118
  }
119
 
120
  /**
155
  */
156
  public function templates_ajax_request(){
157
 
158
+ if ( isset( $_REQUEST ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
159
 
160
+ $template_id = $_REQUEST['httemplateid'];
161
+ $template_parentid = $_REQUEST['htparentid'];
162
+ $template_title = $_REQUEST['httitle'];
163
+ $page_title = $_REQUEST['pagetitle'];
164
+
165
+ $templateurl = sprintf( self::get_api_templateapi(), $template_id );
166
+ $response_data = $this->templates_get_content_remote_request( $templateurl );
167
+ $defaulttitle = ucfirst( $template_parentid ) .' -> '.$template_title;
168
+
169
+ $args = [
170
+ 'post_type' => !empty( $page_title ) ? 'page' : 'elementor_library',
171
+ 'post_status' => !empty( $page_title ) ? 'draft' : 'publish',
172
+ 'post_title' => !empty( $page_title ) ? $page_title : $defaulttitle,
173
+ 'post_content' => '',
174
+ ];
175
+ $new_post_id = wp_insert_post( $args );
176
 
177
+ update_post_meta( $new_post_id, '_elementor_data', $response_data['content'] );
178
+ update_post_meta( $new_post_id, '_elementor_page_settings', $response_data['page_settings'] );
179
+ update_post_meta( $new_post_id, '_elementor_template_type', $response_data['type'] );
180
+ update_post_meta( $new_post_id, '_elementor_edit_mode', 'builder' );
181
+
182
+ if ( $new_post_id && ! is_wp_error( $new_post_id ) ) {
183
+ update_post_meta( $new_post_id, '_wp_page_template', !empty( $response_data['page_template'] ) ? $response_data['page_template'] : 'elementor_canvas' );
184
  }
185
+
186
+ echo json_encode(
187
+ array(
188
+ 'id' => $new_post_id,
189
+ 'edittxt' => !empty( $page_title ) ? esc_html__( 'Edit Page', 'woolentor' ) : esc_html__( 'Edit Template', 'woolentor' )
190
+ )
191
+ );
192
  }
193
 
194
  wp_die();
195
  }
196
 
197
  public function templates_get_content_remote_request( $templateurl ){
198
+ $url = $templateurl;
199
+ $response = wp_remote_get( $url, array(
200
+ 'timeout' => 60,
201
+ 'sslverify' => false
 
202
  ) );
 
 
 
 
 
203
  $result = json_decode( wp_remote_retrieve_body( $response ), true );
204
  return $result;
 
205
  }
206
 
207
  /*