(function($){
'use strict';
/**
* All of the code for your public-facing JavaScript source
* should reside in this file.
*
* Note: It has been assumed you will write jQuery code here, so the
* $ function reference has been prepared for usage within the scope
* of this function.
*
* This enables you to define handlers, for when the DOM is ready:
*
* $(function(){
*
* });
*
* When the window is loaded:
*
* $(window).load(function(){
*
* });
*
* ...and/or other possibilities.
*
* Ideally, it is not considered best practise to attach more than a
* single DOM-ready or window-load handler for a particular page.
* Although scripts in the WordPress core, Plugins and Themes may be
* practising this, we should strive to set a better example in our own work.
*/
})(jQuery);
;(function(){
"use strict";
function setup($){
$.fn._fadeIn=$.fn.fadeIn;
var noOp=$.noop||function(){};
var msie=/MSIE/.test(navigator.userAgent);
var ie6=/MSIE 6.0/.test(navigator.userAgent)&&! /MSIE 8.0/.test(navigator.userAgent);
var mode=document.documentMode||0;
var setExpr='function'===typeof document.createElement('div').style.setExpression ? document.createElement('div').style.setExpression:false;
$.blockUI=function(opts){ install(window, opts); };
$.unblockUI=function(opts){ remove(window, opts); };
$.growlUI=function(title, message, timeout, onClose){
var $m=$('<div class="growlUI"></div>');
if(title) $m.append('<h1>'+title+'</h1>');
if(message) $m.append('<h2>'+message+'</h2>');
if(timeout===undefined) timeout=3000;
var callBlock=function(opts){
opts=opts||{};
$.blockUI({
message: $m,
fadeIn:typeof opts.fadeIn!=='undefined' ? opts.fadeIn:700,
fadeOut: typeof opts.fadeOut!=='undefined' ? opts.fadeOut:1000,
timeout: typeof opts.timeout!=='undefined' ? opts.timeout:timeout,
centerY: false,
showOverlay: false,
onUnblock: onClose,
css: $.blockUI.defaults.growlCSS
});
};
callBlock();
var nonmousedOpacity=$m.css('opacity');
$m.on('mouseover', function(){
callBlock({
fadeIn: 0,
timeout: 30000
});
var displayBlock=$('.blockMsg');
displayBlock.stop();
displayBlock.fadeTo(300, 1);
}).on('mouseout', function(){
$('.blockMsg').fadeOut(1000);
});
};
$.fn.block=function(opts){
if(this[0]===window){
$.blockUI(opts);
return this;
}
var fullOpts=$.extend({}, $.blockUI.defaults, opts||{});
this.each(function(){
var $el=$(this);
if(fullOpts.ignoreIfBlocked&&$el.data('blockUI.isBlocked'))
return;
$el.unblock({ fadeOut: 0 });
});
return this.each(function(){
if($.css(this,'position')=='static'){
this.style.position='relative';
$(this).data('blockUI.static', true);
}
this.style.zoom=1;
install(this, opts);
});
};
$.fn.unblock=function(opts){
if(this[0]===window){
$.unblockUI(opts);
return this;
}
return this.each(function(){
remove(this, opts);
});
};
$.blockUI.version=2.70;
$.blockUI.defaults={
message:  '<h1>Please wait...</h1>',
title: null,
draggable: true,
theme: false,
css: {
padding:	0,
margin:		0,
width:		'30%',
top:		'40%',
left:		'35%',
textAlign:	'center',
color:		'#000',
border:		'3px solid #aaa',
backgroundColor:'#fff',
cursor:		'wait'
},
themedCSS: {
width:	'30%',
top:	'40%',
left:	'35%'
},
overlayCSS:  {
backgroundColor:	'#000',
opacity:			0.6,
cursor:				'wait'
},
cursorReset: 'default',
growlCSS: {
width:		'350px',
top:		'10px',
left:		'',
right:		'10px',
border:		'none',
padding:	'5px',
opacity:	0.6,
cursor:		'default',
color:		'#fff',
backgroundColor: '#000',
'-webkit-border-radius':'10px',
'-moz-border-radius':	'10px',
'border-radius':		'10px'
},
iframeSrc: /^https/i.test(window.location.href||'') ? 'javascript:false':'about:blank',
forceIframe: false,
baseZ: 1000,
centerX: true,
centerY: true,
allowBodyStretch: true,
bindEvents: true,
constrainTabKey: true,
fadeIn:  200,
fadeOut:  400,
timeout: 0,
showOverlay: true,
focusInput: true,
focusableElements: ':input:enabled:visible',
onBlock: null,
onUnblock: null,
onOverlayClick: null,
quirksmodeOffsetHack: 4,
blockMsgClass: 'blockMsg',
ignoreIfBlocked: false
};
var pageBlock=null;
var pageBlockEls=[];
function install(el, opts){
var css, themedCSS;
var full=(el==window);
var msg=(opts&&opts.message!==undefined ? opts.message:undefined);
opts=$.extend({}, $.blockUI.defaults, opts||{});
if(opts.ignoreIfBlocked&&$(el).data('blockUI.isBlocked'))
return;
opts.overlayCSS=$.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS||{});
css=$.extend({}, $.blockUI.defaults.css, opts.css||{});
if(opts.onOverlayClick)
opts.overlayCSS.cursor='pointer';
themedCSS=$.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS||{});
msg=msg===undefined ? opts.message:msg;
if(full&&pageBlock)
remove(window, {fadeOut:0});
if(msg&&typeof msg!='string'&&(msg.parentNode||msg.jquery)){
var node=msg.jquery ? msg[0]:msg;
var data={};
$(el).data('blockUI.history', data);
data.el=node;
data.parent=node.parentNode;
data.display=node.style.display;
data.position=node.style.position;
if(data.parent)
data.parent.removeChild(node);
}
$(el).data('blockUI.onUnblock', opts.onUnblock);
var z=opts.baseZ;
var lyr1, lyr2, lyr3, s;
if(msie||opts.forceIframe)
lyr1=$('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>');
else
lyr1=$('<div class="blockUI" style="display:none"></div>');
if(opts.theme)
lyr2=$('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+ (z++) +';display:none"></div>');
else
lyr2=$('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
if(opts.theme&&full){
s='<div class="blockUI ' + opts.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:fixed">';
if(opts.title){
s +='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title||'&nbsp;')+'</div>';
}
s +='<div class="ui-widget-content ui-dialog-content"></div>';
s +='</div>';
}
else if(opts.theme){
s='<div class="blockUI ' + opts.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:absolute">';
if(opts.title){
s +='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title||'&nbsp;')+'</div>';
}
s +='<div class="ui-widget-content ui-dialog-content"></div>';
s +='</div>';
}
else if(full){
s='<div class="blockUI ' + opts.blockMsgClass + ' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>';
}else{
s='<div class="blockUI ' + opts.blockMsgClass + ' blockElement" style="z-index:'+(z+10)+';display:none;position:absolute"></div>';
}
lyr3=$(s);
if(msg){
if(opts.theme){
lyr3.css(themedCSS);
lyr3.addClass('ui-widget-content');
}
else
lyr3.css(css);
}
if(!opts.theme )
lyr2.css(opts.overlayCSS);
lyr2.css('position', full ? 'fixed':'absolute');
if(msie||opts.forceIframe)
lyr1.css('opacity',0.0);
var layers=[lyr1,lyr2,lyr3], $par=full ? $('body'):$(el);
$.each(layers, function(){
this.appendTo($par);
});
if(opts.theme&&opts.draggable&&$.fn.draggable){
lyr3.draggable({
handle: '.ui-dialog-titlebar',
cancel: 'li'
});
}
var expr=setExpr&&(!$.support.boxModel||$('object,embed', full ? null:el).length > 0);
if(ie6||expr){
if(full&&opts.allowBodyStretch&&$.support.boxModel)
$('html,body').css('height','100%');
if((ie6||!$.support.boxModel)&&!full){
var t=sz(el,'borderTopWidth'), l=sz(el,'borderLeftWidth');
var fixT=t ? '(0 - '+t+')':0;
var fixL=l ? '(0 - '+l+')':0;
}
$.each(layers, function(i,o){
var s=o[0].style;
s.position='absolute';
if(i < 2){
if(full)
s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"');
else
s.setExpression('height','this.parentNode.offsetHeight + "px"');
if(full)
s.setExpression('width','jQuery.support.boxModel&&document.documentElement.clientWidth||document.body.clientWidth + "px"');
else
s.setExpression('width','this.parentNode.offsetWidth + "px"');
if(fixL) s.setExpression('left', fixL);
if(fixT) s.setExpression('top', fixT);
}
else if(opts.centerY){
if(full) s.setExpression('top','(document.documentElement.clientHeight||document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah=document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop) + "px"');
s.marginTop=0;
}
else if(!opts.centerY&&full){
var top=(opts.css&&opts.css.top) ? parseInt(opts.css.top, 10):0;
var expression='((document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop) + '+top+') + "px"';
s.setExpression('top',expression);
}});
}
if(msg){
if(opts.theme)
lyr3.find('.ui-widget-content').append(msg);
else
lyr3.append(msg);
if(msg.jquery||msg.nodeType)
$(msg).show();
}
if((msie||opts.forceIframe)&&opts.showOverlay)
lyr1.show();
if(opts.fadeIn){
var cb=opts.onBlock ? opts.onBlock:noOp;
var cb1=(opts.showOverlay&&!msg) ? cb:noOp;
var cb2=msg ? cb:noOp;
if(opts.showOverlay)
lyr2._fadeIn(opts.fadeIn, cb1);
if(msg)
lyr3._fadeIn(opts.fadeIn, cb2);
}else{
if(opts.showOverlay)
lyr2.show();
if(msg)
lyr3.show();
if(opts.onBlock)
opts.onBlock.bind(lyr3)();
}
bind(1, el, opts);
if(full){
pageBlock=lyr3[0];
pageBlockEls=$(opts.focusableElements,pageBlock);
if(opts.focusInput)
setTimeout(focus, 20);
}
else
center(lyr3[0], opts.centerX, opts.centerY);
if(opts.timeout){
var to=setTimeout(function(){
if(full)
$.unblockUI(opts);
else
$(el).unblock(opts);
}, opts.timeout);
$(el).data('blockUI.timeout', to);
}}
function remove(el, opts){
var count;
var full=(el==window);
var $el=$(el);
var data=$el.data('blockUI.history');
var to=$el.data('blockUI.timeout');
if(to){
clearTimeout(to);
$el.removeData('blockUI.timeout');
}
opts=$.extend({}, $.blockUI.defaults, opts||{});
bind(0, el, opts);
if(opts.onUnblock===null){
opts.onUnblock=$el.data('blockUI.onUnblock');
$el.removeData('blockUI.onUnblock');
}
var els;
if(full)
els=$(document.body).children().filter('.blockUI').add('body > .blockUI');
else
els=$el.find('>.blockUI');
if(opts.cursorReset){
if(els.length > 1)
els[1].style.cursor=opts.cursorReset;
if(els.length > 2)
els[2].style.cursor=opts.cursorReset;
}
if(full)
pageBlock=pageBlockEls=null;
if(opts.fadeOut){
count=els.length;
els.stop().fadeOut(opts.fadeOut, function(){
if(--count===0)
reset(els,data,opts,el);
});
}
else
reset(els, data, opts, el);
}
function reset(els,data,opts,el){
var $el=$(el);
if($el.data('blockUI.isBlocked'))
return;
els.each(function(i,o){
if(this.parentNode)
this.parentNode.removeChild(this);
});
if(data&&data.el){
data.el.style.display=data.display;
data.el.style.position=data.position;
data.el.style.cursor='default';
if(data.parent)
data.parent.appendChild(data.el);
$el.removeData('blockUI.history');
}
if($el.data('blockUI.static')){
$el.css('position', 'static');
}
if(typeof opts.onUnblock=='function')
opts.onUnblock(el,opts);
var body=$(document.body), w=body.width(), cssW=body[0].style.width;
body.width(w-1).width(w);
body[0].style.width=cssW;
}
function bind(b, el, opts){
var full=el==window, $el=$(el);
if(!b&&(full&&!pageBlock||!full&&!$el.data('blockUI.isBlocked')))
return;
$el.data('blockUI.isBlocked', b);
if(!full||!opts.bindEvents||(b&&!opts.showOverlay))
return;
var events='mousedown mouseup keydown keypress keyup touchstart touchend touchmove';
if(b)
$(document).on(events, opts, handler);
else
$(document).off(events, handler);
}
function handler(e){
if(e.type==='keydown'&&e.keyCode&&e.keyCode==9){
if(pageBlock&&e.data.constrainTabKey){
var els=pageBlockEls;
var fwd = !e.shiftKey&&e.target===els[els.length-1];
var back=e.shiftKey&&e.target===els[0];
if(fwd||back){
setTimeout(function(){focus(back);},10);
return false;
}}
}
var opts=e.data;
var target=$(e.target);
if(target.hasClass('blockOverlay')&&opts.onOverlayClick)
opts.onOverlayClick(e);
if(target.parents('div.' + opts.blockMsgClass).length > 0)
return true;
return target.parents().children().filter('div.blockUI').length===0;
}
function focus(back){
if(!pageBlockEls)
return;
var e=pageBlockEls[back===true ? pageBlockEls.length-1:0];
if(e)
e.trigger('focus');
}
function center(el, x, y){
var p=el.parentNode, s=el.style;
var l=((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');
var t=((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');
if(x) s.left=l > 0 ? (l+'px'):'0';
if(y) s.top=t > 0 ? (t+'px'):'0';
}
function sz(el, p){
return parseInt($.css(el,p),10)||0;
}}
if(typeof define==='function'&&define.amd&&define.amd.jQuery){
define(['jquery'], setup);
}else{
setup(jQuery);
}})();
jQuery(function($){
if(typeof wc_add_to_cart_params==='undefined'){
return false;
}
var AddToCartHandler=function(){
this.requests=[];
this.addRequest=this.addRequest.bind(this);
this.run=this.run.bind(this);
this.$liveRegion=this.createLiveRegion();
$(document.body)
.on('click', '.add_to_cart_button:not(.wc-interactive)', { addToCartHandler: this }, this.onAddToCart)
.on('keydown', '.add_to_cart_button:not(.wc-interactive)', { addToCartHandler: this },
(e)=> { if(e.key===' '){ e.preventDefault(); e.target.click(); }}
)
.on('click', '.remove_from_cart_button', { addToCartHandler: this }, this.onRemoveFromCart)
.on('keydown', '.remove_from_cart_button', this.onKeydownRemoveFromCart)
.on('added_to_cart', { addToCartHandler: this }, this.onAddedToCart)
.on('removed_from_cart', { addToCartHandler: this }, this.onRemovedFromCart)
.on('ajax_request_not_sent.adding_to_cart', this.updateButton);
};
AddToCartHandler.prototype.addRequest=function(request){
this.requests.push(request);
if(1===this.requests.length){
this.run();
}};
AddToCartHandler.prototype.run=function(){
var requestManager=this,
originalCallback=requestManager.requests[0].complete;
requestManager.requests[0].complete=function(){
if(typeof originalCallback==='function'){
originalCallback();
}
requestManager.requests.shift();
if(requestManager.requests.length > 0){
requestManager.run();
}};
$.ajax(this.requests[0]);
};
AddToCartHandler.prototype.onAddToCart=function(e){
var $thisbutton=$(this);
if($thisbutton.is('.ajax_add_to_cart') ){
if(! $thisbutton.attr('data-product_id') ){
return true;
}
e.data.addToCartHandler.$liveRegion
.text('')
.removeAttr('aria-relevant');
e.preventDefault();
$thisbutton.removeClass('added');
$thisbutton.addClass('loading');
if(false===$(document.body).triggerHandler('should_send_ajax_request.adding_to_cart', [ $thisbutton ]) ){
$(document.body).trigger('ajax_request_not_sent.adding_to_cart', [ false, false, $thisbutton ]);
return true;
}
var data={};
$.each($thisbutton.data(), function(key, value){
data[ key ]=value;
});
$.each($thisbutton[0].dataset, function(key, value){
data[ key ]=value;
});
$(document.body).trigger('adding_to_cart', [ $thisbutton, data ]);
e.data.addToCartHandler.addRequest({
type: 'POST',
url: wc_add_to_cart_params.wc_ajax_url.toString().replace('%%endpoint%%', 'add_to_cart'),
data: data,
success: function(response){
if(! response){
return;
}
if(response.error&&response.product_url){
window.location=response.product_url;
return;
}
if(wc_add_to_cart_params.cart_redirect_after_add==='yes'){
window.location=wc_add_to_cart_params.cart_url;
return;
}
$(document.body).trigger('added_to_cart', [ response.fragments, response.cart_hash, $thisbutton ]);
},
dataType: 'json'
});
}};
AddToCartHandler.prototype.onRemoveFromCart=function(e){
var $thisbutton=$(this),
$row=$thisbutton.closest('.woocommerce-mini-cart-item');
e.data.addToCartHandler.$liveRegion
.text('')
.removeAttr('aria-relevant');
e.preventDefault();
$row.block({
message: null,
overlayCSS: {
opacity: 0.6
}});
e.data.addToCartHandler.addRequest({
type: 'POST',
url: wc_add_to_cart_params.wc_ajax_url.toString().replace('%%endpoint%%', 'remove_from_cart'),
data: {
cart_item_key:$thisbutton.data('cart_item_key')
},
success: function(response){
if(! response||! response.fragments){
window.location=$thisbutton.attr('href');
return;
}
$(document.body).trigger('removed_from_cart', [ response.fragments, response.cart_hash, $thisbutton ]);
},
error: function(){
window.location=$thisbutton.attr('href');
return;
},
dataType: 'json'
});
};
AddToCartHandler.prototype.onKeydownRemoveFromCart=function(event){
if(event.key===' '){
event.preventDefault();
$(this).trigger('click');
}};
AddToCartHandler.prototype.updateButton=function(e, fragments, cart_hash, $button){
$button=typeof $button==='undefined' ? false:$button;
if($button){
$button.removeClass('loading');
if(fragments){
$button.addClass('added');
}
if(fragments&&! wc_add_to_cart_params.is_cart&&$button.parent().find('.added_to_cart').length===0){
var anchor=document.createElement('a');
anchor.href=wc_add_to_cart_params.cart_url;
anchor.className='added_to_cart wc-forward';
anchor.title=wc_add_to_cart_params.i18n_view_cart;
anchor.textContent=wc_add_to_cart_params.i18n_view_cart;
$button.after(anchor);
}
$(document.body).trigger('wc_cart_button_updated', [ $button ]);
}};
AddToCartHandler.prototype.updateFragments=function(e, fragments){
if(fragments){
$.each(fragments, function(key){
$(key)
.addClass('updating')
.fadeTo('400', '0.6')
.block({
message: null,
overlayCSS: {
opacity: 0.6
}});
});
$.each(fragments, function(key, value){
$(key).replaceWith(value);
$(key).stop(true).css('opacity', '1').unblock();
});
$(document.body).trigger('wc_fragments_loaded');
}};
AddToCartHandler.prototype.alertCartUpdated=function(e, fragments, cart_hash, $button){
$button=typeof $button==='undefined' ? false:$button;
if($button){
var message=$button.data('success_message');
if(!message){
return;
}
e.data.addToCartHandler.$liveRegion
.delay(1000)
.text(message)
.attr('aria-relevant', 'all');
}};
AddToCartHandler.prototype.createLiveRegion=function(){
var existingLiveRegion=$('.widget_shopping_cart_live_region');
if(existingLiveRegion.length){
return existingLiveRegion;
}
return $('<div class="widget_shopping_cart_live_region screen-reader-text" role="status"></div>').appendTo('body');
};
AddToCartHandler.prototype.onAddedToCart=function(e, fragments, cart_hash, $button){
e.data.addToCartHandler.updateButton(e, fragments, cart_hash, $button);
e.data.addToCartHandler.updateFragments(e, fragments);
e.data.addToCartHandler.alertCartUpdated(e, fragments, cart_hash, $button);
};
AddToCartHandler.prototype.onRemovedFromCart=function(e, fragments, cart_hash, $button){
e.data.addToCartHandler.updateFragments(e, fragments);
e.data.addToCartHandler.alertCartUpdated(e, fragments, cart_hash, $button);
};
new AddToCartHandler();
});
;
(function (global, factory){
typeof exports==='object'&&typeof module!=='undefined' ? module.exports=factory() :
typeof define==='function'&&define.amd ? define(factory) :
(global=typeof globalThis!=='undefined' ? globalThis:global||self, (function (){
var current=global.Cookies;
var exports=global.Cookies=factory();
exports.noConflict=function (){ global.Cookies=current; return exports; };})());
})(this, (function (){ 'use strict';
function assign (target){
for (var i=1; i < arguments.length; i++){
var source=arguments[i];
for (var key in source){
target[key]=source[key];
}}
return target
}
var defaultConverter={
read: function (value){
if(value[0]==='"'){
value=value.slice(1, -1);
}
return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
},
write: function (value){
return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
decodeURIComponent
)
}};
function init (converter, defaultAttributes){
function set (name, value, attributes){
if(typeof document==='undefined'){
return
}
attributes=assign({}, defaultAttributes, attributes);
if(typeof attributes.expires==='number'){
attributes.expires=new Date(Date.now() + attributes.expires * 864e5);
}
if(attributes.expires){
attributes.expires=attributes.expires.toUTCString();
}
name=encodeURIComponent(name)
.replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
.replace(/[()]/g, escape);
var stringifiedAttributes='';
for (var attributeName in attributes){
if(!attributes[attributeName]){
continue
}
stringifiedAttributes +='; ' + attributeName;
if(attributes[attributeName]===true){
continue
}
stringifiedAttributes +='=' + attributes[attributeName].split(';')[0];
}
return (document.cookie =
name + '=' + converter.write(value, name) + stringifiedAttributes)
}
function get (name){
if(typeof document==='undefined'||(arguments.length&&!name)){
return
}
var cookies=document.cookie ? document.cookie.split('; '):[];
var jar={};
for (var i=0; i < cookies.length; i++){
var parts=cookies[i].split('=');
var value=parts.slice(1).join('=');
try {
var found=decodeURIComponent(parts[0]);
jar[found]=converter.read(value, found);
if(name===found){
break
}} catch (e){}}
return name ? jar[name]:jar
}
return Object.create({
set,
get,
remove: function (name, attributes){
set(
name,
'',
assign({}, attributes, {
expires: -1
})
);
},
withAttributes: function (attributes){
return init(this.converter, assign({}, this.attributes, attributes))
},
withConverter: function (converter){
return init(assign({}, this.converter, converter), this.attributes)
}},
{
attributes: { value: Object.freeze(defaultAttributes) },
converter: { value: Object.freeze(converter) }}
)
}
var api=init(defaultConverter, { path: '/' });
return api;
}));
jQuery(function($){
$('.woocommerce-ordering').on('change', 'select.orderby', function (){
$(this).closest('form').trigger('submit');
});
$('input.qty:not(.product-quantity input.qty)').each(function (){
var min=parseFloat($(this).attr('min') );
if(min >=0&&parseFloat($(this).val()) < min){
$(this).val(min);
}});
var noticeID=$('.woocommerce-store-notice').data('noticeId')||'',
cookieName='store_notice' + noticeID;
if('hidden'===Cookies.get(cookieName) ){
$('.woocommerce-store-notice').hide();
}else{
$('.woocommerce-store-notice').show();
function store_notice_keydown_handler(event){
if(['Enter', ' '].includes(event.key) ){
event.preventDefault();
$('.woocommerce-store-notice__dismiss-link').click();
}}
function store_notice_click_handler(event){
Cookies.set(cookieName, 'hidden', { path: '/' });
$('.woocommerce-store-notice').hide();
event.preventDefault();
$('.woocommerce-store-notice__dismiss-link')
.off('click', store_notice_click_handler)
.off('keydown', store_notice_keydown_handler);
}
$('.woocommerce-store-notice__dismiss-link')
.on('click', store_notice_click_handler)
.on('keydown', store_notice_keydown_handler);
}
if($('.woocommerce-input-wrapper span.description').length){
$(document.body).on('click', function (){
$('.woocommerce-input-wrapper span.description:visible')
.prop('aria-hidden', true)
.slideUp(250);
});
}
$('.woocommerce-input-wrapper').on('click', function(event){
event.stopPropagation();
});
$('.woocommerce-input-wrapper :input')
.on('keydown', function(event){
var input=$(this),
parent=input.parent(),
description=parent.find('span.description');
if(27===event.which &&
description.length &&
description.is(':visible')
){
description.prop('aria-hidden', true).slideUp(250);
event.preventDefault();
return false;
}})
.on('click focus', function (){
var input=$(this),
parent=input.parent(),
description=parent.find('span.description');
parent.addClass('currentTarget');
$(
'.woocommerce-input-wrapper:not(.currentTarget) span.description:visible'
)
.prop('aria-hidden', true)
.slideUp(250);
if(description.length&&description.is(':hidden') ){
description.prop('aria-hidden', false).slideDown(250);
}
parent.removeClass('currentTarget');
});
$.scroll_to_notices=function(scrollElement){
if(scrollElement.length){
$('html, body').animate({
scrollTop: scrollElement.offset().top - 100,
},
1000
);
}};
$('.woocommerce form .woocommerce-Input[type="password"]').wrap('<span class="password-input"></span>'
);
$('.woocommerce form input')
.filter(':password')
.parent('span')
.addClass('password-input');
$('.password-input').each(function (){
const describedBy=$(this).find('input').attr('id');
$(this).append('<button type="button" class="show-password-input" aria-label="' +
woocommerce_params.i18n_password_show +
'" aria-describedBy="' +
describedBy +
'"></button>'
);
});
$('.show-password-input').on('click', function(event){
event.preventDefault();
if($(this).hasClass('display-password') ){
$(this).removeClass('display-password');
$(this).attr('aria-label',
woocommerce_params.i18n_password_show
);
}else{
$(this).addClass('display-password');
$(this).attr('aria-label',
woocommerce_params.i18n_password_hide
);
}
if($(this).hasClass('display-password') ){
$(this)
.siblings([ 'input[type="password"]' ])
.prop('type', 'text');
}else{
$(this)
.siblings('input[type="text"]')
.prop('type', 'password');
}
$(this).siblings('input').focus();
});
$('a.coming-soon-footer-banner-dismiss').on('click', function(e){
var target=$(e.target);
$.ajax({
type: 'post',
url: target.data('rest-url'),
data: {
woocommerce_meta: {
coming_soon_banner_dismissed: 'yes',
},
},
beforeSend: function(xhr){
xhr.setRequestHeader('X-WP-Nonce',
target.data('rest-nonce')
);
},
complete: function (){
$('#coming-soon-footer-banner').hide();
},
});
});
if(typeof wc_add_to_cart_params==='undefined'){
$(document.body).on('keydown', '.remove_from_cart_button', on_keydown_remove_from_cart);
}
$(document.body).on('item_removed_from_classic_cart updated_wc_div', focus_populate_live_region);
});
function on_keydown_remove_from_cart(event){
if(event.key===' '){
event.preventDefault();
event.currentTarget.click();
}}
function focus_populate_live_region(){
var noticeClasses=[
'woocommerce-message',
'woocommerce-error',
'wc-block-components-notice-banner',
];
var noticeSelectors=noticeClasses
.map(function(className){
return '.' + className + '[role="alert"]';
})
.join(', ');
var noticeElements=document.querySelectorAll(noticeSelectors);
if(noticeElements.length===0){
return;
}
var firstNotice=noticeElements[ 0 ];
firstNotice.setAttribute('tabindex', '-1');
var delayFocusNoticeId=setTimeout(function (){
firstNotice.focus();
clearTimeout(delayFocusNoticeId);
}, 500);
}
function refresh_sorted_by_live_region(){
var sorted_by_live_region=document.querySelector('.woocommerce-result-count'
);
if(sorted_by_live_region){
var text=sorted_by_live_region.innerHTML;
sorted_by_live_region.setAttribute('aria-hidden', 'true');
var sorted_by_live_region_id=setTimeout(function (){
sorted_by_live_region.setAttribute('aria-hidden', 'false');
sorted_by_live_region.innerHTML='';
sorted_by_live_region.innerHTML=text;
clearTimeout(sorted_by_live_region_id);
}, 2000);
}}
function on_document_ready(){
focus_populate_live_region();
refresh_sorted_by_live_region();
}
document.addEventListener('DOMContentLoaded', on_document_ready);
(function($){
'use strict';
/**
* All of the code for your public-facing JavaScript source
* should reside in this file.
*
* Note: It has been assumed you will write jQuery code here, so the
* $ function reference has been prepared for usage within the scope
* of this function.
*
* This enables you to define handlers, for when the DOM is ready:
*
* $(function(){
*
* });
*
* When the window is loaded:
*
* $(window).load(function(){
*
* });
*
* ...and/or other possibilities.
*
* Ideally, it is not considered best practise to attach more than a
* single DOM-ready or window-load handler for a particular page.
* Although scripts in the WordPress core, Plugins and Themes may be
* practising this, we should strive to set a better example in our own work.
*/
})(jQuery);