(()=>{"use strict";var t={d:(e,o)=>{for(var c in o)t.o(o,c)&&!t.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:o[c]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{add_to_cart:()=>w,begin_checkout:()=>f,purchase:()=>h,remove_from_cart:()=>g,search:()=>v,select_content:()=>y,view_item:()=>b,view_item_list:()=>p});const o=window.wp.i18n,c=window.wp.hooks,r=(t,e)=>{const o={};t.variation&&(o.item_variant=t.variation);const c={item_id:s(t),item_name:t.name,...u(t),quantity:t.quantity??e,price:i(t.totals?.line_total||t.prices.price,t.prices.currency_minor_unit),...o};return t?.price_after_coupon_discount<t.prices.price&&(c.discount=i(t.prices.price-t.price_after_coupon_discount,t.prices.currency_minor_unit),c.price=i(t.price_after_coupon_discount,t.prices.currency_minor_unit)),c},n=(t,e)=>({item_id:s(t),item_name:t.name,item_list_name:e,...u(t),price:i(t.prices.price,t.prices.currency_minor_unit)}),i=(t,e=2)=>parseInt(t,10)/10**e,a=(t,e,o)=>{(0,c.removeAction)(t,e),(0,c.addAction)(t,e,o)},s=t=>{const e=t.extensions?.woocommerce_google_analytics_integration?.identifier;return void 0!==e?e:"product_sku"===window.ga4w?.settings?.identifier?t.sku?t.sku:"#"+t.id:t.id},d=t=>t.coupons[0]?.code?{coupon:t.coupons[0]?.code}:{},u=t=>"categories"in t&&t.categories.length?l(t.categories):{},l=t=>Object.fromEntries(t.slice(0,5).map((t,e)=>[m(e),t.name])),m=t=>"item_category"+(t>0?t+1:""),_=(t,e,o)=>e?.find(({id:e})=>e===t)??o?.items?.find(({id:e})=>e===t),p=({products:t,listName:e=(0,o.__)("Product List","woocommerce-google-analytics-integration")})=>0!==t.length&&{item_list_id:"engagement",item_list_name:(0,o.__)("Viewing products","woocommerce-google-analytics-integration"),items:t.map((t,o)=>({...n(t,e),index:o+1}))},w=({product:t,quantity:e=1})=>({items:t?[r(t,e)]:[]}),g=({product:t,quantity:e=1})=>({items:t?[r(t,e)]:[]}),f=({storeCart:t})=>({currency:t.totals.currency_code,value:i(t.totals.total_price,t.totals.currency_minor_unit),...d(t),items:t.items.map(r)}),y=({product:t})=>!!t&&{content_type:"product",content_id:s(t)},v=({searchTerm:t})=>({search_term:t}),b=({product:t,listName:e=(0,o.__)("Product List","woocommerce-google-analytics-integration")})=>!!t&&{items:[n(t,e)]},h=({order:t})=>void 0!==t&&{transaction_id:t.id,affiliation:t.affiliation,currency:t.totals.currency_code,value:i(t.totals.total_price,t.totals.currency_minor_unit),tax:i(t.totals.tax_total,t.totals.currency_minor_unit),shipping:i(t.totals.shipping_total,t.totals.currency_minor_unit),items:t.items.map(r)},k="woocommerce-google-analytics",C="experimental__woocommerce_blocks";let A=!1;const S=()=>window.ga4w?.settings?.currency,q=()=>{if(window.wp?.data?.select?.("wc/store/cart")){const t=window.wp.data.select("wc/store/cart").getCartData();if(t?.items?.length>0)return t}return window.ga4w?.data?.cart},E=t=>{a(`${C}-product-render`,k,t("view_item")),a(`${C}-cart-remove-item`,k,e=>{A=!0,t("remove_from_cart")(e)}),(t=>{document.body.addEventListener("click",e=>{const o=e.target.closest(".wc-block-cart-item__remove-link");if(!o)return;const c=o.closest(".wc-block-cart-items__row");if(!c)return;let r=null;const n=c.querySelector(".wc-block-components-product-name"),i=n?.getAttribute("href"),a=n?.textContent?.trim();let s=null;if(i){const t=i.match(/[?&]p=(\d+)/);t&&(s=parseInt(t[1],10))}const d=q();d?.items&&(s?r=_(s,[],d):a&&(r=d.items.find(t=>t.name===a))),r||(r=(t=>{const e=t.querySelector(".wc-block-components-product-name"),o=e?.textContent?.trim();if(!o)return null;const c=t.querySelector(".wc-block-components-quantity-selector__input"),r=c&&parseInt(c.value,10)||1,n=t.querySelector(".wc-block-components-product-price__value ins .woocommerce-Price-amount")||t.querySelector(".wc-block-components-product-price__value .woocommerce-Price-amount")||t.querySelector(".wc-block-components-product-price__value"),i=q(),a=S(),s=i?.totals?.currency_minor_unit??a?.precision??2,d=n?(t=>{if(!t)return 0;const e=S();if(!e)return 0;const{decimalSeparator:o=".",thousandSeparator:c=","}=e;if(window.accounting?.unformat)return window.accounting.unformat(t,o);let r=t.replace(/[^\d.,]/g,"").trim();if(c){const t=c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");r=r.replace(new RegExp(t,"g"),"")}return"."!==o&&(r=r.replace(o,".")),parseFloat(r)||0})(n.textContent):0;return{name:o,quantity:r,prices:{price:Math.round(d*10**s),currency_minor_unit:s}}})(c)),r&&setTimeout(()=>{A||t("remove_from_cart")({product:r}),A=!1},0)})})(t),a(`${C}-checkout-render-checkout-form`,k,e=>{const o=e?.storeCart,c=o?.items?.length>0?o:window.ga4w?.data?.cart;c&&t("begin_checkout")({storeCart:c})}),a(`${C}-cart-add-item`,k,({product:e})=>{t("add_to_cart")({product:e})}),a(`${C}-product-list-render`,k,t("view_item_list")),a(`${C}-product-view-link`,k,t("select_content"))};(0,c.removeAction)(`${C}-checkout-submit`,k),(0,c.removeAction)(`${C}-checkout-set-email-address`,k),(0,c.removeAction)(`${C}-checkout-set-phone-number`,k),(0,c.removeAction)(`${C}-checkout-set-billing-address`,k),(0,c.removeAction)(`${C}-cart-set-item-quantity`,k),(0,c.removeAction)(`${C}-product-search`,k),(0,c.removeAction)(`${C}-store-notice-create`,k);const $={statistics:["analytics_storage"],marketing:["ad_storage","ad_user_data","ad_personalization"]};function L(){(({tracker_function_name:t})=>{if("function"==typeof wp_has_consent){void 0===window.wp_consent_type&&(window.wp_consent_type="optin");const e={};for(const[t,o]of Object.entries($))if(""!==consent_api_get_cookie(window.consent_api.cookie_prefix+"_"+t)){const c=wp_has_consent(t)?"granted":"denied";o.forEach(t=>{e[t]=c})}Object.keys(e).length>0&&window[t]("consent","update",e)}})(window.ga4w.settings),(({tracker_function_name:t})=>{document.addEventListener("wp_listen_for_consent_change",e=>{const o={},c=$[Object.keys(e.detail)[0]],r="allow"===Object.values(e.detail)[0]?"granted":"denied";void 0!==c&&(c.forEach(t=>{o[t]=r}),Object.keys(o).length>0&&window[t]("consent","update",o))})})(window.ga4w.settings);const t=function({events:t,tracker_function_name:o}){return function(c){const r=e[c];if("function"!=typeof r)throw new Error(`Event ${c} is not supported.`);return function(e){const n=r(e);t.includes(c)&&n&&window[o]("event",c,n)}}}(window.ga4w.settings);!function(t,{events:e,cart:o,products:c,product:r,added_to_cart:n,order:i}){Object.values(e??{}).forEach(e=>{"add_to_cart"===e?t(e)({product:n}):t(e)({storeCart:o,products:c,product:r,order:i})});const a=document.body.onadded_to_cart;document.body.onadded_to_cart=function(e,n,i,s){"function"==typeof a&&a.apply(this,arguments);const d=parseInt(s?.[0]?.dataset.product_id||s?.[0]?.value);if(Number.isNaN(d))return void console.error("Google Analytics for WooCommerce: Could not read product ID from the button given in `added_to_cart` event. Check whether WooCommerce Core events or elements are malformed by other extensions.");const u=r?.id===d?r:_(d,c,o);u&&t("add_to_cart")({product:u})};const s=()=>{document.querySelectorAll(".woocommerce-cart-form .woocommerce-cart-form__cart-item .remove[data-product_id]").forEach(t=>t.addEventListener("click",d))};function d(e){const r=parseInt(e.target?.dataset.product_id);Number.isNaN(r)?console.error("Google Analytics for WooCommerce: Could not read product ID from the target element given to remove from cart event. Check whether WooCommerce Core events or elements are malformed by other extensions."):t("remove_from_cart")({product:_(r,c,o)})}s();const u=document.body.onupdated_wc_div;document.body.onupdated_wc_div=function(){"function"==typeof u&&u.apply(this,arguments),s()};const l=document.body.onremoved_from_cart;document.body.onremoved_from_cart=function(t,e,o,c){"function"==typeof l&&l.apply(this,arguments),d({target:c?.[0]})},document.querySelectorAll(".products .product:not(.wp-block-post)")?.forEach(e=>{const r=e.querySelector("a[data-product_id]")?.getAttribute("data-product_id");r&&e.addEventListener("click",e=>{const n=e.target.closest(".woocommerce-loop-product__link"),i=e.target.classList.contains("button")&&e.target.hasAttribute("data-product_id"),a=e.target.classList.contains("add_to_cart_button")&&!e.target.classList.contains("product_type_variable");(n||i&&!a)&&t("select_content")({product:_(parseInt(r),c,o)})})}),document.querySelectorAll(".products-block-post-template .product, .wc-block-product-template .product")?.forEach(e=>{const r=e.querySelector("[data-product_id]")?.getAttribute("data-product_id");r&&e.addEventListener("click",e=>{const n=e.target,i=n.closest(".wc-block-components-product-image a"),a=n.closest(".wp-block-post-title a"),s=n.closest(".wc-block-components-product-button [data-product_id]");s&&s.classList.contains("add_to_cart_button")&&!s.classList.contains("product_type_variable")?t("add_to_cart")({product:_(parseInt(r),c,o)}):(i||s||a)&&t("select_content")({product:_(parseInt(r),c,o)})})})}(t,window.ga4w.data),E(t)}function x(){window.ga4w||console.warn("Google Analytics for WooCommerce: Configuration and tracking data not found after the page was fully loaded. Make sure the `woocommerce-google-analytics-integration-data` script gets eventually loaded.")}window.ga4w?L():(document.addEventListener("ga4w:ready",L),"complete"===document.readyState?x():window.addEventListener("load",x))})();
!function(n,t){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("underscore",t):(n="undefined"!=typeof globalThis?globalThis:n||self,r=n._,(e=n._=t()).noConflict=function(){return n._=r,e})}(this,function(){var n="1.13.7",t="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},e=Array.prototype,V=Object.prototype,F="undefined"!=typeof Symbol?Symbol.prototype:null,P=e.push,f=e.slice,s=V.toString,q=V.hasOwnProperty,r="undefined"!=typeof ArrayBuffer,u="undefined"!=typeof DataView,U=Array.isArray,W=Object.keys,z=Object.create,L=r&&ArrayBuffer.isView,$=isNaN,C=isFinite,K=!{toString:null}.propertyIsEnumerable("toString"),J=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],G=Math.pow(2,53)-1;function l(u,o){return o=null==o?u.length-1:+o,function(){for(var n=Math.max(arguments.length-o,0),t=Array(n),r=0;r<n;r++)t[r]=arguments[r+o];switch(o){case 0:return u.call(this,t);case 1:return u.call(this,arguments[0],t);case 2:return u.call(this,arguments[0],arguments[1],t)}for(var e=Array(o+1),r=0;r<o;r++)e[r]=arguments[r];return e[o]=t,u.apply(this,e)}}function o(n){var t=typeof n;return"function"==t||"object"==t&&!!n}function H(n){return void 0===n}function Q(n){return!0===n||!1===n||"[object Boolean]"===s.call(n)}function i(n){var t="[object "+n+"]";return function(n){return s.call(n)===t}}var X=i("String"),Y=i("Number"),Z=i("Date"),nn=i("RegExp"),tn=i("Error"),rn=i("Symbol"),en=i("ArrayBuffer"),a=i("Function"),t=t.document&&t.document.childNodes,p=a="function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof t?function(n){return"function"==typeof n||!1}:a,t=i("Object"),un=u&&(!/\[native code\]/.test(String(DataView))||t(new DataView(new ArrayBuffer(8)))),a="undefined"!=typeof Map&&t(new Map),u=i("DataView");var h=un?function(n){return null!=n&&p(n.getInt8)&&en(n.buffer)}:u,v=U||i("Array");function y(n,t){return null!=n&&q.call(n,t)}var on=i("Arguments"),an=(!function(){on(arguments)||(on=function(n){return y(n,"callee")})}(),on);function fn(n){return Y(n)&&$(n)}function cn(n){return function(){return n}}function ln(t){return function(n){n=t(n);return"number"==typeof n&&0<=n&&n<=G}}function sn(t){return function(n){return null==n?void 0:n[t]}}var d=sn("byteLength"),pn=ln(d),hn=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var vn=r?function(n){return L?L(n)&&!h(n):pn(n)&&hn.test(s.call(n))}:cn(!1),g=sn("length");function yn(n,t){t=function(t){for(var r={},n=t.length,e=0;e<n;++e)r[t[e]]=!0;return{contains:function(n){return!0===r[n]},push:function(n){return r[n]=!0,t.push(n)}}}(t);var r=J.length,e=n.constructor,u=p(e)&&e.prototype||V,o="constructor";for(y(n,o)&&!t.contains(o)&&t.push(o);r--;)(o=J[r])in n&&n[o]!==u[o]&&!t.contains(o)&&t.push(o)}function b(n){if(!o(n))return[];if(W)return W(n);var t,r=[];for(t in n)y(n,t)&&r.push(t);return K&&yn(n,r),r}function dn(n,t){var r=b(t),e=r.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=r[o];if(t[i]!==u[i]||!(i in u))return!1}return!0}function m(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)}function gn(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,d(n))}m.VERSION=n,m.prototype.valueOf=m.prototype.toJSON=m.prototype.value=function(){return this._wrapped},m.prototype.toString=function(){return String(this._wrapped)};var bn="[object DataView]";function mn(n,t,r,e){var u;return n===t?0!==n||1/n==1/t:null!=n&&null!=t&&(n!=n?t!=t:("function"==(u=typeof n)||"object"==u||"object"==typeof t)&&function n(t,r,e,u){t instanceof m&&(t=t._wrapped);r instanceof m&&(r=r._wrapped);var o=s.call(t);if(o!==s.call(r))return!1;if(un&&"[object Object]"==o&&h(t)){if(!h(r))return!1;o=bn}switch(o){case"[object RegExp]":case"[object String]":return""+t==""+r;case"[object Number]":return+t!=+t?+r!=+r:0==+t?1/+t==1/r:+t==+r;case"[object Date]":case"[object Boolean]":return+t==+r;case"[object Symbol]":return F.valueOf.call(t)===F.valueOf.call(r);case"[object ArrayBuffer]":case bn:return n(gn(t),gn(r),e,u)}o="[object Array]"===o;if(!o&&vn(t)){var i=d(t);if(i!==d(r))return!1;if(t.buffer===r.buffer&&t.byteOffset===r.byteOffset)return!0;o=!0}if(!o){if("object"!=typeof t||"object"!=typeof r)return!1;var i=t.constructor,a=r.constructor;if(i!==a&&!(p(i)&&i instanceof i&&p(a)&&a instanceof a)&&"constructor"in t&&"constructor"in r)return!1}e=e||[];u=u||[];var f=e.length;for(;f--;)if(e[f]===t)return u[f]===r;e.push(t);u.push(r);if(o){if((f=t.length)!==r.length)return!1;for(;f--;)if(!mn(t[f],r[f],e,u))return!1}else{var c,l=b(t);if(f=l.length,b(r).length!==f)return!1;for(;f--;)if(c=l[f],!y(r,c)||!mn(t[c],r[c],e,u))return!1}e.pop();u.pop();return!0}(n,t,r,e))}function c(n){if(!o(n))return[];var t,r=[];for(t in n)r.push(t);return K&&yn(n,r),r}function jn(e){var u=g(e);return function(n){if(null==n)return!1;var t=c(n);if(g(t))return!1;for(var r=0;r<u;r++)if(!p(n[e[r]]))return!1;return e!==_n||!p(n[wn])}}var wn="forEach",t=["clear","delete"],u=["get","has","set"],U=t.concat(wn,u),_n=t.concat(u),r=["add"].concat(t,wn,"has"),u=a?jn(U):i("Map"),t=a?jn(_n):i("WeakMap"),U=a?jn(r):i("Set"),a=i("WeakSet");function j(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=n[t[u]];return e}function An(n){for(var t={},r=b(n),e=0,u=r.length;e<u;e++)t[n[r[e]]]=r[e];return t}function xn(n){var t,r=[];for(t in n)p(n[t])&&r.push(t);return r.sort()}function Sn(f,c){return function(n){var t=arguments.length;if(c&&(n=Object(n)),!(t<2||null==n))for(var r=1;r<t;r++)for(var e=arguments[r],u=f(e),o=u.length,i=0;i<o;i++){var a=u[i];c&&void 0!==n[a]||(n[a]=e[a])}return n}}var On=Sn(c),w=Sn(b),Mn=Sn(c,!0);function En(n){var t;return o(n)?z?z(n):((t=function(){}).prototype=n,n=new t,t.prototype=null,n):{}}function Bn(n){return v(n)?n:[n]}function _(n){return m.toPath(n)}function Nn(n,t){for(var r=t.length,e=0;e<r;e++){if(null==n)return;n=n[t[e]]}return r?n:void 0}function In(n,t,r){n=Nn(n,_(t));return H(n)?r:n}function Tn(n){return n}function A(t){return t=w({},t),function(n){return dn(n,t)}}function kn(t){return t=_(t),function(n){return Nn(n,t)}}function x(u,o,n){if(void 0===o)return u;switch(null==n?3:n){case 1:return function(n){return u.call(o,n)};case 3:return function(n,t,r){return u.call(o,n,t,r)};case 4:return function(n,t,r,e){return u.call(o,n,t,r,e)}}return function(){return u.apply(o,arguments)}}function Dn(n,t,r){return null==n?Tn:p(n)?x(n,t,r):(o(n)&&!v(n)?A:kn)(n)}function Rn(n,t){return Dn(n,t,1/0)}function S(n,t,r){return m.iteratee!==Rn?m.iteratee(n,t):Dn(n,t,r)}function Vn(){}function Fn(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))}m.toPath=Bn,m.iteratee=Rn;var O=Date.now||function(){return(new Date).getTime()};function Pn(t){function r(n){return t[n]}var n="(?:"+b(t).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return e.test(n=null==n?"":""+n)?n.replace(u,r):n}}var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},qn=Pn(r),r=Pn(An(r)),Un=m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Wn=/(.)^/,zn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ln=/\\|'|\r|\n|\u2028|\u2029/g;function $n(n){return"\\"+zn[n]}var Cn=/^\s*(\w|\$)+\s*$/;var Kn=0;function Jn(n,t,r,e,u){return e instanceof t?(e=En(n.prototype),o(t=n.apply(e,u))?t:e):n.apply(r,u)}var M=l(function(u,o){function i(){for(var n=0,t=o.length,r=Array(t),e=0;e<t;e++)r[e]=o[e]===a?arguments[n++]:o[e];for(;n<arguments.length;)r.push(arguments[n++]);return Jn(u,i,this,this,r)}var a=M.placeholder;return i}),Gn=(M.placeholder=m,l(function(t,r,e){var u;if(p(t))return u=l(function(n){return Jn(t,u,r,this,e.concat(n))});throw new TypeError("Bind must be called on a function")})),E=ln(g);function B(n,t,r,e){if(e=e||[],t||0===t){if(t<=0)return e.concat(n)}else t=1/0;for(var u=e.length,o=0,i=g(n);o<i;o++){var a=n[o];if(E(a)&&(v(a)||an(a)))if(1<t)B(a,t-1,r,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else r||(e[u++]=a)}return e}var Hn=l(function(n,t){var r=(t=B(t,!1,!1)).length;if(r<1)throw new Error("bindAll must be passed function names");for(;r--;){var e=t[r];n[e]=Gn(n[e],n)}return n});var Qn=l(function(n,t,r){return setTimeout(function(){return n.apply(null,r)},t)}),Xn=M(Qn,m,1);function Yn(n){return function(){return!n.apply(this,arguments)}}function Zn(n,t){var r;return function(){return 0<--n&&(r=t.apply(this,arguments)),n<=1&&(t=null),r}}var nt=M(Zn,2);function tt(n,t,r){t=S(t,r);for(var e,u=b(n),o=0,i=u.length;o<i;o++)if(t(n[e=u[o]],e,n))return e}function rt(o){return function(n,t,r){t=S(t,r);for(var e=g(n),u=0<o?0:e-1;0<=u&&u<e;u+=o)if(t(n[u],u,n))return u;return-1}}var et=rt(1),ut=rt(-1);function ot(n,t,r,e){for(var u=(r=S(r,e,1))(t),o=0,i=g(n);o<i;){var a=Math.floor((o+i)/2);r(n[a])<u?o=a+1:i=a}return o}function it(o,i,a){return function(n,t,r){var e=0,u=g(n);if("number"==typeof r)0<o?e=0<=r?r:Math.max(r+u,e):u=0<=r?Math.min(r+1,u):r+u+1;else if(a&&r&&u)return n[r=a(n,t)]===t?r:-1;if(t!=t)return 0<=(r=i(f.call(n,e,u),fn))?r+e:-1;for(r=0<o?e:u-1;0<=r&&r<u;r+=o)if(n[r]===t)return r;return-1}}var at=it(1,et,ot),ft=it(-1,ut);function ct(n,t,r){t=(E(n)?et:tt)(n,t,r);if(void 0!==t&&-1!==t)return n[t]}function N(n,t,r){if(t=x(t,r),E(n))for(u=0,o=n.length;u<o;u++)t(n[u],u,n);else for(var e=b(n),u=0,o=e.length;u<o;u++)t(n[e[u]],e[u],n);return n}function I(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=t(n[a],a,n)}return o}function lt(f){return function(n,t,r,e){var u=3<=arguments.length;return function(n,t,r,e){var u=!E(n)&&b(n),o=(u||n).length,i=0<f?0:o-1;for(e||(r=n[u?u[i]:i],i+=f);0<=i&&i<o;i+=f){var a=u?u[i]:i;r=t(r,n[a],a,n)}return r}(n,x(t,e,4),r,u)}}var st=lt(1),pt=lt(-1);function T(n,e,t){var u=[];return e=S(e,t),N(n,function(n,t,r){e(n,t,r)&&u.push(n)}),u}function ht(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!t(n[i],i,n))return!1}return!0}function vt(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(t(n[i],i,n))return!0}return!1}function k(n,t,r,e){return E(n)||(n=j(n)),0<=at(n,t,r="number"==typeof r&&!e?r:0)}var yt=l(function(n,r,e){var u,o;return p(r)?o=r:(r=_(r),u=r.slice(0,-1),r=r[r.length-1]),I(n,function(n){var t=o;if(!t){if(null==(n=u&&u.length?Nn(n,u):n))return;t=n[r]}return null==t?t:t.apply(n,e)})});function dt(n,t){return I(n,kn(t))}function gt(n,e,t){var r,u,o=-1/0,i=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&o<r&&(o=r);else e=S(e,t),N(n,function(n,t,r){u=e(n,t,r),(i<u||u===-1/0&&o===-1/0)&&(o=n,i=u)});return o}var bt=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function mt(n){return n?v(n)?f.call(n):X(n)?n.match(bt):E(n)?I(n,Tn):j(n):[]}function jt(n,t,r){if(null==t||r)return(n=E(n)?n:j(n))[Fn(n.length-1)];for(var e=mt(n),r=g(e),u=(t=Math.max(Math.min(t,r),0),r-1),o=0;o<t;o++){var i=Fn(o,u),a=e[o];e[o]=e[i],e[i]=a}return e.slice(0,t)}function D(o,t){return function(r,e,n){var u=t?[[],[]]:{};return e=S(e,n),N(r,function(n,t){t=e(n,t,r);o(u,n,t)}),u}}var wt=D(function(n,t,r){y(n,r)?n[r].push(t):n[r]=[t]}),_t=D(function(n,t,r){n[r]=t}),At=D(function(n,t,r){y(n,r)?n[r]++:n[r]=1}),xt=D(function(n,t,r){n[r?0:1].push(t)},!0);function St(n,t,r){return t in r}var Ot=l(function(n,t){var r={},e=t[0];if(null!=n){p(e)?(1<t.length&&(e=x(e,t[1])),t=c(n)):(e=St,t=B(t,!1,!1),n=Object(n));for(var u=0,o=t.length;u<o;u++){var i=t[u],a=n[i];e(a,i,n)&&(r[i]=a)}}return r}),Mt=l(function(n,r){var t,e=r[0];return p(e)?(e=Yn(e),1<r.length&&(t=r[1])):(r=I(B(r,!1,!1),String),e=function(n,t){return!k(r,t)}),Ot(n,e,t)});function Et(n,t,r){return f.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))}function Bt(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[0]:Et(n,n.length-t)}function R(n,t,r){return f.call(n,null==t||r?1:t)}var Nt=l(function(n,t){return t=B(t,!0,!0),T(n,function(n){return!k(t,n)})}),It=l(function(n,t){return Nt(n,t)});function Tt(n,t,r,e){Q(t)||(e=r,r=t,t=!1),null!=r&&(r=S(r,e));for(var u=[],o=[],i=0,a=g(n);i<a;i++){var f=n[i],c=r?r(f,i,n):f;t&&!r?(i&&o===c||u.push(f),o=c):r?k(o,c)||(o.push(c),u.push(f)):k(u,f)||u.push(f)}return u}var kt=l(function(n){return Tt(B(n,!0,!0))});function Dt(n){for(var t=n&&gt(n,g).length||0,r=Array(t),e=0;e<t;e++)r[e]=dt(n,e);return r}var Rt=l(Dt);function Vt(n,t){return n._chain?m(t).chain():t}function Ft(r){return N(xn(r),function(n){var t=m[n]=r[n];m.prototype[n]=function(){var n=[this._wrapped];return P.apply(n,arguments),Vt(this,t.apply(m,n))}}),m}N(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=e[t];m.prototype[t]=function(){var n=this._wrapped;return null!=n&&(r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Vt(this,n)}}),N(["concat","join","slice"],function(n){var t=e[n];m.prototype[n]=function(){var n=this._wrapped;return Vt(this,n=null!=n?t.apply(n,arguments):n)}});n=Ft({__proto__:null,VERSION:n,restArguments:l,isObject:o,isNull:function(n){return null===n},isUndefined:H,isBoolean:Q,isElement:function(n){return!(!n||1!==n.nodeType)},isString:X,isNumber:Y,isDate:Z,isRegExp:nn,isError:tn,isSymbol:rn,isArrayBuffer:en,isDataView:h,isArray:v,isFunction:p,isArguments:an,isFinite:function(n){return!rn(n)&&C(n)&&!isNaN(parseFloat(n))},isNaN:fn,isTypedArray:vn,isEmpty:function(n){var t;return null==n||("number"==typeof(t=g(n))&&(v(n)||X(n)||an(n))?0===t:0===g(b(n)))},isMatch:dn,isEqual:function(n,t){return mn(n,t)},isMap:u,isWeakMap:t,isSet:U,isWeakSet:a,keys:b,allKeys:c,values:j,pairs:function(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=[t[u],n[t[u]]];return e},invert:An,functions:xn,methods:xn,extend:On,extendOwn:w,assign:w,defaults:Mn,create:function(n,t){return n=En(n),t&&w(n,t),n},clone:function(n){return o(n)?v(n)?n.slice():On({},n):n},tap:function(n,t){return t(n),n},get:In,has:function(n,t){for(var r=(t=_(t)).length,e=0;e<r;e++){var u=t[e];if(!y(n,u))return!1;n=n[u]}return!!r},mapObject:function(n,t,r){t=S(t,r);for(var e=b(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=t(n[a],a,n)}return o},identity:Tn,constant:cn,noop:Vn,toPath:Bn,property:kn,propertyOf:function(t){return null==t?Vn:function(n){return In(t,n)}},matcher:A,matches:A,times:function(n,t,r){var e=Array(Math.max(0,n));t=x(t,r,1);for(var u=0;u<n;u++)e[u]=t(u);return e},random:Fn,now:O,escape:qn,unescape:r,templateSettings:Un,template:function(o,n,t){n=Mn({},n=!n&&t?t:n,m.templateSettings);var r,t=RegExp([(n.escape||Wn).source,(n.interpolate||Wn).source,(n.evaluate||Wn).source].join("|")+"|$","g"),i=0,a="__p+='";if(o.replace(t,function(n,t,r,e,u){return a+=o.slice(i,u).replace(Ln,$n),i=u+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",t=n.variable){if(!Cn.test(t))throw new Error("variable is not a bare identifier: "+t)}else a="with(obj||{}){\n"+a+"}\n",t="obj";a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{r=new Function(t,"_",a)}catch(n){throw n.source=a,n}function e(n){return r.call(this,n,m)}return e.source="function("+t+"){\n"+a+"}",e},result:function(n,t,r){var e=(t=_(t)).length;if(!e)return p(r)?r.call(n):r;for(var u=0;u<e;u++){var o=null==n?void 0:n[t[u]];void 0===o&&(o=r,u=e),n=p(o)?o.call(n):o}return n},uniqueId:function(n){var t=++Kn+"";return n?n+t:t},chain:function(n){return(n=m(n))._chain=!0,n},iteratee:Rn,partial:M,bind:Gn,bindAll:Hn,memoize:function(e,u){function o(n){var t=o.cache,r=""+(u?u.apply(this,arguments):n);return y(t,r)||(t[r]=e.apply(this,arguments)),t[r]}return o.cache={},o},delay:Qn,defer:Xn,throttle:function(r,e,u){function o(){l=!1===u.leading?0:O(),i=null,c=r.apply(a,f),i||(a=f=null)}function n(){var n=O(),t=(l||!1!==u.leading||(l=n),e-(n-l));return a=this,f=arguments,t<=0||e<t?(i&&(clearTimeout(i),i=null),l=n,c=r.apply(a,f),i||(a=f=null)):i||!1===u.trailing||(i=setTimeout(o,t)),c}var i,a,f,c,l=0;return u=u||{},n.cancel=function(){clearTimeout(i),l=0,i=a=f=null},n},debounce:function(t,r,e){function u(){var n=O()-i;n<r?o=setTimeout(u,r-n):(o=null,e||(f=t.apply(c,a)),o||(a=c=null))}var o,i,a,f,c,n=l(function(n){return c=this,a=n,i=O(),o||(o=setTimeout(u,r),e&&(f=t.apply(c,a))),f});return n.cancel=function(){clearTimeout(o),o=a=c=null},n},wrap:function(n,t){return M(t,n)},negate:Yn,compose:function(){var r=arguments,e=r.length-1;return function(){for(var n=e,t=r[e].apply(this,arguments);n--;)t=r[n].call(this,t);return t}},after:function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},before:Zn,once:nt,findKey:tt,findIndex:et,findLastIndex:ut,sortedIndex:ot,indexOf:at,lastIndexOf:ft,find:ct,detect:ct,findWhere:function(n,t){return ct(n,A(t))},each:N,forEach:N,map:I,collect:I,reduce:st,foldl:st,inject:st,reduceRight:pt,foldr:pt,filter:T,select:T,reject:function(n,t,r){return T(n,Yn(S(t)),r)},every:ht,all:ht,some:vt,any:vt,contains:k,includes:k,include:k,invoke:yt,pluck:dt,where:function(n,t){return T(n,A(t))},max:gt,min:function(n,e,t){var r,u,o=1/0,i=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&r<o&&(o=r);else e=S(e,t),N(n,function(n,t,r){((u=e(n,t,r))<i||u===1/0&&o===1/0)&&(o=n,i=u)});return o},shuffle:function(n){return jt(n,1/0)},sample:jt,sortBy:function(n,e,t){var u=0;return e=S(e,t),dt(I(n,function(n,t,r){return{value:n,index:u++,criteria:e(n,t,r)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(e<r||void 0===r)return 1;if(r<e||void 0===e)return-1}return n.index-t.index}),"value")},groupBy:wt,indexBy:_t,countBy:At,partition:xt,toArray:mt,size:function(n){return null==n?0:(E(n)?n:b(n)).length},pick:Ot,omit:Mt,first:Bt,head:Bt,take:Bt,initial:Et,last:function(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[n.length-1]:R(n,Math.max(0,n.length-t))},rest:R,tail:R,drop:R,compact:function(n){return T(n,Boolean)},flatten:function(n,t){return B(n,t,!1)},without:It,uniq:Tt,unique:Tt,union:kt,intersection:function(n){for(var t=[],r=arguments.length,e=0,u=g(n);e<u;e++){var o=n[e];if(!k(t,o)){for(var i=1;i<r&&k(arguments[i],o);i++);i===r&&t.push(o)}}return t},difference:Nt,unzip:Dt,transpose:Dt,zip:Rt,object:function(n,t){for(var r={},e=0,u=g(n);e<u;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},range:function(n,t,r){null==t&&(t=n||0,n=0),r=r||(t<n?-1:1);for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),o=0;o<e;o++,n+=r)u[o]=n;return u},chunk:function(n,t){if(null==t||t<1)return[];for(var r=[],e=0,u=n.length;e<u;)r.push(f.call(n,e,e+=t));return r},mixin:Ft,default:m});return n._=n});
window.wp=window.wp||{},function(r){var t="undefined"==typeof _wpUtilSettings?{}:_wpUtilSettings;wp.template=_.memoize(function(a){var n,s={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(t){var e=document.querySelector("script#tmpl-"+a);if(e)return(n=n||_.template(r(e).html(),s))(t);throw new Error("Template not found: #tmpl-"+a)}}),wp.ajax={settings:t.ajax||{},post:function(t,e){return wp.ajax.send({data:_.isObject(t)?t:_.extend(e||{},{action:t})})},send:function(n,t){var e,a;return _.isObject(n)?t=n:(t=t||{}).data=_.extend(t.data||{},{action:n}),t=_.defaults(t||{},{type:"POST",url:wp.ajax.settings.url,context:this}),(e=(a=r.Deferred(function(a){t.success&&a.done(t.success),t.error&&a.fail(t.error),delete t.success,delete t.error,a.jqXHR=r.ajax(t).done(function(t){var e;"1"!==t&&1!==t||(t={success:!0}),_.isObject(t)&&!_.isUndefined(t.success)?(e=this,a.done(function(){n&&n.data&&"query-attachments"===n.data.action&&a.jqXHR.hasOwnProperty("getResponseHeader")&&a.jqXHR.getResponseHeader("X-WP-Total")?e.totalAttachments=parseInt(a.jqXHR.getResponseHeader("X-WP-Total"),10):e.totalAttachments=0}),a[t.success?"resolveWith":"rejectWith"](this,[t.data])):a.rejectWith(this,[t])}).fail(function(){a.rejectWith(this,arguments)})})).promise()).abort=function(){return a.jqXHR.abort(),this},e}}}(jQuery);
(function(){var t,e,s,i,n=function(t,e){return function(){return t.apply(e,arguments)}},r=function(t,e){function s(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype,t},o={}.hasOwnProperty;(i=function(){function t(){this.options_index=0,this.parsed=[]}return t.prototype.add_node=function(t){return"OPTGROUP"===t.nodeName.toUpperCase()?this.add_group(t):this.add_option(t)},t.prototype.add_group=function(t){var e,s,i,n,r,o;for(e=this.parsed.length,this.parsed.push({array_index:e,group:!0,label:t.label,title:t.title?t.title:void 0,children:0,disabled:t.disabled,classes:t.className}),o=[],s=0,i=(r=t.childNodes).length;s<i;s++)n=r[s],o.push(this.add_option(n,e,t.disabled));return o},t.prototype.add_option=function(t,e,s){if("OPTION"===t.nodeName.toUpperCase())return""!==t.text?(null!=e&&(this.parsed[e].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:t.value,text:t.text,html:t.innerHTML,title:t.title?t.title:void 0,selected:t.selected,disabled:!0===s?s:t.disabled,group_array_index:e,group_label:null!=e?this.parsed[e].label:null,classes:t.className,style:t.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},t}()).select_to_array=function(t){var e,s,n,r,o;for(r=new i,s=0,n=(o=t.childNodes).length;s<n;s++)e=o[s],r.add_node(e);return r.parsed},e=function(){function t(e,s){this.form_field=e,this.options=null!=s?s:{},this.label_click_handler=n(this.label_click_handler,this),t.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return t.prototype.set_default_values=function(){return this.click_test_action=function(t){return function(e){return t.test_active_click(e)}}(this),this.activate_action=function(t){return function(e){return t.activate_field(e)}}(this),this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.is_rtl=this.options.rtl||/\bchosen-rtl\b/.test(this.form_field.className),this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text&&this.options.allow_single_deselect,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null==this.options.enable_split_word_search||this.options.enable_split_word_search,this.group_search=null==this.options.group_search||this.options.group_search,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null==this.options.single_backstroke_delete||this.options.single_backstroke_delete,this.max_selected_options=this.options.max_selected_options||Infinity,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null==this.options.display_selected_options||this.options.display_selected_options,this.display_disabled_options=null==this.options.display_disabled_options||this.options.display_disabled_options,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1,this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY,this.case_sensitive_search=this.options.case_sensitive_search||!1,this.hide_results_on_select=null==this.options.hide_results_on_select||this.options.hide_results_on_select},t.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||t.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||t.default_single_text,this.default_text=this.escape_html(this.default_text),this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||t.default_no_result_text},t.prototype.choice_label=function(t){return this.include_group_label_in_selected&&null!=t.group_label?"<b class='group-name'>"+this.escape_html(t.group_label)+"</b>"+t.html:t.html},t.prototype.mouse_enter=function(){return this.mouse_on_container=!0},t.prototype.mouse_leave=function(){return this.mouse_on_container=!1},t.prototype.input_focus=function(t){if(this.is_multiple){if(!this.active_field)return setTimeout(function(t){return function(){return t.container_mousedown()}}(this),50)}else if(!this.active_field)return this.activate_field()},t.prototype.input_blur=function(t){if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(t){return function(){return t.blur_test()}}(this),100)},t.prototype.label_click_handler=function(t){return this.is_multiple?this.container_mousedown(t):this.activate_field()},t.prototype.results_option_build=function(t){var e,s,i,n,r,o,h;for(e="",h=0,n=0,r=(o=this.results_data).length;n<r&&(s=o[n],i="",""!==(i=s.group?this.result_add_group(s):this.result_add_option(s))&&(h++,e+=i),(null!=t?t.first:void 0)&&(s.selected&&this.is_multiple?this.choice_build(s):s.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(s))),!(h>=this.max_shown_results));n++);return e},t.prototype.result_add_option=function(t){var e,s;return t.search_match&&this.include_option_in_results(t)?(e=[],t.disabled||t.selected&&this.is_multiple||e.push("active-result"),!t.disabled||t.selected&&this.is_multiple||e.push("disabled-result"),t.selected&&e.push("result-selected"),null!=t.group_array_index&&e.push("group-option"),""!==t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),t.style&&(s.style.cssText=t.style),s.setAttribute("data-option-array-index",t.array_index),s.innerHTML=t.highlighted_html||t.html,t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.result_add_group=function(t){var e,s;return(t.search_match||t.group_match)&&t.active_options>0?((e=[]).push("group-result"),t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),s.innerHTML=t.highlighted_html||this.escape_html(t.label),t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.results_update_field=function(){if(this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing)return this.winnow_results()},t.prototype.reset_single_select_options=function(){var t,e,s,i,n;for(n=[],t=0,e=(s=this.results_data).length;t<e;t++)(i=s[t]).selected?n.push(i.selected=!1):n.push(void 0);return n},t.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},t.prototype.results_search=function(t){return this.results_showing?this.winnow_results():this.results_show()},t.prototype.winnow_results=function(t){var e,s,i,n,r,o,h,l,c,_,a,u,d,p,f;for(this.no_results_clear(),_=0,e=(h=this.get_search_text()).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),c=this.get_search_regex(e),i=0,n=(l=this.results_data).length;i<n;i++)(r=l[i]).search_match=!1,a=null,u=null,r.highlighted_html="",this.include_option_in_results(r)&&(r.group&&(r.group_match=!1,r.active_options=0),null!=r.group_array_index&&this.results_data[r.group_array_index]&&(0===(a=this.results_data[r.group_array_index]).active_options&&a.search_match&&(_+=1),a.active_options+=1),f=r.group?r.label:r.text,r.group&&!this.group_search||(u=this.search_string_match(f,c),r.search_match=null!=u,r.search_match&&!r.group&&(_+=1),r.search_match?(h.length&&(d=u.index,o=f.slice(0,d),s=f.slice(d,d+h.length),p=f.slice(d+h.length),r.highlighted_html=this.escape_html(o)+"<em>"+this.escape_html(s)+"</em>"+this.escape_html(p)),null!=a&&(a.group_match=!0)):null!=r.group_array_index&&this.results_data[r.group_array_index].search_match&&(r.search_match=!0)));return this.result_clear_highlight(),_<1&&h.length?(this.update_results_content(""),this.no_results(h)):(this.update_results_content(this.results_option_build()),(null!=t?t.skip_highlight:void 0)?void 0:this.winnow_results_set_highlight())},t.prototype.get_search_regex=function(t){var e,s;return s=this.search_contains?t:"(^|\\s|\\b)"+t+"[^\\s]*",this.enable_split_word_search||this.search_contains||(s="^"+s),e=this.case_sensitive_search?"":"i",new RegExp(s,e)},t.prototype.search_string_match=function(t,e){var s;return s=e.exec(t),!this.search_contains&&(null!=s?s[1]:void 0)&&(s.index+=1),s},t.prototype.choices_count=function(){var t,e,s;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,t=0,e=(s=this.form_field.options).length;t<e;t++)s[t].selected&&(this.selected_option_count+=1);return this.selected_option_count},t.prototype.choices_click=function(t){if(t.preventDefault(),this.activate_field(),!this.results_showing&&!this.is_disabled)return this.results_show()},t.prototype.keydown_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),8!==s&&this.pending_backstroke&&this.clear_backstroke(),s){case 8:this.backstroke_length=this.get_search_field_value().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(t),this.mouse_on_container=!1;break;case 13:case 27:this.results_showing&&t.preventDefault();break;case 32:this.disable_search&&t.preventDefault();break;case 38:t.preventDefault(),this.keyup_arrow();break;case 40:t.preventDefault(),this.keydown_arrow()}},t.prototype.keyup_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),s){case 8:this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0?this.keydown_backstroke():this.pending_backstroke||(this.result_clear_highlight(),this.results_search());break;case 13:t.preventDefault(),this.results_showing&&this.result_select(t);break;case 27:this.results_showing&&this.results_hide();break;case 9:case 16:case 17:case 18:case 38:case 40:case 91:break;default:this.results_search()}},t.prototype.clipboard_event_checker=function(t){if(!this.is_disabled)return setTimeout(function(t){return function(){return t.results_search()}}(this),50)},t.prototype.container_width=function(){return null!=this.options.width?this.options.width:this.form_field.offsetWidth+"px"},t.prototype.include_option_in_results=function(t){return!(this.is_multiple&&!this.display_selected_options&&t.selected)&&(!(!this.display_disabled_options&&t.disabled)&&!t.empty)},t.prototype.search_results_touchstart=function(t){return this.touch_started=!0,this.search_results_mouseover(t)},t.prototype.search_results_touchmove=function(t){return this.touch_started=!1,this.search_results_mouseout(t)},t.prototype.search_results_touchend=function(t){if(this.touch_started)return this.search_results_mouseup(t)},t.prototype.outerHTML=function(t){var e;return t.outerHTML?t.outerHTML:((e=document.createElement("div")).appendChild(t),e.innerHTML)},t.prototype.get_single_html=function(){return'<a class="chosen-single chosen-default">\n  <span>'+this.default_text+'</span>\n  <div><b></b></div>\n</a>\n<div class="chosen-drop">\n  <div class="chosen-search">\n    <input class="chosen-search-input" type="text" autocomplete="off" />\n  </div>\n  <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_multi_html=function(){return'<ul class="chosen-choices">\n  <li class="search-field">\n    <input class="chosen-search-input" type="text" autocomplete="off" value="'+this.default_text+'" />\n  </li>\n</ul>\n<div class="chosen-drop">\n  <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_no_results_html=function(t){return'<li class="no-results">\n  '+this.results_none_found+" <span>"+this.escape_html(t)+"</span>\n</li>"},t.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:!(/iP(od|hone)/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||/Android.*Mobile/i.test(window.navigator.userAgent))},t.default_multiple_text="Select Some Options",t.default_single_text="Select an Option",t.default_no_result_text="No results match",t}(),(t=jQuery).fn.extend({chosen:function(i){return e.browser_is_supported()?this.each(function(e){var n,r;r=(n=t(this)).data("chosen"),"destroy"!==i?r instanceof s||n.data("chosen",new s(this,i)):r instanceof s&&r.destroy()}):this}}),s=function(s){function n(){return n.__super__.constructor.apply(this,arguments)}return r(n,e),n.prototype.setup=function(){return this.form_field_jq=t(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},n.prototype.set_up_html=function(){var e,s;return(e=["chosen-container"]).push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chosen-rtl"),s={"class":e.join(" "),title:this.form_field.title},this.form_field.id.length&&(s.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=t("<div />",s),this.container.width(this.container_width()),this.is_multiple?this.container.html(this.get_multi_html()):this.container.html(this.get_single_html()),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},n.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},n.prototype.register_observers=function(){return this.container.on("touchstart.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.container.on("touchend.chosen",function(t){return function(e){t.container_mouseup(e)}}(this)),this.container.on("mousedown.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.container.on("mouseup.chosen",function(t){return function(e){t.container_mouseup(e)}}(this)),this.container.on("mouseenter.chosen",function(t){return function(e){t.mouse_enter(e)}}(this)),this.container.on("mouseleave.chosen",function(t){return function(e){t.mouse_leave(e)}}(this)),this.search_results.on("mouseup.chosen",function(t){return function(e){t.search_results_mouseup(e)}}(this)),this.search_results.on("mouseover.chosen",function(t){return function(e){t.search_results_mouseover(e)}}(this)),this.search_results.on("mouseout.chosen",function(t){return function(e){t.search_results_mouseout(e)}}(this)),this.search_results.on("mousewheel.chosen DOMMouseScroll.chosen",function(t){return function(e){t.search_results_mousewheel(e)}}(this)),this.search_results.on("touchstart.chosen",function(t){return function(e){t.search_results_touchstart(e)}}(this)),this.search_results.on("touchmove.chosen",function(t){return function(e){t.search_results_touchmove(e)}}(this)),this.search_results.on("touchend.chosen",function(t){return function(e){t.search_results_touchend(e)}}(this)),this.form_field_jq.on("chosen:updated.chosen",function(t){return function(e){t.results_update_field(e)}}(this)),this.form_field_jq.on("chosen:activate.chosen",function(t){return function(e){t.activate_field(e)}}(this)),this.form_field_jq.on("chosen:open.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.form_field_jq.on("chosen:close.chosen",function(t){return function(e){t.close_field(e)}}(this)),this.search_field.on("blur.chosen",function(t){return function(e){t.input_blur(e)}}(this)),this.search_field.on("keyup.chosen",function(t){return function(e){t.keyup_checker(e)}}(this)),this.search_field.on("keydown.chosen",function(t){return function(e){t.keydown_checker(e)}}(this)),this.search_field.on("focus.chosen",function(t){return function(e){t.input_focus(e)}}(this)),this.search_field.on("cut.chosen",function(t){return function(e){t.clipboard_event_checker(e)}}(this)),this.search_field.on("paste.chosen",function(t){return function(e){t.clipboard_event_checker(e)}}(this)),this.is_multiple?this.search_choices.on("click.chosen",function(t){return function(e){t.choices_click(e)}}(this)):this.container.on("click.chosen",function(t){t.preventDefault()})},n.prototype.destroy=function(){return t(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.form_field_label.length>0&&this.form_field_label.off("click.chosen"),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},n.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field.disabled||this.form_field_jq.parents("fieldset").is(":disabled"),this.container.toggleClass("chosen-disabled",this.is_disabled),this.search_field[0].disabled=this.is_disabled,this.is_multiple||this.selected_item.off("focus.chosen",this.activate_field),this.is_disabled?this.close_field():this.is_multiple?void 0:this.selected_item.on("focus.chosen",this.activate_field)},n.prototype.container_mousedown=function(e){var s;if(!this.is_disabled)return!e||"mousedown"!==(s=e.type)&&"touchstart"!==s||this.results_showing||e.preventDefault(),null!=e&&t(e.target).hasClass("search-choice-close")?void 0:(this.active_field?this.is_multiple||!e||t(e.target)[0]!==this.selected_item[0]&&!t(e.target).parents("a.chosen-single").length||(e.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),t(this.container[0].ownerDocument).on("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},n.prototype.container_mouseup=function(t){if("ABBR"===t.target.nodeName&&!this.is_disabled)return this.results_reset(t)},n.prototype.search_results_mousewheel=function(t){var e;if(t.originalEvent&&(e=t.originalEvent.deltaY||-t.originalEvent.wheelDelta||t.originalEvent.detail),null!=e)return t.preventDefault(),"DOMMouseScroll"===t.type&&(e*=40),this.search_results.scrollTop(e+this.search_results.scrollTop())},n.prototype.blur_test=function(t){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},n.prototype.close_field=function(){return t(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale(),this.search_field.blur()},n.prototype.activate_field=function(){if(!this.is_disabled)return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},n.prototype.test_active_click=function(e){var s;return(s=t(e.target).closest(".chosen-container")).length&&this.container[0]===s[0]?this.active_field=!0:this.close_field()},n.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=i.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},n.prototype.result_do_highlight=function(t){var e,s,i,n,r;if(t.length){if(this.result_clear_highlight(),this.result_highlight=t,this.result_highlight.addClass("highlighted"),i=parseInt(this.search_results.css("maxHeight"),10),r=this.search_results.scrollTop(),n=i+r,s=this.result_highlight.position().top+this.search_results.scrollTop(),(e=s+this.result_highlight.outerHeight())>=n)return this.search_results.scrollTop(e-i>0?e-i:0);if(s<r)return this.search_results.scrollTop(s)}},n.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},n.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.get_search_field_value()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},n.prototype.update_results_content=function(t){return this.search_results.html(t)},n.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},n.prototype.set_tab_index=function(t){var e;if(this.form_field.tabIndex)return e=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=e},n.prototype.set_label_behavior=function(){if(this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=t("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0)return this.form_field_label.on("click.chosen",this.label_click_handler)},n.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},n.prototype.search_results_mouseup=function(e){var s;if((s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first()).length)return this.result_highlight=s,this.result_select(e),this.search_field.focus()},n.prototype.search_results_mouseover=function(e){var s;if(s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first())return this.result_do_highlight(s)},n.prototype.search_results_mouseout=function(e){if(t(e.target).hasClass("active-result")||t(e.target).parents(".active-result").first())return this.result_clear_highlight()},n.prototype.choice_build=function(e){var s,i;return s=t("<li />",{"class":"search-choice"}).html("<span>"+this.choice_label(e)+"</span>"),e.disabled?s.addClass("search-choice-disabled"):((i=t("<a />",{"class":"search-choice-close","data-option-array-index":e.array_index})).on("click.chosen",function(t){return function(e){return t.choice_destroy_link_click(e)}}(this)),s.append(i)),this.search_container.before(s)},n.prototype.choice_destroy_link_click=function(e){if(e.preventDefault(),e.stopPropagation(),!this.is_disabled)return this.choice_destroy(t(e.target))},n.prototype.choice_destroy=function(t){if(this.result_deselect(t[0].getAttribute("data-option-array-index")))return this.active_field?this.search_field.focus():this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.get_search_field_value().length<1&&this.results_hide(),t.parents("li").first().remove(),this.search_field_scale()},n.prototype.results_reset=function(){if(this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.trigger_form_field_change(),this.active_field)return this.results_hide()},n.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},n.prototype.result_select=function(t){var e,s;if(this.result_highlight)return e=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?e.removeClass("active-result"):this.reset_single_select_options(),e.addClass("result-selected"),s=this.results_data[e[0].getAttribute("data-option-array-index")],s.selected=!0,this.form_field.options[s.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(s):this.single_set_selected_text(this.choice_label(s)),this.is_multiple&&(!this.hide_results_on_select||t.metaKey||t.ctrlKey)?t.metaKey||t.ctrlKey?this.winnow_results({skip_highlight:!0}):(this.search_field.val(""),this.winnow_results()):(this.results_hide(),this.show_search_field_default()),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.trigger_form_field_change({selected:this.form_field.options[s.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,t.preventDefault(),this.search_field_scale())},n.prototype.single_set_selected_text=function(t){return null==t&&(t=this.default_text),t===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(t)},n.prototype.result_deselect=function(t){var e;return e=this.results_data[t],!this.form_field.options[e.options_index].disabled&&(e.selected=!1,this.form_field.options[e.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.trigger_form_field_change({deselected:this.form_field.options[e.options_index].value}),this.search_field_scale(),!0)},n.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect)return this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")},n.prototype.get_search_field_value=function(){return this.search_field.val()},n.prototype.get_search_text=function(){return t.trim(this.get_search_field_value())},n.prototype.escape_html=function(e){return t("<div/>").text(e).html()},n.prototype.winnow_results_set_highlight=function(){var t,e;if(e=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),null!=(t=e.length?e.first():this.search_results.find(".active-result").first()))return this.result_do_highlight(t)},n.prototype.no_results=function(t){var e;return e=this.get_no_results_html(t),this.search_results.append(e),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},n.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},n.prototype.keydown_arrow=function(){var t;return this.results_showing&&this.result_highlight?(t=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(t):void 0:this.results_show()},n.prototype.keyup_arrow=function(){var t;return this.results_showing||this.is_multiple?this.result_highlight?(t=this.result_highlight.prevAll("li.active-result")).length?this.result_do_highlight(t.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight()):void 0:this.results_show()},n.prototype.keydown_backstroke=function(){var t;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(t=this.search_container.siblings("li.search-choice").last()).length&&!t.hasClass("search-choice-disabled")?(this.pending_backstroke=t,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0},n.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},n.prototype.search_field_scale=function(){var e,s,i,n,r,o,h;if(this.is_multiple){for(r={position:"absolute",left:"-1000px",top:"-1000px",display:"none",whiteSpace:"pre"},s=0,i=(o=["fontSize","fontStyle","fontWeight","fontFamily","lineHeight","textTransform","letterSpacing"]).length;s<i;s++)r[n=o[s]]=this.search_field.css(n);return(e=t("<div />").css(r)).text(this.get_search_field_value()),t("body").append(e),h=e.width()+25,e.remove(),this.container.is(":visible")&&(h=Math.min(this.container.outerWidth()-10,h)),this.search_field.width(h)}},n.prototype.trigger_form_field_change=function(t){return this.form_field_jq.trigger("input",t),this.form_field_jq.trigger("change",t)},n}()}).call(this);
(()=>{"use strict";const t=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)},n=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)},e=function(e,o){return function(r,i,s){let c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const l=e[o];if(!n(r))return;if(!t(i))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const a={callback:s,priority:c,namespace:i};if(l[r]){const t=l[r].handlers;let n;for(n=t.length;n>0&&!(c>=t[n-1].priority);n--);n===t.length?t[n]=a:t.splice(n,0,a),l.__current.forEach((t=>{t.name===r&&t.currentIndex>=n&&t.currentIndex++}))}else l[r]={handlers:[a],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,i,s,c)}},o=function(e,o){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,s){const c=e[o];if(!n(i))return;if(!r&&!t(s))return;if(!c[i])return 0;let l=0;if(r)l=c[i].handlers.length,c[i]={runs:c[i].runs,handlers:[]};else{const t=c[i].handlers;for(let n=t.length-1;n>=0;n--)t[n].namespace===s&&(t.splice(n,1),l++,c.__current.forEach((t=>{t.name===i&&t.currentIndex>=n&&t.currentIndex--})))}return"hookRemoved"!==i&&e.doAction("hookRemoved",i,s),l}},r=function(t,n){return function(e,o){const r=t[n];return void 0!==o?e in r&&r[e].handlers.some((t=>t.namespace===o)):e in r}},i=function(t,n){let e=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o){const r=t[n];r[o]||(r[o]={handlers:[],runs:0}),r[o].runs++;const i=r[o].handlers;for(var s=arguments.length,c=new Array(s>1?s-1:0),l=1;l<s;l++)c[l-1]=arguments[l];if(!i||!i.length)return e?c[0]:void 0;const a={name:o,currentIndex:0};for(r.__current.push(a);a.currentIndex<i.length;){const t=i[a.currentIndex].callback.apply(null,c);e&&(c[0]=t),a.currentIndex++}return r.__current.pop(),e?c[0]:void 0}},s=function(t,n){return function(){var e,o;const r=t[n];return null!==(e=null===(o=r.__current[r.__current.length-1])||void 0===o?void 0:o.name)&&void 0!==e?e:null}},c=function(t,n){return function(e){const o=t[n];return void 0===e?void 0!==o.__current[0]:!!o.__current[0]&&e===o.__current[0].name}},l=function(t,e){return function(o){const r=t[e];if(n(o))return r[o]&&r[o].runs?r[o].runs:0}};class a{constructor(){this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=e(this,"actions"),this.addFilter=e(this,"filters"),this.removeAction=o(this,"actions"),this.removeFilter=o(this,"filters"),this.hasAction=r(this,"actions"),this.hasFilter=r(this,"filters"),this.removeAllActions=o(this,"actions",!0),this.removeAllFilters=o(this,"filters",!0),this.doAction=i(this,"actions"),this.applyFilters=i(this,"filters",!0),this.currentAction=s(this,"actions"),this.currentFilter=s(this,"filters"),this.doingAction=c(this,"actions"),this.doingFilter=c(this,"filters"),this.didAction=l(this,"actions"),this.didFilter=l(this,"filters")}}const u=function(){return new a},h=u(),{addAction:d,addFilter:f,removeAction:m,removeFilter:k,hasAction:v,hasFilter:p,removeAllActions:b,removeAllFilters:y,doAction:g,applyFilters:A,currentAction:_,currentFilter:F,doingAction:B,doingFilter:w,didAction:I,didFilter:N,actions:j,filters:x}=h;function S(t){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},S(t)}function T(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,C(o.key),o)}}function P(t,n,e){return(n=C(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}function C(t){var n=function(t,n){if("object"!==S(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var o=e.call(t,"string");if("object"!==S(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===S(n)?n:String(n)}var O=function(){function t(n){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),P(this,"hooks",void 0),P(this,"globalNamespace","jet-plugins"),P(this,"blocksNamespace","frontend.element-ready"),P(this,"blocksConditions",{}),this.hooks=n||u()}var n,e;return n=t,(e=[{key:"hookNameFromBlock",value:function(t){var n=this.getBlockName(t);return n?"".concat(this.globalNamespace,".").concat(this.blocksNamespace,".").concat(n):""}},{key:"getBlockName",value:function(t){var n;return"string"==typeof t?t.replace("/","."):this.getBlockName((null==t||null===(n=t.dataset)||void 0===n?void 0:n.isBlock)||"")}},{key:"init",value:function(t,n){var e=this;if(n&&n.length&&this.bulkBlocksInit(n),(t=t||jQuery("body"))&&t.length){var o=t.find('[data-is-block*="/"]');o&&o.length&&o.each((function(t,n){e.initBlock(n)}))}}},{key:"isBlockRequiresInit",value:function(t){var n=void 0===t.dataset.jetInited,e=this.getBlockName(t);return n&&this.blocksConditions[e]&&(n=this.blocksConditions[e](t)),n}},{key:"initBlock",value:function(t,n){n=n||!1;var e=this.hookNameFromBlock(t);if(e&&this.hasHandlers(e)){var o=n;o||(o=this.isBlockRequiresInit(t)),o&&(this.hooks.doAction(e,jQuery(t)),t.dataset.jetInited=!0)}}},{key:"hasHandlers",value:function(t){return!!this.hooks.actions[t]&&!(!this.hooks.actions[t].handlers||!this.hooks.actions[t].handlers.length)}},{key:"registerBlockHandlers",value:function(t){var n=this.getBlockName(t.block);this.hooks.addAction(this.hookNameFromBlock(n),"".concat(this.globalNamespace,"/").concat(t.block),t.callback),t.condition&&"function"==typeof t.condition&&(this.blocksConditions[n]=t.condition)}},{key:"bulkBlocksInit",value:function(t){for(var n=0;n<t.length;n++)this.registerBlockHandlers(t[n])}}])&&T(n.prototype,e),Object.defineProperty(n,"prototype",{writable:!1}),t}();window.JetPlugins=window.JetPlugins||new O})();
(function($){
'use strict';
var JetSearch={
addedScripts: [],
addedStyles: [],
addedPostCSS: [],
assetsPromises: [],
initElementor: function(){
var widgets={
'jet-ajax-search.default': JetSearch.widgetAjaxSearch,
'jet-search-suggestions.default': JetSearch.widgetSearchSuggestions
};
$.each(widgets, function(widget, callback){
window.elementorFrontend.hooks.addAction('frontend/element_ready/' + widget, callback);
});
window.elementorFrontend.elements.$window.on('elementor/nested-tabs/activate',
(event, content)=> {
const $content=$(content);
JetSearch.reinitSlickSlider($content);
JetSearch.initElementsHandlers($content);
}
);
window.addEventListener('elementor/popup/show',(event)=> {
const instance=event.detail.instance;
const interval=setInterval(()=> {
if(! instance.keyboardHandler) return;
const handler=instance.keyboardHandler;
const config=handler.config;
if(! config||! config.$modalElements) return;
if(handler.changeFocusAfterAnimation!==true){
clearInterval(interval);
return;
}
const $input=instance.$element.find('.jet-ajax-search__field');
if($input.length){
handler.firstFocusableElement=$input[0];
}
clearInterval(interval);
}, 50) ;
setTimeout(()=> clearInterval(interval), 1000);
});
/*
$(document).on('jet-ajax-search/show-results', function(event, searchResults){
searchResults.find('.jet-ajax-search__results-item').css('border', '2px solid red');
});
*/
/*
* Example of usage `jet-ajax-search/results-area/listing-add-suggestion` trigger
*
* Parameters:
* - itemWrapper: A CSS selector that points to the element containing the wrapper of the search result item.
* - itemLink: Represents the element that contains the link of the search result item.
* - itemTitle: A CSS selector that points to the element containing the title of the search result item.
* - itemUrlAttr: Specifies the attribute used to extract the URL from the itemLink.
$(document).on("jet-ajax-search/results-area/listing-add-suggestion", function(event, itemWrapper, itemLink, itemTitle, itemUrlAttr){
itemWrapper='.jet-ajax-search__results-item',
itemLink=$('.jet-listing-dynamic-image__link', itemWrapper);
itemTitle='.jet-ajax-search-item-title .jet-listing-dynamic-field__content';
itemUrlAttr='href';
window.JetSearch.addSuggestionFromResultAreaItem(itemWrapper, itemLink, itemTitle, itemUrlAttr);
});
*/
},
initBricks: function($scope){
if(window.bricksIsFrontend){
return;
}
$scope=$scope||$('body');
JetSearch.initBlocks($scope);
},
initBlocks: function($scope){
$scope=$scope||$('body');
window.JetPlugins.init($scope, [
{
block: 'jet-search/ajax-search',
callback: JetSearch.widgetAjaxSearch
},
{
block: 'jet-search/search-suggestions',
callback: JetSearch.widgetSearchSuggestions
}
]);
},
widgetAjaxSearch: function($scope){
var settings={
searchClass:                 '.jet-ajax-search',
searchFormClass:             '.jet-ajax-search__form',
fieldsHolderClass:           '.jet-ajax-search__fields-holder',
inputClass:                  '.jet-ajax-search__field',
settingsInput:               'input[name="jet_ajax_search_settings"]',
submitClass:                 '.jet-ajax-search__submit',
chosenClass:                 '.jet-ajax-search__categories select[name="jet_ajax_search_categories"]',
resultsAreaClass:            '.jet-ajax-search__results-area',
resultsHeaderClass:          '.jet-ajax-search__results-header',
resultsFooterClass:          '.jet-ajax-search__results-footer',
listHolderClass:             '.jet-ajax-search__results-holder',
listClass:                   '.jet-ajax-search__results-list',
listInnerClass:              '.jet-ajax-search__results-list-inner',
listSlideClass:              '.jet-ajax-search__results-slide',
itemClass:                   '.jet-ajax-search__results-item',
inlineSuggestionsAreaClass:  '.jet-ajax-search__suggestions-inline-area',
inlineSuggestionsItemClass:  '.jet-ajax-search__suggestions-inline-area-item',
resultsSuggestionsAreaClass: '.jet-ajax-search__results-suggestions-area',
resultsSuggestionItemClass:  '.jet-ajax-search__results-suggestions-area-item',
countClass:                  '.jet-ajax-search__results-count',
messageHolderClass:          '.jet-ajax-search__message',
fullResultsClass:            '.jet-ajax-search__full-results',
navigationClass:             '.jet-ajax-search__navigation-holder',
navButtonClass:              '.jet-ajax-search__navigate-button',
bulletClass:                 '.jet-ajax-search__bullet-button',
numberClass:                 '.jet-ajax-search__number-button',
prevClass:                   '.jet-ajax-search__prev-button',
nextClass:                   '.jet-ajax-search__next-button',
activeNavClass:              '.jet-ajax-search__active-button',
disableNavClass:             '.jet-ajax-search__navigate-button-disable',
spinnerClass:                '.jet-ajax-search__spinner-holder',
handlerId:                   'jetSearchSettings',
isRtl:(window.elementorFrontend&&window.elementorFrontend.config.is_rtl) ? window.elementorFrontend.config.is_rtl:$('body').hasClass('rtl')
};
if($scope.hasClass('jet-ajax-search-block')){
var resultAreaWidthBy=$scope.find(settings.searchClass).data('settings')['results_area_width_by'],
resultAreaCustomWidth=$scope.find(settings.searchClass).data('settings')['results_area_custom_width'],
resultAreaCustomWidthPosition=$scope.find(settings.searchClass).data('settings')['results_area_custom_position'],
resultAreaContainer=$('.jet-ajax-search__results-area', $scope);
if("custom"===resultAreaWidthBy){
if(""!==resultAreaCustomWidth){
resultAreaContainer.width(resultAreaCustomWidth);
}
switch(resultAreaCustomWidthPosition){
case 'left':
resultAreaContainer.css("left", 0);
resultAreaContainer.css("right", "auto");
break;
case 'center':
resultAreaContainer.css("left", "50%");
resultAreaContainer.css("right", "auto");
resultAreaContainer.css("-webkit-transform", "translateX(-55%)");
resultAreaContainer.css("transform", "translateX(-50%)");
break;
case 'right':
resultAreaContainer.css("left", "auto");
resultAreaContainer.css("right", 0);
break;
}}
}
$scope.find(settings.searchClass).jetAjaxSearch(settings);
$scope.find(settings.inputClass)
.on('focus.jetSearchSlick input.jetSearchSlick', function(){
window.JetSearch.pauseAllSlick($(document) );
})
.on('blur.jetSearchSlick', function(){
window.JetSearch.playAllSlick($(document) );
});
var $chosenSelect=$scope.find(settings.chosenClass);
if($chosenSelect[0]){
$chosenSelect.chosen({
disable_search: true,
placeholder_text: '',
placeholder_text_single: ''
});
}},
widgetSearchSuggestions: function($scope){
let	$target=$scope.find('.jet-search-suggestions'),
settings={
searchClass:        '.jet-search-suggestions',
searchFormClass:    '.jet-search-suggestions__form',
fieldsHolderClass:  '.jet-search-suggestions__fields-holder',
inputClass:         '.jet-search-suggestions__field',
spinnerClass:       '.jet-search-suggestions__spinner-holder',
messageHolderClass: '.jet-search-suggestions__message',
settingsInput:      'input[name="jet_search_suggestions_settings"]',
submitClass:        '.jet-search-suggestions__submit',
chosenClass:        '.jet-search-suggestions__categories select[name="jet_search_suggestions_categories"]',
inlineClass:        '.jet-search-suggestions__inline-area',
inlineItemClass:    '.jet-search-suggestions__inline-area-item',
focusClass:         '.jet-search-suggestions__focus-area',
focusHolderClass:   '.jet-search-suggestions__focus-results-holder',
focusItemClass:     '.jet-search-suggestions__focus-area-item',
handlerId:          'jetSearchSettings',
isRtl:(window.elementorFrontend&&window.elementorFrontend.config.is_rtl) ? window.elementorFrontend.config.is_rtl:$('body').hasClass('rtl')
},
$chosenSelect=$scope.find(settings.chosenClass);
$target.jetAjaxSearchSuggestions(settings);
if($chosenSelect[0]){
$chosenSelect.chosen({
disable_search: true,
placeholder_text: '',
placeholder_text_single: ''
});
}},
setFormSuggestion: function(name, form, url=''){
const ajaxSettings=window['jetSearchSettings']['searchSuggestions']||{},
sendData={
name: name
},
nonce=ajaxSettings.nonce_rest;
const ajaxData={
action: ajaxSettings.add_action,
data: sendData||{},
nonce: ajaxSettings.nonce
};
$.ajax({
type: 'POST',
url: ajaxSettings.add_suggestions_rest_api_url,
data: ajaxData,
dataType: 'json',
beforeSend: function(jqXHR){
jqXHR.setRequestHeader('X-WP-Nonce', nonce);
},
complete: function(){
if(false!=form){
if(''!=url){
url=JetSearch.getResultsUrl(form, url);
window.location.href=url;
}else{
form.submit();
}}else{
window.location.href=url;
}}
});
},
getResultsUrl: function(form, url=''){
let redirectUrl='';
if(''!=url){
redirectUrl=url;
}else{
redirectUrl=form.attr('action');
}
if(redirectUrl&&! redirectUrl.startsWith('http')&&! redirectUrl.startsWith('/') ){
const actionBase=(form.attr('action')||'/').replace(/\/+$/, '');
redirectUrl=actionBase + '/' + redirectUrl.replace(/^\/+/, '');
}
let formData={},
result='';
formData=form.serializeArray().reduce(function(obj, item){
if(item.name==='s'){
item.value=item.value.replace(/\u3000/g, ' ');
}
obj[item.name]=item.value;
return obj;
}, {});
if(Object.keys(formData).length > 0){
result=redirectUrl + '?' + $.param(formData).replace(/=&/g, '&').replace(/=$/, '');
}else{
result=redirectUrl;
}
return result;
},
suggestionsPreloader: function(is_active, state, preloader){
if(! is_active){
return;
}
if(''!=preloader){
if('show'===state){
preloader.addClass('show');
}else if('hide'===state){
preloader.removeClass('show');
}}
},
getUrlParams: function(){
let params={},
queryString=window.location.search.slice(1);
if(queryString){
let pairs=queryString.split('&');
for(let i=0; i < pairs.length; i++){
let pair=pairs[i].split('=');
params[pair[0]]=decodeURIComponent(pair[1]||'');
}}
return params;
},
md5: function(str){
let hash='';
for (let i=0; i < str.length; i++){
let char=str.charCodeAt(i);
hash +=char;
}
return hash;
},
generateHash: function(string, length=6){
let md5Hash=JetSearch.md5(string),
hash='';
for(let i=0; i < length; i++){
hash +=md5Hash.charAt(Math.floor(Math.random() * md5Hash.length) );
}
hash=hash.toLowerCase();
return hash;
},
generateRandomId: function(){
let hash=JetSearch.generateHash(Math.random().toString());
return hash;
},
initElementsHandlers: function($selector){
window.JetPlugins.init($selector);
$selector.find('[data-element_type]').each(function(){
var excludeWidgets=[
'jet-form-builder-form.default',
'nav-menu.default',
'jet-woo-product-gallery-slider.default',
'accordion.default'
];
var $this=$(this),
elementType=$this.data('element_type');
if(!elementType){
return;
}
if('widget'===elementType){
elementType=$this.data('widget_type');
if(excludeWidgets.includes(elementType) ){
return;
}
window.elementorFrontend.hooks.doAction('frontend/element_ready/widget', $this, $);
}
window.elementorFrontend.hooks.doAction('frontend/element_ready/global', $this, $);
window.elementorFrontend.hooks.doAction('frontend/element_ready/' + elementType, $this, $);
});
if(window.elementorFrontend){
const elementorLazyLoad=new Event("elementor/lazyload/observe");
document.dispatchEvent(elementorLazyLoad);
}
if(window.JetPopupFrontend&&window.JetPopupFrontend.initAttachedPopups){
window.JetPopupFrontend.initAttachedPopups($selector);
}},
reinitSlickSlider: function($scope){
var $slider=$scope.find('.slick-initialized');
if($slider.length){
$slider.each(function(){
$(this).slick('unslick');
});
}},
toggleSlickAutoplay: function($root, shouldPlay){
const $slicks=$root ? $root.find('.slick-initialized'):$('.slick-initialized');
$slicks.each(function(){
try {
$(this).slick(shouldPlay ? 'slickPlay':'slickPause');
} catch(e){}});
},
pauseAllSlick: function($root){
this.toggleSlickAutoplay($root||$(document), false);
},
playAllSlick: function($root){
setTimeout(()=> this.toggleSlickAutoplay($root||$(document), true), 60);
},
enqueueAssetsFromResponse: function(response){
if(response.data.scripts){
JetSearch.enqueueScripts(response.data.scripts);
}
if(response.data.styles){
JetSearch.enqueueStyles(response.data.styles);
}},
enqueueScripts: function(scripts){
$.each(scripts, function(handle, scriptHtml){
JetSearch.enqueueScript(handle, scriptHtml)
});
},
enqueueStyles: function(styles){
$.each(styles, function(handle, styleHtml){
JetSearch.enqueueStyle(handle, styleHtml)
});
},
enqueueScript: function(handle, scriptHtml){
if(-1!==JetSearch.addedScripts.indexOf(handle) ){
return;
}
if(! scriptHtml){
return;
}
var selector='script[id="' + handle + '-js"]';
if($(selector).length){
return;
}
var scriptsTags=scriptHtml.match(/<script[\s\S]*?<\/script>/gm);
if(scriptsTags.length){
for(var i=0; i < scriptsTags.length; i++){
JetSearch.assetsPromises.push(new Promise(function(resolve, reject){
var $tag=$(scriptsTags[i]);
if($tag[0].src){
var tag=document.createElement('script');
tag.type=$tag[0].type;
tag.src=$tag[0].src;
tag.id=$tag[0].id;
tag.async=false;
tag.onload=function(){
resolve();
};
document.body.append(tag);
}else{
$('body').append(scriptsTags[i]);
resolve();
}})
);
}}
JetSearch.addedScripts.push(handle);
},
enqueueStyle: function(handle, styleHtml){
if(-1!==handle.indexOf('google-fonts') ){
JetSearch.enqueueGoogleFonts(handle, styleHtml);
return;
}
if(-1!==JetSearch.addedStyles.indexOf(handle) ){
return;
}
var selector='link[id="' + handle + '-css"],style[id="' + handle + '"]';
if($(selector).length){
return;
}
$('head').append(styleHtml);
JetSearch.addedStyles.push(handle);
if(-1!==handle.indexOf('elementor-post') ){
var postID=handle.replace('elementor-post-', '');
JetSearch.addedPostCSS.push(postID);
}},
enqueueGoogleFonts: function(handle, styleHtml){
var selector='link[id="' + handle + '-css"]';
if($(selector).length){}
$('head').append(styleHtml);
},
reinitBricksScripts: function(_this){
if(!$('body').hasClass('theme-bricks')&&!$('body').hasClass('bricks-is-frontend')){
return;
}
const resultsArea=$('.jet-ajax-search__results-list', _this);
const sourcesHolder=$('.jet-ajax-search__source-results-holder', _this);
resultsArea.find('[data-script-id]').each(function(){
const newId=JetSearch.generateRandomId();
$(this).attr('data-script-id', newId);
});
resultsArea.find('[id^="brxe-"]').each(function(){
var id=$(this).attr('id');
$(this).addClass(id);
});
const bricksScripts={
".bricks-lightbox": 'bricksPhotoswipe',
".brxe-accordion, .brxe-accordion-nested": 'bricksAccordion',
".brxe-animated-typing": 'bricksAnimatedTyping',
".brxe-audio": 'bricksAudio',
".brxe-countdown": 'bricksCountdown',
".brxe-counter": 'bricksCounter',
".brxe-video": 'bricksVideo',
".bricks-lazy-hidden": 'bricksLazyLoad',
".brx-animated": 'bricksAnimation',
".brxe-pie-chart": 'bricksPieChart',
".brxe-progress-bar .bar span": 'bricksProgressBar',
".brxe-form": 'bricksForm',
".brx-query-trail": 'bricksInitQueryLoopInstances',
"[data-interactions]": 'bricksInteractions',
".brxe-alert svg": 'bricksAlertDismiss',
".brxe-tabs, .brxe-tabs-nested": 'bricksTabs',
".bricks-video-overlay, .bricks-video-overlay-icon, .bricks-video-preview-image": 'bricksVideoOverlayClickDetector',
".bricks-background-video-wrapper": 'bricksBackgroundVideoInit',
".brxe-toggle": 'bricksToggle',
".brxe-offcanvas": 'bricksOffcanvas',
'.brxe-slider': 'bricksSwiper',
'.brxe-slider-nested': 'bricksSplide',
'.brxe-image': 'bricksSwiper'
};
const contentWrapper=resultsArea[0];
for(const key in bricksScripts){
const widget=contentWrapper.querySelector(key);
if(widget&&typeof window[bricksScripts[key]]==="function"&&bricksScripts[key]){
window[bricksScripts[key]]();
}}
if(sourcesHolder.length){
sourcesHolder.find('[data-script-id]').each(function(){
const newId=JetSearch.generateRandomId();
$(this).attr('data-script-id', newId);
});
sourcesHolder.find('[id^="brxe-"]').each(function(){
var id=$(this).attr('id');
$(this).addClass(id);
});
const sourcesWrapper=sourcesHolder[0];
for(const key in bricksScripts){
const widget=sourcesWrapper.querySelector(key);
if(widget&&typeof window[bricksScripts[key]]==="function"&&bricksScripts[key]){
window[bricksScripts[key]]();
}}
}},
getCurrentDeviceMode: function(){
const width=window.innerWidth;
if(width > 1024){
return 'desktop';
}else if(width <=1024&&width > 767){
return 'tablet';
}else{
return 'mobile';
}},
trimString: function(str, numWords){
if(typeof str!=='string'){
return str;
}
let wordsArray=str.split(' ');
if(wordsArray.length <=numWords){
return str;
}
let truncatedString=wordsArray.slice(0, numWords).join(' ');
return truncatedString + '...';
},
escapeHTML: function(str){
return str.replace(/[&<>"']/g, function(match){
const escapeMap={
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#039;'
};
return escapeMap[match];
});
},
addSuggestionFromResultAreaItem: function(itemWrapper, itemLink, itemTitle, itemUrlAttr){
itemLink.on('click', function(e){
e.stopImmediatePropagation();
e.preventDefault();
let	item=$(this).closest(itemWrapper),
value=$(itemTitle, item).text(),
url=$(this).attr(itemUrlAttr);
JetSearch.setFormSuggestion(value, false, url);
});
}};
$.fn.getSuggestionsList=function(options, settings, showSpinner, hightlightText=false, callback=()=> {}){
let self=this[0],
outputHtml='',
listPosition=options.list_position,
inlineItemTemplate=wp.template('jet-search-inline-suggestion-item'),
focusItemTemplate=wp.template('jet-search-focus-suggestion-item'),
spinner=$(settings.spinnerClass, self),
manualList=[];
const ajaxSettings=window['jetSearchSettings']['searchSuggestions']||{};
function highlightMatches(item){
let searched=options.value.trim();
if(searched!==""){
let reg=new RegExp("[\>][^\<]*"+searched+"[^\<]*[\<]","gi"),
reg2=new RegExp(searched, "gi"),
regHtml=new RegExp("<\/?[a-z](.*?)[\s\S]*>", "gi");
if(reg.test(item) ){
item=item.replace(reg, function(item){
let subRegex=new RegExp(searched, "gi");
return item.replace(subRegex,`<mark>${searched}</mark>`);
});
}
if(regHtml.test(item) ){
return item;
}else{
item=item.replace(reg2, str=> `<mark>${str}</mark>`);
}}
return item;
}
if('manual'===options.list_type){
if(options['manual_list'].length){
let list=options['manual_list'].split(",");
list.map(function(suggestion, i){
manualList[i]={ name: suggestion };});
if('inline'===listPosition){
manualList.map(function(suggestion){
outputHtml +=inlineItemTemplate(suggestion);
});
$(self).html(outputHtml);
}else if('focus'===listPosition){
manualList.map(function(suggestion){
outputHtml +=focusItemTemplate(suggestion);
});
$(settings.focusHolderClass ,self).html(outputHtml);
if(typeof callback==='function'){
callback();
}
JetSearch.suggestionsPreloader(showSpinner, 'hide', spinner);
}}
return;
}
let sendData={
list_type: options.list_type||'',
value: options.value||'',
limit: options.limit
},
ajaxData={
action: ajaxSettings.get_action,
data: sendData||{},
};
jQuery.ajax({
type: 'GET',
url: ajaxSettings.get_suggestions_rest_api_url,
data: ajaxData,
dataType: 'json',
cache: false,
processData: true,
error: function(jqXHR, textStatus, errorThrown){
errorCallback(jqXHR);
},
success: function(response, textStatus, jqXHR){
successCallback(response);
if(typeof callback==='function'){
callback();
}}
});
const successCallback=function(response){
if(response){
JetSearch.suggestionsPreloader(showSpinner, 'hide', spinner);
if('inline'===listPosition){
response.map(function(suggestion){
suggestion['name']=JetSearch.escapeHTML(suggestion['name']);
suggestion['fullName']=JetSearch.escapeHTML(suggestion['name']);
if(0 < options.maxLength){
suggestion['name']=JetSearch.trimString(suggestion['name'], options.maxLength);
}
outputHtml +=inlineItemTemplate(suggestion);
});
$(self).html(outputHtml);
}else if('focus'===listPosition){
response.map(function(suggestion){
suggestion['name']=JetSearch.escapeHTML(suggestion['name']);
suggestion['fullName']=JetSearch.escapeHTML(suggestion['name']);
if(0 < options.maxLength){
suggestion['name']=JetSearch.trimString(suggestion['name'], options.maxLength);
}
if(options.value&&("yes"===hightlightText||true===hightlightText) ){
suggestion['name']=highlightMatches(suggestion['name']);
}
outputHtml +=focusItemTemplate(suggestion);
});
$(settings.focusHolderClass, self).html(outputHtml);
}}
}
const errorCallback=function(jqXHR){
if('abort'!==jqXHR.statusText){
JetSearch.suggestionsPreloader(showSpinner, 'hide', spinner);
}};};
$.fn.jetAjaxSearchSuggestions=function(args){
let self=this[0],
settings=args,
options=$(self).data('settings')||{},
timer=null,
showformList=options['show_search_suggestions_list_inline']||false,
showfocusList=options['show_search_suggestions_list_on_focus']||false,
formListType=options['search_suggestions_list_inline']||false,
focusListType=options['search_suggestions_list_on_focus']||false,
searchSuggestionsLimit=options['search_suggestions_quantity_limit']||10,
inlineLimit=options['search_suggestions_list_inline_quantity']||5,
focusLimit=options['search_suggestions_list_on_focus_quantity']||5,
showSpinner=options['show_search_suggestions_list_on_focus_preloader']||'',
hightlightText=options['highlight_searched_text']||'',
spinner=$(settings.spinnerClass, self),
formFocusClass=settings.searchFormClass.replace('.', '') + '--focus',
form=$(settings.searchFormClass, self),
focusTarget=$(settings.focusHolderClass, self),
disableInputs=false,
customResultUrl=options['search_results_url']||'',
useSession='false',
focusItem;
if(window.elementorFrontend){
var editMode=Boolean(window.elementorFrontend.isEditMode())
}else{
var editMode=false;
}
if(!self.isInit){
self.isInit=true;
self.ajaxSettings=window[ settings.handlerId ]['searchSuggestions']||{};
customResultUrl=$.trim(customResultUrl);
useSession=self.ajaxSettings.use_session;
self.selectSuggestion=function(event){
const keyCode=event.keyCode||event.which;
const $target=$(event.currentTarget);
let value=$target.attr('aria-label');
if(! value){
return;
}
value=value.trim();
if(false===disableInputs&&!editMode){
if('keydown'===event.type){
if(13===keyCode){
disableInputs=true;
$(settings.inputClass, self)[0].value=value;
JetSearch.setFormSuggestion(value, form, customResultUrl);
}}else if('click'===event.type){
disableInputs=true;
$(settings.inputClass, self)[0].value=value;
JetSearch.setFormSuggestion(value, form, customResultUrl);
}}
}
self.focusItemsNav=function(){
focusItem=$('.jet-search-suggestions__focus-area-item', self);
if(0 < focusItem.length){
focusItem.on('keydown', function(e){
const keyCode=e.keyCode||e.which;
switch(keyCode){
case 40:
e.preventDefault();
var next=$(this).next();
if(next.length > 0){
focusItem.removeClass('focused');
next.addClass('focused');
next.focus();
}
break;
case 38:
e.preventDefault();
var prev=$(this).prev();
if(prev.length > 0){
focusItem.removeClass('focused');
prev.addClass('focused');
prev.focus();
}else{
focusItem.removeClass('focused');
$(settings.inputClass, self).focus();
}
break;
case 13:
e.preventDefault();
let value=e.target.innerText.trim();
$(settings.inputClass, self)[0].value=value;
JetSearch.setFormSuggestion(value, form, customResultUrl);
break;
}
if($(this).is(':focus-visible') ){
focusItem.removeClass('focused');
}});
}}
if(formListType||focusListType){
if(''!=formListType&&("yes"===showformList||true===showformList) ){
let listOptions={
list_position: 'inline',
list_type: formListType,
limit: inlineLimit,
maxLength: options.search_suggestions_list_inline_item_title_length,
};
if('manual'===formListType){
listOptions.manual_list=options['search_suggestions_list_inline_manual'];
}
$(settings.inlineClass, self).getSuggestionsList(listOptions, settings, showSpinner, false, ()=> {
let inlineItem=$('.jet-search-suggestions__inline-area-item', self);
if(0 < inlineItem.length){
inlineItem.on('focus', function (){
if($(this).is(':focus-visible') ){
self.hideList();
}});
}
inlineItem.on('keydown', function(e){
const keyCode=e.keyCode||e.which;
let value=$(this).attr('aria-label');
if(! value){
return;
}
value=value.trim();
if(13===keyCode){
$(settings.inputClass, self)[0].value=value;
JetSearch.setFormSuggestion(value, form, customResultUrl);
}});
});
}
if(''!=focusListType&&("yes"===showfocusList||true===showfocusList) ){
let listOptions={
list_position: 'focus',
list_type: focusListType,
limit: focusLimit,
maxLength: options.search_suggestions_list_on_focus_item_title_length||0,
};
if('manual'===focusListType){
listOptions.manual_list=options['search_suggestions_list_on_focus_manual'];
}
$(settings.focusClass, self).getSuggestionsList(listOptions, settings, showSpinner, false, ()=> {
self.focusItemsNav();
});
}}
self.inputChangeHandler=function(event){
let value=$(event.target).val(),
listOptions={
list_position: 'focus',
value: value,
limit: searchSuggestionsLimit,
maxLength: options.search_suggestions_list_on_focus_item_title_length||0,
};
if(''!=value){
focusTarget.empty();
self.showList();
JetSearch.suggestionsPreloader(showSpinner, 'show', spinner);
clearTimeout(timer);
timer=setTimeout(function(){
$(settings.focusClass, self).getSuggestionsList(listOptions, settings, showSpinner, hightlightText, ()=> {
self.focusItemsNav();
});
}, 450);
}else{
clearTimeout(timer);
focusTarget.empty();
JetSearch.suggestionsPreloader(showSpinner, 'hide', spinner);
if(false!=focusListType&&("yes"===showfocusList||true===showfocusList) ){
JetSearch.suggestionsPreloader(showSpinner, 'show', spinner);
listOptions.limit=focusLimit;
if('manual'===focusListType){
listOptions.list_type=focusListType;
listOptions.manual_list=options['search_suggestions_list_on_focus_manual'];
}
$(settings.focusClass, self).getSuggestionsList(listOptions, settings, showSpinner, false, ()=> {
self.focusItemsNav();
});
}}
};
self.hideList=function(event){
$(settings.focusClass, self).removeClass('show');
$('.chosen-single', self).removeClass('focused');
if(focusItem&&0 < focusItem.length){
focusItem.removeClass('focused');
}};
self.showList=function(){
$(settings.focusClass, self).addClass('show');
};
self.focusHandler=function(event){
$(settings.searchFormClass, self).addClass(formFocusClass);
self.showList();
};
self.chosenFocusHandler=function(){
self.hideList();
};
self.formClick=function(event){
event.stopPropagation();
};
self.changeHandler=function(event){
let target=$(event.target),
settingsInput=$(settings.settingsInput, self),
querySettings=JSON.parse(settingsInput.val()),
globalQuerySettings=$(self).data('settings');
querySettings.category__in=target.val();
globalQuerySettings.category__in=target.val();
settingsInput.val(JSON.stringify(querySettings) );
$(self).data('settings', globalQuerySettings);
self.inputChangeHandler({ target: $(settings.inputClass, self) })
};
self.formSubmit=function(event){
let keyCode=event.keyCode||event.which;
if(false===disableInputs){
let value=event.target.value;
if(13===keyCode&&value.length!=0){
disableInputs=true;
event.preventDefault();
JetSearch.setFormSuggestion(value, form, customResultUrl);
}}
if(40===keyCode){
if(focusItem&&0 < focusItem.length){
event.preventDefault();
focusItem.removeClass('focused');
focusItem.first().addClass('focused');
focusItem.first().focus();
}}
}
self.blurHandler=function(event){
$(settings.searchFormClass, self).removeClass(formFocusClass);
};
self.clickFullResults=function(event){
if(false===disableInputs){
disableInputs=true;
var searchInput=$(settings.inputClass, self),
value=searchInput.val();
event.preventDefault();
JetSearch.setFormSuggestion(value, form, customResultUrl);
}};
$(settings.inputClass, self)
.on('input' + settings.searchClass, self.inputChangeHandler)
.on('focus' + settings.searchClass, self.focusHandler)
.on('blur' + settings.searchClass, self.blurHandler)
.on('keydown' + settings.searchClass, self.formSubmit);
$(settings.submitClass, self).on('click' + settings.searchClass, self.clickFullResults);
$(self)
.on('click' + settings.searchClass, settings.focusItemClass, self.selectSuggestion)
.on('click keydown' + settings.searchClass, settings.inlineItemClass, self.selectSuggestion)
.on('click' + settings.searchClass, self.formClick)
.on('change', settings.chosenClass, self.changeHandler)
.on('touchend' + settings.searchClass, self.formClick)
.on('chosen:showing_dropdown', settings.chosenClass, self.chosenFocusHandler);
$(self).on('keydown', function(e){
const keyCode=e.keyCode||e.which;
if(9===keyCode){
setTimeout(()=> {
const focusedElement=document.activeElement;
if($(focusedElement).is('.chosen-search-input') ){
$('.chosen-single', self).addClass('focused');
}else{
$('.chosen-single', self).removeClass('focused');
}
if($(focusedElement).is('.jet-search-suggestions__inline-area-item') ){
self.hideList();
}}, 50);
}});
$(settings.inputClass, self).on('click' + settings.searchClass, ()=> {
$('.chosen-single', self).removeClass('focused');
});
$('body')
.on('click' + settings.searchClass, self.hideList)
.on('touchend' + settings.searchClass, self.hideList);
if('0'!==$(settings.chosenClass, self).val()){
$(settings.chosenClass, self).trigger('change');
}}
};
$.fn.jetAjaxSearch=function(args){
var self=this[0],
settings=args,
timer=null,
itemTemplate=null,
resultsArea=$(settings.resultsAreaClass, self),
resultsHolder=$(settings.listHolderClass, resultsArea),
resultsHeader=$(settings.resultsHeaderClass, resultsArea),
resultsFooter=$(settings.resultsFooterClass, resultsArea),
countHolder=$(settings.countClass, resultsArea),
fullResults=$(settings.fullResultsClass, resultsArea),
resultsList=$(settings.listClass, resultsArea),
resultsListInner=$(settings.listInnerClass, resultsArea),
resultsHeaderNav=$(settings.navigationClass, resultsHeader),
resultsFooterNav=$(settings.navigationClass, resultsFooter),
messageHolder=$(settings.messageHolderClass, resultsArea),
spinner=$(settings.spinnerClass, resultsArea),
form=$(settings.searchFormClass, self),
resultsSuggestions=$(settings.resultsSuggestionsAreaClass, self),
inlineSuggestions=$(settings.inlineSuggestionsAreaClass, self),
data=$(self).data('settings')||[],
customResultUrl=data['search_results_url']||'',
hightlightText=data['highlight_searched_text']||'',
formFocusClass=settings.searchFormClass.replace('.', '') + '--focus',
searchLogging=data['search_logging']||'',
currentPosition=1,
lang='',
disableInputs=false,
allowEmptyString=false,
allowSubmitOnEnter=1,
urlParams=JetSearch.getUrlParams(),
listingID=data['listing_id']||'',
categoryIndex=urlParams.jet_ajax_search_categories||'',
getResultsOnFocus=true,
maxUserSearches=20,
showSearchSuggestions=data['show_search_suggestions']||false,
suggestionsTitle='',
suggestionsType=data['search_suggestions_source']||false,
suggestionsPosition=data['search_suggestions_position']||false,
searchSuggestionsLimits=data['search_suggestions_limits']||20,
storedUserSearches=JSON.parse(localStorage.getItem('jetUserSearches'))||[],
suggestionsList=[];
if('yes'===data.search_by_empty_value||true===data.search_by_empty_value){
allowEmptyString=true;
}
if(!self.isInit){
self.isInit=true;
self.ajaxRequest=null;
self.suggestionsListLoaded=false;
if(data.hasOwnProperty('lang')){
lang=data.lang;
delete data.lang;
}
self.ajaxSettings=window[ settings.handlerId ]||{};
self.suggestionsSettings=window['jetSearchSettings']['searchSuggestions']||{};
if(self.ajaxSettings['ajaxSearchSuggestionsLimits']){
maxUserSearches=self.ajaxSettings['ajaxSearchSuggestionsLimits'];
}
if('yes'===data.submit_on_enter||true===data.submit_on_enter){
allowSubmitOnEnter=false;
}else{
allowSubmitOnEnter=true;
}
if(''===self.ajaxSettings.sumbitOnEnter){
allowSubmitOnEnter=false;
}
if(window.elementorFrontend){
var editMode=Boolean(window.elementorFrontend.isEditMode())
}else{
var editMode=false;
}
self.suggestionsListHTML=function(suggestionsList){
let resultsSuggestionsTemplate=wp.template('jet-ajax-search-results-suggestion-item'),
inlineSuggestionsTemplate=wp.template('jet-ajax-search-inline-suggestion-item'),
inlineOutputHtml='',
resultsOutputHtml='';
suggestionsList.forEach(item=> {
let inlineListItemHtml='',
resultsListItemHtml='',
maxLength=data.search_suggestions_item_title_length||0,
suggestionItem={};
suggestionItem['fullName']=JetSearch.escapeHTML(item);
suggestionItem['name']=JetSearch.escapeHTML(item);
if(0 < maxLength){
suggestionItem['name']=JetSearch.trimString(item, maxLength);
}
if('under_form'===suggestionsPosition){
inlineListItemHtml=inlineSuggestionsTemplate(suggestionItem);
}else if('inside_results_area'===suggestionsPosition){
resultsListItemHtml=resultsSuggestionsTemplate(suggestionItem);
}
inlineOutputHtml  +=inlineListItemHtml;
resultsOutputHtml +=resultsListItemHtml;
});
if('under_form'===suggestionsPosition){
suggestionsTitle=inlineSuggestions.html();
inlineSuggestions.html(inlineOutputHtml).prepend(suggestionsTitle);
}else if('inside_results_area'===suggestionsPosition){
suggestionsTitle=resultsSuggestions.html();
resultsSuggestions.html(resultsOutputHtml).prepend(suggestionsTitle);
}};
self.showSuggestions=function(){
if(suggestionsType){
if('popular'===suggestionsType){
if(false===window.bricksIsFrontend){
let sendData={
list_type: 'popular',
value: '',
limit: searchSuggestionsLimits
},
ajaxData={
action: self.ajaxSettings['searchSuggestions'].get_action,
data: sendData||{},
};
$.ajax({
type: 'GET',
url: self.ajaxSettings['searchSuggestions'].get_suggestions_rest_api_url,
data: ajaxData,
dataType: 'json',
cache: false,
processData: true,
error: function(jqXHR, textStatus, errorThrown){
errorCallback(jqXHR);
},
success: function(response, textStatus, jqXHR){
if(response.length){
suggestionsList=$.map(response, function(obj){
return obj.name;
});
self.suggestionsListLoaded=true;
if(suggestionsList.length){
suggestionsList=suggestionsList.slice(0, searchSuggestionsLimits);
self.suggestionsListHTML(suggestionsList);
}else{
resultsSuggestions.hide();
inlineSuggestions.hide();
}}
}});
}else{
suggestionsList=self.ajaxSettings['ajaxSearchPopularSuggestions']||[];
if(suggestionsList.length){
suggestionsList=suggestionsList.slice(0, searchSuggestionsLimits);
self.suggestionsListHTML(suggestionsList);
}else{
resultsSuggestions.hide();
inlineSuggestions.hide();
}}
}else if('user'===suggestionsType){
let userSearches=localStorage.getItem('jetUserSearches');
if(userSearches){
suggestionsList=JSON.parse(userSearches)||[];
suggestionsList.reverse();
suggestionsList=suggestionsList.slice(0, searchSuggestionsLimits);
self.suggestionsListHTML(suggestionsList);
}else{
resultsSuggestions.hide();
inlineSuggestions.hide();
}}
}};
if('yes'===showSearchSuggestions||true===showSearchSuggestions){
self.showSuggestions();
}
self.inputChangeHandler=function(event){
var value=$(event.target).val(),
symbolNumberForStart='number'===$.type(data.symbols_for_start_searching) ? data.symbols_for_start_searching:2;
value=value.replace(/\u3000/g, ' ');
if('number'===$.type(symbolNumberForStart)&&symbolNumberForStart > value.length){
if('inside_results_area'===suggestionsPosition&&suggestionsList.length){
resultsHeader.hide();
resultsFooter.hide();
resultsList.hide();
resultsSuggestions.show();
resultsSuggestions.addClass('active');
resultsHolder.addClass('show');
self.showList();
}else{
self.hideList();
}
return false;
}
if('inside_results_area'===suggestionsPosition&&suggestionsList.length){
resultsSuggestions.removeClass('active');
resultsHeader.show();
resultsFooter.show();
resultsList.show();
}
resultsHolder.removeClass('show');
self.outputMessage('', '');
resultsListInner.css('transform', 'translateX(0)');
resultsList.css('height', 'auto');
if(value){
self.showList();
spinner.addClass('show');
clearTimeout(timer);
timer=setTimeout(function(){
data.value=value;
data.deviceMode=window.elementorFrontend&&window.elementorFrontend.getCurrentDeviceMode() ? window.elementorFrontend.getCurrentDeviceMode():JetSearch.getCurrentDeviceMode();
self.ajaxSendData(data, lang);
}, 450);
}else{
self.hideList();
}};
self.successCallback=function(response){
if(response.error){
spinner.removeClass('show');
self.outputMessage(data.server_error, 'error show');
return;
}
JetSearch.enqueueAssetsFromResponse(response);
var responseData=response.data,
error=responseData.error,
message=responseData.message,
posts=responseData.posts,
listingItems=responseData.listing_items,
post=null,
outputHtml='',
listItemHtml='',
listHtml='<div class="' + settings.listSlideClass.replace('.', '') + '">%s</div>',
searchSources=responseData.sources,
searchSourcesBeforePosts=null,
searchSourcesAfterPosts=null,
countAllResults=null,
searchSourcesHolder=$('.jet-ajax-search__source-results-holder', self);
resultsHolder.removeClass('show');
spinner.removeClass('show');
currentPosition=1;
searchSourcesHolder.remove();
resultsListInner.html('');
resultsHeaderNav.html('');
resultsFooterNav.html('');
searchSourcesBeforePosts=searchSources
.filter(item=> item.priority < 0&&''!=item.content)
.sort(( a, b)=> a.priority - b.priority);
searchSourcesAfterPosts=searchSources
.filter(item=> item.priority > 0&&''!=item.content)
.sort(( a, b)=> a.priority - b.priority);
if(''!=listingID&&0!==responseData.post_count&&!error){
var outputHtml='',
listItemHtml='',
listHtml='<div class="jet-listing-grid__items jet-listing-base ' + settings.listSlideClass.replace('.', '') + '">%s</div>';
if(listingItems.length){
$.each(listingItems,(i, item)=> {
listItemHtml +=item;
if(( parseInt(i) + 1) % responseData.limit_query==0||parseInt(i)===listingItems.length - 1){
outputHtml +=listHtml.replace('%s', listItemHtml);
listItemHtml='';
}});
}
messageHolder.removeClass('show');
countAllResults=responseData.post_count;
if(responseData.sources_results_count&&0 < responseData.sources_results_count){
countAllResults +=responseData.sources_results_count;
}
$('span', countHolder).html(countAllResults);
resultsListInner
.html(outputHtml)
.data('columns', responseData.columns);
Promise.all(JetSearch.assetsPromises).then(function(){
JetSearch.initElementsHandlers(resultsListInner);
JetSearch.reinitBricksScripts(self);
JetSearch.assetsPromises=[];
});
resultsHeaderNav.html(responseData.results_navigation.in_header);
resultsFooterNav.html(responseData.results_navigation.in_footer);
if(!countHolder[0]&&!responseData.results_navigation.in_header){
resultsHeader.addClass('is-empty');
}else{
resultsHeader.removeClass('is-empty');
}
if(!fullResults[0]&&!responseData.results_navigation.in_footer){
resultsFooter.addClass('is-empty');
}else{
resultsFooter.removeClass('is-empty');
}
resultsList.css('height', 'auto');
$(document).trigger('jet-ajax-search/show-results/listing', [ resultsListInner ]);
resultsHolder.addClass('show');
if('yes'===searchLogging||true===searchLogging){
let itemWrapper=settings.itemClass,
itemLink=$('.jet-engine-listing-overlay-wrap', itemWrapper),
itemTitle='.jet-ajax-search-item-title .jet-listing-dynamic-field__content',
itemUrlAttr='data-url';
$(document).trigger('jet-ajax-search/results-area/listing-add-suggestion', [ self, itemWrapper, itemLink, itemTitle, itemUrlAttr ]);
JetSearch.addSuggestionFromResultAreaItem(itemWrapper, itemLink, itemTitle, itemUrlAttr);
}}
const allowedHighlightFields=[ 'title', 'after_content', 'after_title', 'before_content', 'before_title', 'content', 'price' ];
function highlightMatches(item){
let searched=responseData.search_value.trim();
if(searched!==""){
let reg=new RegExp("[\>][^\<]*"+searched+"[^\<]*[\<]","gi"),
reg2=new RegExp(searched, "gi"),
regHtml=new RegExp("<\/?[a-z](.*?)[\s\S]*>", "gi");
if(reg.test(item) ){
item=item.replace(reg, function(item){
let subRegex=new RegExp(searched, "gi");
return item.replace(subRegex,`<mark>${searched}</mark>`);
});
}
if(regHtml.test(item) ){
return item;
}else{
item=item.replace(reg2, str=> `<mark>${str}</mark>`);
}}
return item;
}
function highlightFields(fields, allowHighlightFields){
$.each(fields, function(key, value){
if(-1!=$.inArray(key, allowHighlightFields)&&(null!=value&&''!=value) ){
fields[key]=highlightMatches(value);
}});
return fields;
}
if(0!==responseData.post_count&&!error&&''===listingID){
messageHolder.removeClass('show');
itemTemplate=wp.template('jet-ajax-search-results-item');
for(post in posts){
if(responseData.search_highlight&&true===responseData.search_highlight){
if(''!=hightlightText&&("yes"===hightlightText||true===hightlightText) ){
highlightFields(posts[post], allowedHighlightFields);
}}
if(posts[post].is_product){
let productType=posts[post].product_type,
productTypeClass='add-to-cart-button';
if('product_type_variable'===productType){
productTypeClass='select-options-button';
}
posts[post].add_to_cart='<div class="jet-ajax-search__item-add-to-cart"><button data-quantity="1" class="jet-ajax-search__results-item-cart-button ' + productTypeClass + '" data-product_id="' + posts[post].product_id + '" data-product_sku="' + posts[post].product_sku + '" aria-label="' + posts[post].product_label + '" data-product_url="' + posts[post].product_url + '" rel="nofollow" target="_blank">' + posts[post].product_add_text + '</button></div>';
}
let templateResult=itemTemplate(posts[post]);
listItemHtml +=templateResult;
if((parseInt(post) + 1) % responseData.limit_query==0||parseInt(post)===posts.length - 1){
outputHtml +=listHtml.replace('%s', listItemHtml);
listItemHtml='';
}}
countAllResults=responseData.post_count;
if(responseData.sources_results_count&&0 < responseData.sources_results_count){
countAllResults +=responseData.sources_results_count;
}
$('span', countHolder).html(countAllResults);
resultsListInner
.html(outputHtml)
.data('columns', responseData.columns);
$('.jet-ajax-search__results-item-cart-button.add-to-cart-button', self).on('click', function(e){
e.preventDefault();
let _this=$(this);
if(_this.attr('data-product_id') ){
let addToCartData={};
$.each(_this[0].dataset, function(key, value){
addToCartData[ key ]=value;
});
_this.prop('disabled', true);
$.ajax({
type: 'POST',
url: wc_add_to_cart_params.wc_ajax_url.toString().replace('%%endpoint%%', 'add_to_cart'),
dataType: 'json',
data: addToCartData,
success: function(response){
$(document.body).trigger('wc_fragment_refresh');
$(document.body).trigger('added_to_cart');
_this.prop('disabled', false);
},
error: function(xhr, status, error){
_this.prop('disabled', false);
}});
}});
$('.jet-ajax-search__results-item-cart-button.select-options-button', self).on('click', function(e){
e.preventDefault();
const productUrl=$(this).data('product_url');
window.open(productUrl, '_blank');
});
resultsHeaderNav.html(responseData.results_navigation.in_header);
resultsFooterNav.html(responseData.results_navigation.in_footer);
if(!countHolder[0]&&!responseData.results_navigation.in_header){
resultsHeader.addClass('is-empty');
}else{
resultsHeader.removeClass('is-empty');
}
if(!fullResults[0]&&!responseData.results_navigation.in_footer){
resultsFooter.addClass('is-empty');
}else{
resultsFooter.removeClass('is-empty');
}
resultsHolder.addClass('show');
$(document).trigger('jet-ajax-search/show-results', [ resultsHolder ]);
var inputField=$('.jet-ajax-search__field', self),
resultsItem=$('.jet-ajax-search__item-link', self),
focusedItem=resultsItem.filter(':focus');
inputField.on('keydown', function(e){
const keyCode=e.keyCode||e.which;
if(40===keyCode){
e.preventDefault();
var position=currentPosition - 1,
activeSlide=$(settings.listSlideClass, resultsListInner).eq(position),
next=activeSlide.find('.jet-ajax-search__item-link').first();
if(focusedItem.length===0){
setTimeout(()=> {
resultsItem.removeClass('focused');
next.addClass('focused');
next.focus();
}, 0);
}}
});
resultsItem.on('keydown', function(e){
const keyCode=e.keyCode||e.which;
switch(keyCode){
case 40:
e.preventDefault();
var next=$(this).parent().next().find('.jet-ajax-search__item-link').first();
if(0 < next.length){
resultsItem.removeClass('focused');
next.addClass('focused');
next.focus();
}
break;
case 38:
e.preventDefault();
var prev=$(this).parent().prev().find('.jet-ajax-search__item-link').first();
if(0 < prev.length){
resultsItem.removeClass('focused');
prev.addClass('focused');
prev.focus();
}else{
resultsItem.removeClass('focused');
inputField.focus();
}
break;
case 37:
var prevSlide=$(this).closest('.jet-ajax-search__results-slide').prev();
if(0 < prevSlide.length){
$(settings.prevClass + ':not(' + settings.disableNavClass + ')').click();
resultsItem.removeClass('focused');
setTimeout(()=> {
$(settings.listSlideClass, resultsListInner).eq(currentPosition - 1).find('.jet-ajax-search__item-link').first().focus().addClass('focused');
}, 350);
}
break;
case 39:
var nextSlide=$(this).closest('.jet-ajax-search__results-slide').next();
if(0 < nextSlide.length){
$(settings.nextClass + ':not(' + settings.disableNavClass + ')').click();
resultsItem.removeClass('focused');
setTimeout(()=> {
$(settings.listSlideClass, resultsListInner).eq(currentPosition - 1).find('.jet-ajax-search__item-link').first().focus().addClass('focused');
}, 350);
}
break;
case 9:
resultsItem.removeClass('focused');
break;
}});
if('yes'===searchLogging||true===searchLogging){
let	itemWrapper=settings.itemClass,
resultAreaItemLink=$('.jet-ajax-search__item-link', itemWrapper),
resultAreaItemTitle='.jet-ajax-search__item-title',
resultAreaItemUrlAttr='href';
JetSearch.addSuggestionFromResultAreaItem(itemWrapper, resultAreaItemLink, resultAreaItemTitle, resultAreaItemUrlAttr);
}
searchSourcesBeforePosts.forEach(function(item){
self.maybeHasListing(item);
resultsListInner.before(item.content);
resultsHolder.addClass('show');
});
searchSourcesAfterPosts.forEach(function(item){
self.maybeHasListing(item);
resultsListInner.after(item.content);
resultsHolder.addClass('show');
});
}else{
if(searchSourcesBeforePosts.length||searchSourcesAfterPosts.length){
searchSourcesBeforePosts.forEach(function(item){
self.maybeHasListing(item);
resultsListInner.before(item.content);
resultsHolder.addClass('show');
});
searchSourcesAfterPosts.forEach(function(item){
self.maybeHasListing(item);
resultsListInner.after(item.content);
resultsHolder.addClass('show');
});
countAllResults=responseData.post_count;
if(responseData.sources_results_count&&0 < responseData.sources_results_count){
countAllResults +=responseData.sources_results_count;
}
$('span', countHolder).html(countAllResults);
}else{
self.outputMessage(message, 'show');
}}
};
self.maybeHasListing=function(item){
if(typeof item.listing_template!=='undefined'&&true===item.listing_template){
Promise.all(JetSearch.assetsPromises).then(function(){
JetSearch.initElementsHandlers(resultsListInner);
JetSearch.reinitBricksScripts(self);
JetSearch.assetsPromises=[];
});
}}
self.errorCallback=function(jqXHR){
if('abort'!==jqXHR.statusText){
spinner.removeClass('show');
self.outputMessage(data.server_error, 'error show');
}};
self.ajaxSendData=function(sendData, lang=''){
let filteredData={};
Object.keys(sendData).forEach(key=> {
if(sendData[key]!=='' &&
sendData[key]!==null &&
sendData[key]!==undefined &&
!(Array.isArray(sendData[key])&&sendData[key].length===0)
){
filteredData[key]=sendData[key];
}});
var ajaxData={
action: self.ajaxSettings.action,
nonce: self.ajaxSettings.nonce,
data: filteredData||{}};
if(''!=lang){
ajaxData.lang=lang;
}
const isRestAPI=self.ajaxSettings.rest_api_url&&self.ajaxSettings.rest_api_url.includes('/wp-json/');
self.ajaxRequest=jQuery.ajax({
type: 'GET',
url: self.ajaxSettings.rest_api_url,
data: ajaxData,
dataType: 'json',
cache: false,
processData: true,
beforeSend: function(jqXHR, ajaxSettings){
if(null!==self.ajaxRequest){
self.ajaxRequest.abort();
}
if(isRestAPI){
jqXHR.setRequestHeader('X-WP-Nonce', self.ajaxSettings.nonce);
}},
error: function(jqXHR, textStatus, errorThrown){
self.errorCallback(jqXHR);
},
success: function(response, textStatus, jqXHR){
self.successCallback(response);
}});
};
self.hideList=function(){
resultsArea.removeClass('show');
$('.chosen-single', self).removeClass('focused');
};
self.showList=function(){
resultsArea.addClass('show');
};
self.focusHandler=function(event){
var value=event.target.value,
symbolNumberForStart='number'===$.type(data.symbols_for_start_searching) ? data.symbols_for_start_searching:2;
$(settings.searchFormClass, self).addClass(formFocusClass);
if('inside_results_area'===suggestionsPosition&&suggestionsList.length){
if(value&&getResultsOnFocus){
spinner.addClass('show');
data.value=value;
data.deviceMode=window.elementorFrontend&&window.elementorFrontend.getCurrentDeviceMode() ? window.elementorFrontend.getCurrentDeviceMode():JetSearch.getCurrentDeviceMode();
self.ajaxSendData(data, lang);
getResultsOnFocus=false;
}
if(''===value){
resultsHeader.hide();
resultsFooter.hide();
resultsList.hide();
resultsSuggestions.addClass('active');
resultsHolder.addClass('show');
self.showList();
}}
if('number'===$.type(symbolNumberForStart)&&symbolNumberForStart > value.length){
return;
}
self.showList();
};
self.blurHandler=function(event){
$(settings.searchFormClass, self).removeClass(formFocusClass);
};
self.outputMessage=function(message, messageClass){
message=message.replace(/\\/g, '');
message=message.replace(/\\*"/g, '');
messageHolder.removeClass('error show').addClass(messageClass).html(message);
};
self.formClick=function(event){
event.stopPropagation();
};
self.clickFullResults=function(event){
var searchInput=$(settings.inputClass, self),
value=searchInput.val(),
url=JetSearch.getResultsUrl(form);
event.preventDefault();
if(value.length!=0||true===allowEmptyString){
if(false===disableInputs){
disableInputs=true;
value=value.replace(/\u3000/g, ' ');
searchInput.val(value);
if(''!=customResultUrl){
customResultUrl=$.trim(customResultUrl);
url=JetSearch.getResultsUrl(form, customResultUrl);
}
if('yes'===showSearchSuggestions||true===showSearchSuggestions){
self.addUserSearch(value);
}
if('yes'===searchLogging||true===searchLogging){
JetSearch.setFormSuggestion(value, form, url);
}else{
window.location.href=url;
}}
}};
self.changeSlide=function(number){
var currentSlide=$(settings.listSlideClass, resultsListInner).eq(number),
direction=settings.isRtl ? 1:-1,
position=number * 100 * direction;
currentSlide.scrollTop(0);
resultsListInner.css('transform', 'translateX(' + position + '%)');
resultsList.css('height', 'auto');
};
self.clickBulletHandler=function(event){
var target=$(event.target);
currentPosition=target.data('number');
self.syncNavigation();
self.changeSlide(currentPosition - 1);
};
self.clickNavigationButtonHandler=function(event){
var target=$(event.target),
direction=target.data('direction');
currentPosition=currentPosition + direction;
self.syncNavigation();
self.changeSlide(currentPosition - 1);
};
self.syncNavigation=function(){
var lastPosition=resultsListInner.data('columns'),
disableClass=settings.disableNavClass.replace('.', ''),
activeClass=settings.activeNavClass.replace('.', '');
$(settings.activeNavClass, self).removeClass(activeClass);
$(settings.disableNavClass, self).removeClass(disableClass);
$(settings.navButtonClass + '[data-number="' + currentPosition +'"]', self).addClass(activeClass);
if(1===currentPosition){
$(settings.prevClass, self).addClass(disableClass);
}
if(lastPosition===currentPosition){
$(settings.nextClass, self).addClass(disableClass);
}};
self.formSubmit=function(event){
var value=event.target.value,
url=JetSearch.getResultsUrl(form);
if(( 1 > value.length&&false===allowEmptyString)&&(13===event.keyCode||'click'===event.type) ){
return false;
}else{
if(13===event.keyCode&&allowSubmitOnEnter){
if(false===disableInputs){
disableInputs=true;
event.preventDefault();
if(''!=customResultUrl){
customResultUrl=$.trim(customResultUrl);
url=JetSearch.getResultsUrl(form, customResultUrl);
}
self.addUserSearch(value);
if('yes'===searchLogging||true===searchLogging){
JetSearch.setFormSuggestion(value, form, url);
}else{
window.location.href=url;
}}
}}
};
self.changeHandler=function(event){
var target=$(event.target),
globalQuerySettings=$(self).data('settings');
globalQuerySettings.category__in=target.val();
data.category__in=target.val();
$(self).data('settings', globalQuerySettings);
self.inputChangeHandler({ target: $(settings.inputClass, self) })
};
self.chosenFocusHandler=function(){
self.hideList();
};
self.setResultsAreaWidth=function(){
if('fields_holder'!==data.results_area_width_by){
return;
}
resultsArea.css('width', $(settings.fieldsHolderClass, self).outerWidth());
};
self.addUserSearch=function(newSearchRequest){
if('user'===suggestionsType){
newSearchRequest=newSearchRequest.trim();
if(! storedUserSearches.some(search=> search===newSearchRequest) ){
if(storedUserSearches.length >=maxUserSearches){
storedUserSearches.shift();
}
storedUserSearches.push(newSearchRequest);
localStorage.setItem('jetUserSearches', JSON.stringify(storedUserSearches) );
}}
}
self.selectSuggestion=function(event){
const keyCode=event.keyCode||event.which;
const $target=$(event.currentTarget);
let value=$target.attr('aria-label');
if(! value){
return;
}
value=value.trim();
let url=null;
if(false===disableInputs&&!editMode){
if('keydown'===event.type){
if(13===keyCode){
disableInputs=true;
$(settings.inputClass, self)[0].value=value;
self.addUserSearch(value);
url=JetSearch.getResultsUrl(form);
if(''!=customResultUrl){
customResultUrl=$.trim(customResultUrl);
url=JetSearch.getResultsUrl(form, customResultUrl);
}
if('yes'===searchLogging||true===searchLogging){
JetSearch.setFormSuggestion(value, false, url);
}else{
window.location.href=url;
}}
}else if('click'===event.type){
disableInputs=true;
$(settings.inputClass, self)[0].value=value;
self.addUserSearch(value);
url=JetSearch.getResultsUrl(form);
if(''!=customResultUrl){
customResultUrl=$.trim(customResultUrl);
url=JetSearch.getResultsUrl(form, customResultUrl);
}
if('yes'===searchLogging||true===searchLogging){
JetSearch.setFormSuggestion(value, false, url);
}else{
window.location.href=url;
}}
}}
self.customUrlActions={
selectorOnClick: 'a[href^="#jet-engine-action"][href*="event=click"]',
selectorOnHover: 'a[href^="#jet-engine-action"][href*="event=hover"], [data-url^="#jet-engine-action"][data-url*="event=hover"]',
init: function(){
var timeout=null;
$(document).on('click.JetSearch', this.selectorOnClick, function(event){
event.preventDefault();
self.customUrlActions.actionHandler(event)
});
$(document).on('click.JetSearch', this.selectorOnHover, function(event){
if('A'===event.currentTarget.nodeName){
event.preventDefault();
}});
$(document).on({
'mouseenter.JetSearch': function(event){
if(timeout){
clearTimeout(timeout);
}
timeout=setTimeout(function(){
self.customUrlActions.actionHandler(event)
}, window.JetEngineSettings.hoverActionTimeout);
},
'mouseleave.JetSearch': function(){
if(timeout){
clearTimeout(timeout);
timeout=null;
}},
}, this.selectorOnHover);
},
actions: {},
addAction: function(name, callback){
this.actions[ name ]=callback;
},
actionHandler: function(event){
var url=$(event.currentTarget).attr('href')||$(event.currentTarget).attr('data-url');
this.runAction(url);
},
runAction: function(url){
var queryParts=url.split('&'),
settings={};
queryParts.forEach(function(item){
if(-1!==item.indexOf('=') ){
var pair=item.split('=');
settings[ pair[0] ]=decodeURIComponent(pair[1]);
}});
if(! settings.action){
return;
}
var actionCb=this.actions[ settings.action ];
if(! actionCb){
return;
}
actionCb(settings);
}};
self.handleListingItemClick=function(event){
var url=$(this).data('url'),
target=$(this).data('target')||false;
if(url){
event.preventDefault();
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()){
return;
}
if(-1!==url.indexOf('#jet-engine-action') ){
self.customUrlActions.runAction(url);
}else{
if('_blank'===target){
window.open(url);
return;
}
window.location=url;
}}
};
$(settings.inputClass, self)
.on('input' + settings.searchClass, self.inputChangeHandler)
.on('focus' + settings.searchClass, self.focusHandler)
.on('blur' + settings.searchClass, self.blurHandler)
.on('keydown' + settings.searchClass, self.formSubmit);
$(settings.submitClass, self).on('click' + settings.searchClass, self.clickFullResults);
$(self)
.on('click' + settings.searchClass, self.formClick)
.on('touchend' + settings.searchClass, self.formClick)
.on('click' + settings.searchClass, settings.fullResultsClass, self.clickFullResults)
.on('click' + settings.searchClass, settings.countClass, self.clickFullResults)
.on('click' + settings.searchClass, settings.bulletClass, self.clickBulletHandler)
.on('click' + settings.searchClass, settings.numberClass, self.clickBulletHandler)
.on('click' + settings.searchClass, settings.prevClass + ':not(' + settings.disableNavClass + ')', self.clickNavigationButtonHandler)
.on('click' + settings.searchClass, settings.nextClass + ':not(' + settings.disableNavClass + ')', self.clickNavigationButtonHandler)
.on('click keydown' + settings.searchClass, settings.inlineSuggestionsItemClass, self.selectSuggestion)
.on('click keydown' + settings.searchClass, settings.resultsSuggestionItemClass, self.selectSuggestion)
.on('change', settings.chosenClass, self.changeHandler)
.on('chosen:showing_dropdown', settings.chosenClass, self.chosenFocusHandler)
.on('click' + settings.searchClass, '.jet-engine-listing-overlay-wrap:not([data-url*="event=hover"])', self.handleListingItemClick);
if(! allowSubmitOnEnter){
$(window).keydown(function(event){
if(13===event.keyCode&&event.target.className.includes('jet-ajax-search') ){
event.preventDefault();
return false;
}});
}
$(self).on('keydown', function(e){
const keyCode=e.keyCode||e.which;
if(9===keyCode){
setTimeout(()=> {
const focusedElement=document.activeElement;
if($(focusedElement).is('.chosen-search-input') ){
$('.chosen-single', self).addClass('focused');
}else{
$('.chosen-single', self).removeClass('focused');
}}, 50);
}});
$(settings.inputClass, self).on('click' + settings.searchClass, ()=> {
$('.chosen-single', self).removeClass('focused');
});
if(''!=categoryIndex){
let target=$(settings.chosenClass, self),
globalQuerySettings=$(self).data('settings'),
categorySelect=$('.jet-ajax-search__categories-select', self),
currentCategory='';
categorySelect.find('option').each(function(){
var value=$(this).val();
if(value===categoryIndex){
currentCategory=$(this).text();
}});
categorySelect.find('option:contains("' + currentCategory + '")').attr('selected', 'selected');
globalQuerySettings.category__in=target.val();
data.category__in=target.val();
$(self).data('settings', globalQuerySettings);
}else{
if('0'!==$(settings.chosenClass, self).val()){
$(settings.chosenClass, self).trigger('change');
}}
$('body')
.on('click' + settings.searchClass, self.hideList)
.on('touchend' + settings.searchClass, self.hideList);
self.setResultsAreaWidth();
$(window).on('resize' + settings.searchClass, self.setResultsAreaWidth);
$(window).on('orientationchange resize', function (){
resultsListInner.imagesLoaded(function(){
const $firstSlide=$(settings.listSlideClass, resultsListInner).eq(0);
const firstSlideHeight=$firstSlide.length ? $firstSlide.outerHeight():0;
resultsList.css('height', firstSlideHeight > 0 ? firstSlideHeight:'auto');
});
});
}else{
return 'is init: true';
}};
$(window).on('elementor/frontend/init', JetSearch.initElementor);
JetSearch.initBlocks();
window.jetSearchBricks=function(){
JetSearch.initBricks();
}
window.JetSearch=JetSearch;
}(jQuery));