Plugin Directory

Changeset 3269054


Ignore:
Timestamp:
04/08/2025 04:15:31 PM (11 months ago)
Author:
wpengine
Message:

Tagging version 0.2.78

Location:
atlas-search
Files:
74 added
6 deleted
46 edited
1 copied

Legend:

Unmodified
Added
Removed
  • atlas-search/tags/0.2.78/README.txt

    r3266170 r3269054  
    33Tested up to: 6.7.1
    44Requires PHP: 7.4
    5 Stable tag: 0.2.77
     5Stable tag: 0.2.78
    66License: GPLv2 or later
    77License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    5656
    5757== Changelog ==
     58
     59= 0.2.78 =
     60* **Added:** Facets honor customer themes
     61* **Added:** Price range filter double slider for WooCommerce
    5862
    5963= 0.2.77 =
  • atlas-search/tags/0.2.78/atlas-search.php

    r3266170 r3269054  
    1616 * Plugin URI:        https://developers.wpengine.com/
    1717 * Description:       Searching WordPress data with WP Engine Smart Search.
    18  * Version:           0.2.77
     18 * Version:           0.2.78
    1919 * Author:            WP Engine
    2020 * Author URI:        https://wpengine.com/
     
    4141 * Rename this for your plugin and update it as you release new versions.
    4242 */
    43 define( 'WPE_SMART_SEARCH_VERSION', '0.2.77' );
     43define( 'WPE_SMART_SEARCH_VERSION', '0.2.78' );
    4444
    4545/**
  • atlas-search/tags/0.2.78/build/blocks-callbacks.php

    r3261003 r3269054  
    44
    55use WP_HTML_Tag_Processor;
     6use const AtlasSearch\Blocks\WordPress\RANGE_SLIDER_PREFIX;
    67
    78/**
     
    1112 */
    1213class WPE_Atlas_Search_Facets_Callbacks {
    13 
    14 
    1514    private $loader;
    1615    public const SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION = 'smart_search_blocks_support_enabled';
     
    6059                'recommendations-block',
    6160            );
     61            // Since we only have price as source, makes sense only to add range block only if WooCommerce is active.
     62            if ( class_exists( 'WooCommerce' ) ) {
     63                $blocks[] = 'range-facet';
     64            }
    6265        }
    6366
  • atlas-search/tags/0.2.78/build/filter-facet/index.asset.php

    r3261003 r3269054  
    1 <?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n'), 'version' => '9dc5f5fcd0d016f74877');
     1<?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n'), 'version' => 'e26e0c29fc4533aec11f');
  • atlas-search/tags/0.2.78/build/filter-facet/index.js

    r3261003 r3269054  
    1 (()=>{"use strict";var e,t={548:(e,t,n)=>{var r={};n.r(r),n.d(r,{hasBrowserEnv:()=>Oe,hasStandardBrowserEnv:()=>Se,hasStandardBrowserWebWorkerEnv:()=>ve,navigator:()=>Re,origin:()=>Te});const o=window.wp.blocks;function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function i(e,t,n){return(t=function(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}const c=window.wp.blockEditor,l=window.wp.compose,u=window.wp.element,f=window.wp.i18n,d=window.wp.components;function p(e){let{terms:t}=e;return React.createElement("select",{className:"wpengine-smart-dropdown-facet__field"},React.createElement("option",{value:""},"Please select..."),t&&t.length>0?t.map((e=>React.createElement("option",{value:e.slug,key:e.name},e.name))):React.createElement("option",{value:"",disabled:!0},(0,f.__)("No source data available","wpengine-smart-search")))}function h(e){let{terms:t}=e;return React.createElement("div",{className:"wpengine-smart-checkbox-facet__field"},t&&t.length>0?t.map((e=>React.createElement("div",{key:e.name},React.createElement("input",{type:"checkbox",id:e.slug,value:e.slug}),React.createElement("label",{htmlFor:e.slug},e.name)))):React.createElement("div",null,(0,f.__)("No source data available","wpengine-smart-search")))}function m(e,t){return function(){return e.apply(t,arguments)}}const{toString:b}=Object.prototype,{getPrototypeOf:y}=Object,g=(w=Object.create(null),e=>{const t=b.call(e);return w[t]||(w[t]=t.slice(8,-1).toLowerCase())});var w;const E=e=>(e=e.toLowerCase(),t=>g(t)===e),O=e=>t=>typeof t===e,{isArray:R}=Array,S=O("undefined"),v=E("ArrayBuffer"),T=O("string"),A=O("function"),j=O("number"),x=e=>null!==e&&"object"==typeof e,C=e=>{if("object"!==g(e))return!1;const t=y(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},N=E("Date"),P=E("File"),_=E("Blob"),k=E("FileList"),U=E("URLSearchParams"),[F,B,L,D]=["ReadableStream","Request","Response","Headers"].map(E);function q(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),R(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let i;for(r=0;r<s;r++)i=o[r],t.call(null,e[i],i,e)}}function M(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const I="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,z=e=>!S(e)&&e!==I,H=(J="undefined"!=typeof Uint8Array&&y(Uint8Array),e=>J&&e instanceof J);var J;const W=E("HTMLFormElement"),K=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),V=E("RegExp"),$=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};q(n,((n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)})),Object.defineProperties(e,r)},X=E("AsyncFunction"),G=(Q="function"==typeof setImmediate,Z=A(I.postMessage),Q?setImmediate:Z?(Y=`axios@${Math.random()}`,ee=[],I.addEventListener("message",(({source:e,data:t})=>{e===I&&t===Y&&ee.length&&ee.shift()()}),!1),e=>{ee.push(e),I.postMessage(Y,"*")}):e=>setTimeout(e));var Q,Z,Y,ee;const te="undefined"!=typeof queueMicrotask?queueMicrotask.bind(I):"undefined"!=typeof process&&process.nextTick||G,ne={isArray:R,isArrayBuffer:v,isBuffer:function(e){return null!==e&&!S(e)&&null!==e.constructor&&!S(e.constructor)&&A(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||A(e.append)&&("formdata"===(t=g(e))||"object"===t&&A(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&v(e.buffer),t},isString:T,isNumber:j,isBoolean:e=>!0===e||!1===e,isObject:x,isPlainObject:C,isReadableStream:F,isRequest:B,isResponse:L,isHeaders:D,isUndefined:S,isDate:N,isFile:P,isBlob:_,isRegExp:V,isFunction:A,isStream:e=>x(e)&&A(e.pipe),isURLSearchParams:U,isTypedArray:H,isFileList:k,forEach:q,merge:function e(){const{caseless:t}=z(this)&&this||{},n={},r=(r,o)=>{const s=t&&M(n,o)||o;C(n[s])&&C(r)?n[s]=e(n[s],r):C(r)?n[s]=e({},r):R(r)?n[s]=r.slice():n[s]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&q(arguments[e],r);return n},extend:(e,t,n,{allOwnKeys:r}={})=>(q(t,((t,r)=>{n&&A(t)?e[r]=m(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,s,i;const a={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)i=o[s],r&&!r(i,e,t)||a[i]||(t[i]=e[i],a[i]=!0);e=!1!==n&&y(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:g,kindOfTest:E,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(R(e))return e;let t=e.length;if(!j(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:W,hasOwnProperty:K,hasOwnProp:K,reduceDescriptors:$,freezeMethods:e=>{$(e,((t,n)=>{if(A(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];A(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return R(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:M,global:I,isContextDefined:z,isSpecCompliantForm:function(e){return!!(e&&A(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(x(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=R(e)?[]:{};return q(e,((e,t)=>{const s=n(e,r+1);!S(s)&&(o[t]=s)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:X,isThenable:e=>e&&(x(e)||A(e))&&A(e.then)&&A(e.catch),setImmediate:G,asap:te};function re(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}ne.inherits(re,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ne.toJSONObject(this.config),code:this.code,status:this.status}}});const oe=re.prototype,se={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{se[e]={value:e}})),Object.defineProperties(re,se),Object.defineProperty(oe,"isAxiosError",{value:!0}),re.from=(e,t,n,r,o,s)=>{const i=Object.create(oe);return ne.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),re.call(i,e.message,t,n,r,o),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};const ie=re;function ae(e){return ne.isPlainObject(e)||ne.isArray(e)}function ce(e){return ne.endsWith(e,"[]")?e.slice(0,-2):e}function le(e,t,n){return e?e.concat(t).map((function(e,t){return e=ce(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const ue=ne.toFlatObject(ne,{},null,(function(e){return/^is[A-Z]/.test(e)})),fe=function(e,t,n){if(!ne.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=ne.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ne.isUndefined(t[e])}))).metaTokens,o=n.visitor||l,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&ne.isSpecCompliantForm(t);if(!ne.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(ne.isDate(e))return e.toISOString();if(!a&&ne.isBlob(e))throw new ie("Blob is not supported. Use a Buffer instead.");return ne.isArrayBuffer(e)||ne.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if(e&&!o&&"object"==typeof e)if(ne.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(ne.isArray(e)&&function(e){return ne.isArray(e)&&!e.some(ae)}(e)||(ne.isFileList(e)||ne.endsWith(n,"[]"))&&(a=ne.toArray(e)))return n=ce(n),a.forEach((function(e,r){!ne.isUndefined(e)&&null!==e&&t.append(!0===i?le([n],r,s):null===i?n:n+"[]",c(e))})),!1;return!!ae(e)||(t.append(le(o,n,s),c(e)),!1)}const u=[],f=Object.assign(ue,{defaultVisitor:l,convertValue:c,isVisitable:ae});if(!ne.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!ne.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),ne.forEach(n,(function(n,s){!0===(!(ne.isUndefined(n)||null===n)&&o.call(t,n,ne.isString(s)?s.trim():s,r,f))&&e(n,r?r.concat(s):[s])})),u.pop()}}(e),t};function de(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function pe(e,t){this._pairs=[],e&&fe(e,this,t)}const he=pe.prototype;he.append=function(e,t){this._pairs.push([e,t])},he.toString=function(e){const t=e?function(t){return e.call(this,t,de)}:de;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const me=pe;function be(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ye(e,t,n){if(!t)return e;const r=n&&n.encode||be;ne.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let s;if(s=o?o(t,n):ne.isURLSearchParams(t)?t.toString():new me(t,n).toString(r),s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}const ge=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){ne.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},we={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ee={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:me,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Oe="undefined"!=typeof window&&"undefined"!=typeof document,Re="object"==typeof navigator&&navigator||void 0,Se=Oe&&(!Re||["ReactNative","NativeScript","NS"].indexOf(Re.product)<0),ve="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Te=Oe&&window.location.href||"http://localhost",Ae={...r,...Ee},je=function(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const i=Number.isFinite(+s),a=o>=e.length;return s=!s&&ne.isArray(r)?r.length:s,a?(ne.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!i):(r[s]&&ne.isObject(r[s])||(r[s]=[]),t(e,n,r[s],o)&&ne.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r<o;r++)s=n[r],t[s]=e[s];return t}(r[s])),!i)}if(ne.isFormData(e)&&ne.isFunction(e.entries)){const n={};return ne.forEachEntry(e,((e,r)=>{t(function(e){return ne.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},xe={transitional:we,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=ne.isObject(e);if(o&&ne.isHTMLForm(e)&&(e=new FormData(e)),ne.isFormData(e))return r?JSON.stringify(je(e)):e;if(ne.isArrayBuffer(e)||ne.isBuffer(e)||ne.isStream(e)||ne.isFile(e)||ne.isBlob(e)||ne.isReadableStream(e))return e;if(ne.isArrayBufferView(e))return e.buffer;if(ne.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return fe(e,new Ae.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return Ae.isNode&&ne.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((s=ne.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return fe(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e){if(ne.isString(e))try{return(0,JSON.parse)(e),ne.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||xe.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(ne.isResponse(e)||ne.isReadableStream(e))return e;if(e&&ne.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw ie.from(e,ie.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ae.classes.FormData,Blob:Ae.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ne.forEach(["delete","get","head","post","put","patch"],(e=>{xe.headers[e]={}}));const Ce=xe,Ne=ne.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Pe=Symbol("internals");function _e(e){return e&&String(e).trim().toLowerCase()}function ke(e){return!1===e||null==e?e:ne.isArray(e)?e.map(ke):String(e)}function Ue(e,t,n,r,o){return ne.isFunction(r)?r.call(this,t,n):(o&&(t=n),ne.isString(t)?ne.isString(r)?-1!==t.indexOf(r):ne.isRegExp(r)?r.test(t):void 0:void 0)}class Fe{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=_e(t);if(!o)throw new Error("header name must be a non-empty string");const s=ne.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=ke(e))}const s=(e,t)=>ne.forEach(e,((e,n)=>o(e,n,t)));if(ne.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(ne.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&Ne[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(ne.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=_e(e)){const n=ne.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(ne.isFunction(t))return t.call(this,e,n);if(ne.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=_e(e)){const n=ne.findKey(this,e);return!(!n||void 0===this[n]||t&&!Ue(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=_e(e)){const o=ne.findKey(n,e);!o||t&&!Ue(0,n[o],o,t)||(delete n[o],r=!0)}}return ne.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!Ue(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return ne.forEach(this,((r,o)=>{const s=ne.findKey(n,o);if(s)return t[s]=ke(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();i!==o&&delete t[o],t[i]=ke(r),n[i]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return ne.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&ne.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Pe]=this[Pe]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=_e(e);t[r]||(function(e,t){const n=ne.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return ne.isArray(e)?e.forEach(r):r(e),this}}Fe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ne.reduceDescriptors(Fe.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),ne.freezeMethods(Fe);const Be=Fe;function Le(e,t){const n=this||Ce,r=t||n,o=Be.from(r.headers);let s=r.data;return ne.forEach(e,(function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)})),o.normalize(),s}function De(e){return!(!e||!e.__CANCEL__)}function qe(e,t,n){ie.call(this,null==e?"canceled":e,ie.ERR_CANCELED,t,n),this.name="CanceledError"}ne.inherits(qe,ie,{__CANCEL__:!0});const Me=qe;function Ie(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new ie("Request failed with status code "+n.status,[ie.ERR_BAD_REQUEST,ie.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const ze=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),l=r[i];o||(o=c),n[s]=a,r[s]=c;let u=i,f=0;for(;u!==s;)f+=n[u++],u%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-o<t)return;const d=l&&c-l;return d?Math.round(1e3*f/d):void 0}}(50,250);return function(e,t){let n,r,o=0,s=1e3/t;const i=(t,s=Date.now())=>{o=s,n=null,r&&(clearTimeout(r),r=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),a=t-o;a>=s?i(e,t):(n=e,r||(r=setTimeout((()=>{r=null,i(n)}),s-a)))},()=>n&&i(n)]}((n=>{const s=n.loaded,i=n.lengthComputable?n.total:void 0,a=s-r,c=o(a);r=s,e({loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:n,lengthComputable:null!=i,[t?"download":"upload"]:!0})}),n)},He=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Je=e=>(...t)=>ne.asap((()=>e(...t))),We=Ae.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Ae.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Ae.origin),Ae.navigator&&/(msie|trident)/i.test(Ae.navigator.userAgent)):()=>!0,Ke=Ae.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const i=[e+"="+encodeURIComponent(t)];ne.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),ne.isString(r)&&i.push("path="+r),ne.isString(o)&&i.push("domain="+o),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Ve(e,t,n){let r=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&r||0==n?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const $e=e=>e instanceof Be?{...e}:e;function Xe(e,t){t=t||{};const n={};function r(e,t,n,r){return ne.isPlainObject(e)&&ne.isPlainObject(t)?ne.merge.call({caseless:r},e,t):ne.isPlainObject(t)?ne.merge({},t):ne.isArray(t)?t.slice():t}function o(e,t,n,o){return ne.isUndefined(t)?ne.isUndefined(e)?void 0:r(void 0,e,0,o):r(e,t,0,o)}function s(e,t){if(!ne.isUndefined(t))return r(void 0,t)}function i(e,t){return ne.isUndefined(t)?ne.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t,n)=>o($e(e),$e(t),0,!0)};return ne.forEach(Object.keys(Object.assign({},e,t)),(function(r){const s=c[r]||o,i=s(e[r],t[r],r);ne.isUndefined(i)&&s!==a||(n[r]=i)})),n}const Ge=e=>{const t=Xe({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:i,headers:a,auth:c}=t;if(t.headers=a=Be.from(a),t.url=ye(Ve(t.baseURL,t.url),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),ne.isFormData(r))if(Ae.hasStandardBrowserEnv||Ae.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(n=a.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...t].join("; "))}if(Ae.hasStandardBrowserEnv&&(o&&ne.isFunction(o)&&(o=o(t)),o||!1!==o&&We(t.url))){const e=s&&i&&Ke.read(i);e&&a.set(s,e)}return t},Qe="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=Ge(e);let o=r.data;const s=Be.from(r.headers).normalize();let i,a,c,l,u,{responseType:f,onUploadProgress:d,onDownloadProgress:p}=r;function h(){l&&l(),u&&u(),r.cancelToken&&r.cancelToken.unsubscribe(i),r.signal&&r.signal.removeEventListener("abort",i)}let m=new XMLHttpRequest;function b(){if(!m)return;const r=Be.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());Ie((function(e){t(e),h()}),(function(e){n(e),h()}),{data:f&&"text"!==f&&"json"!==f?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m}),m=null}m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout,"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(b)},m.onabort=function(){m&&(n(new ie("Request aborted",ie.ECONNABORTED,e,m)),m=null)},m.onerror=function(){n(new ie("Network Error",ie.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||we;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new ie(t,o.clarifyTimeoutError?ie.ETIMEDOUT:ie.ECONNABORTED,e,m)),m=null},void 0===o&&s.setContentType(null),"setRequestHeader"in m&&ne.forEach(s.toJSON(),(function(e,t){m.setRequestHeader(t,e)})),ne.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),f&&"json"!==f&&(m.responseType=r.responseType),p&&([c,u]=ze(p,!0),m.addEventListener("progress",c)),d&&m.upload&&([a,l]=ze(d),m.upload.addEventListener("progress",a),m.upload.addEventListener("loadend",l)),(r.cancelToken||r.signal)&&(i=t=>{m&&(n(!t||t.type?new Me(null,e,m):t),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(i),r.signal&&(r.signal.aborted?i():r.signal.addEventListener("abort",i)));const y=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);y&&-1===Ae.protocols.indexOf(y)?n(new ie("Unsupported protocol "+y+":",ie.ERR_BAD_REQUEST,e)):m.send(o||null)}))},Ze=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,r=new AbortController;const o=function(e){if(!n){n=!0,i();const t=e instanceof Error?e:this.reason;r.abort(t instanceof ie?t:new Me(t instanceof Error?t.message:t))}};let s=t&&setTimeout((()=>{s=null,o(new ie(`timeout ${t} of ms exceeded`,ie.ETIMEDOUT))}),t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach((e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)})),e=null)};e.forEach((e=>e.addEventListener("abort",o)));const{signal:a}=r;return a.unsubscribe=()=>ne.asap(i),a}},Ye=function*(e,t){let n=e.byteLength;if(!t||n<t)return void(yield e);let r,o=0;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},et=(e,t,n,r)=>{const o=async function*(e,t){for await(const n of async function*(e){if(e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}}(e))yield*Ye(n,t)}(e,t);let s,i=0,a=e=>{s||(s=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await o.next();if(t)return a(),void e.close();let s=r.byteLength;if(n){let e=i+=s;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw a(e),e}},cancel:e=>(a(e),o.return())},{highWaterMark:2})},tt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,nt=tt&&"function"==typeof ReadableStream,rt=tt&&("function"==typeof TextEncoder?(ot=new TextEncoder,e=>ot.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var ot;const st=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},it=nt&&st((()=>{let e=!1;const t=new Request(Ae.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),at=nt&&st((()=>ne.isReadableStream(new Response("").body))),ct={stream:at&&(e=>e.body)};var lt;tt&&(lt=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!ct[e]&&(ct[e]=ne.isFunction(lt[e])?t=>t[e]():(t,n)=>{throw new ie(`Response type '${e}' is not supported`,ie.ERR_NOT_SUPPORT,n)})})));const ut={http:null,xhr:Qe,fetch:tt&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:s,timeout:i,onDownloadProgress:a,onUploadProgress:c,responseType:l,headers:u,withCredentials:f="same-origin",fetchOptions:d}=Ge(e);l=l?(l+"").toLowerCase():"text";let p,h=Ze([o,s&&s.toAbortSignal()],i);const m=h&&h.unsubscribe&&(()=>{h.unsubscribe()});let b;try{if(c&&it&&"get"!==n&&"head"!==n&&0!==(b=await(async(e,t)=>{const n=ne.toFiniteNumber(e.getContentLength());return null==n?(async e=>{if(null==e)return 0;if(ne.isBlob(e))return e.size;if(ne.isSpecCompliantForm(e)){const t=new Request(Ae.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return ne.isArrayBufferView(e)||ne.isArrayBuffer(e)?e.byteLength:(ne.isURLSearchParams(e)&&(e+=""),ne.isString(e)?(await rt(e)).byteLength:void 0)})(t):n})(u,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});if(ne.isFormData(r)&&(e=n.headers.get("content-type"))&&u.setContentType(e),n.body){const[e,t]=He(b,ze(Je(c)));r=et(n.body,65536,e,t)}}ne.isString(f)||(f=f?"include":"omit");const o="credentials"in Request.prototype;p=new Request(t,{...d,signal:h,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",credentials:o?f:void 0});let s=await fetch(p);const i=at&&("stream"===l||"response"===l);if(at&&(a||i&&m)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=s[t]}));const t=ne.toFiniteNumber(s.headers.get("content-length")),[n,r]=a&&He(t,ze(Je(a),!0))||[];s=new Response(et(s.body,65536,n,(()=>{r&&r(),m&&m()})),e)}l=l||"text";let y=await ct[ne.findKey(ct,l)||"text"](s,e);return!i&&m&&m(),await new Promise(((t,n)=>{Ie(t,n,{data:y,headers:Be.from(s.headers),status:s.status,statusText:s.statusText,config:e,request:p})}))}catch(t){if(m&&m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new ie("Network Error",ie.ERR_NETWORK,e,p),{cause:t.cause||t});throw ie.from(t,t&&t.code,e,p)}})};ne.forEach(ut,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const ft=e=>`- ${e}`,dt=e=>ne.isFunction(e)||null===e||!1===e,pt=e=>{e=ne.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let s=0;s<t;s++){let t;if(n=e[s],r=n,!dt(n)&&(r=ut[(t=String(n)).toLowerCase()],void 0===r))throw new ie(`Unknown adapter '${t}'`);if(r)break;o[t||"#"+s]=r}if(!r){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(ft).join("\n"):" "+ft(e[0]):"as no adapter specified";throw new ie("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function ht(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Me(null,e)}function mt(e){return ht(e),e.headers=Be.from(e.headers),e.data=Le.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),pt(e.adapter||Ce.adapter)(e).then((function(t){return ht(e),t.data=Le.call(e,e.transformResponse,t),t.headers=Be.from(t.headers),t}),(function(t){return De(t)||(ht(e),t&&t.response&&(t.response.data=Le.call(e,e.transformResponse,t.response),t.response.headers=Be.from(t.response.headers))),Promise.reject(t)}))}const bt={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{bt[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const yt={};bt.transitional=function(e,t,n){function r(e,t){return"[Axios v1.8.2] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new ie(r(o," has been removed"+(t?" in "+t:"")),ie.ERR_DEPRECATED);return t&&!yt[o]&&(yt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}},bt.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};const gt={assertOptions:function(e,t,n){if("object"!=typeof e)throw new ie("options must be an object",ie.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const t=e[s],n=void 0===t||i(t,s,e);if(!0!==n)throw new ie("option "+s+" must be "+n,ie.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ie("Unknown option "+s,ie.ERR_BAD_OPTION)}},validators:bt},wt=gt.validators;class Et{constructor(e){this.defaults=e,this.interceptors={request:new ge,response:new ge}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Xe(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&gt.assertOptions(n,{silentJSONParsing:wt.transitional(wt.boolean),forcedJSONParsing:wt.transitional(wt.boolean),clarifyTimeoutError:wt.transitional(wt.boolean)},!1),null!=r&&(ne.isFunction(r)?t.paramsSerializer={serialize:r}:gt.assertOptions(r,{encode:wt.function,serialize:wt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),gt.assertOptions(t,{baseUrl:wt.spelling("baseURL"),withXsrfToken:wt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&ne.merge(o.common,o[t.method]);o&&ne.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Be.concat(s,o);const i=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let u,f=0;if(!a){const e=[mt.bind(this),void 0];for(e.unshift.apply(e,i),e.push.apply(e,c),u=e.length,l=Promise.resolve(t);f<u;)l=l.then(e[f++],e[f++]);return l}u=i.length;let d=t;for(f=0;f<u;){const e=i[f++],t=i[f++];try{d=e(d)}catch(e){t.call(this,e);break}}try{l=mt.call(this,d)}catch(e){return Promise.reject(e)}for(f=0,u=c.length;f<u;)l=l.then(c[f++],c[f++]);return l}getUri(e){return ye(Ve((e=Xe(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}ne.forEach(["delete","get","head","options"],(function(e){Et.prototype[e]=function(t,n){return this.request(Xe(n||{},{method:e,url:t,data:(n||{}).data}))}})),ne.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,o){return this.request(Xe(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}Et.prototype[e]=t(),Et.prototype[e+"Form"]=t(!0)}));const Ot=Et;class Rt{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new Me(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new Rt((function(t){e=t})),cancel:e}}}const St=Rt,vt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(vt).forEach((([e,t])=>{vt[t]=e}));const Tt=vt,At=function e(t){const n=new Ot(t),r=m(Ot.prototype.request,n);return ne.extend(r,Ot.prototype,n,{allOwnKeys:!0}),ne.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(Xe(t,n))},r}(Ce);At.Axios=Ot,At.CanceledError=Me,At.CancelToken=St,At.isCancel=De,At.VERSION="1.8.2",At.toFormData=fe,At.AxiosError=ie,At.Cancel=At.CanceledError,At.all=function(e){return Promise.all(e)},At.spread=function(e){return function(t){return e.apply(null,t)}},At.isAxiosError=function(e){return ne.isObject(e)&&!0===e.isAxiosError},At.mergeConfig=Xe,At.AxiosHeaders=Be,At.formToJSON=e=>je(ne.isHTMLForm(e)?new FormData(e):e),At.getAdapter=pt,At.HttpStatusCode=Tt,At.default=At;const jt=At,xt=function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return n.flatMap((t=>"string"==typeof t||"number"==typeof t?[t]:Array.isArray(t)?e(...t):"object"==typeof t&&null!==t?Object.keys(t).filter((e=>t[e])):[])).filter(Boolean).join(" ")},Ct=(0,l.withInstanceId)((function(e){let{attributes:{label:t,formId:n,className:r,hasLabel:o,align:s,selectedDataSource:l="",selectedType:m=""},instanceId:b,setAttributes:y}=e;const[g,w]=(0,u.useState)([]),[E,O]=(0,u.useState)([]),R=xt("wpengine-smart-dropdown-facet",s?"align"+s:"",r,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},(0,c.useBlockProps)()).className);(0,u.useEffect)((()=>{n||y({formId:"wpengine-smart-dropdown-facet-".concat(b)})}),[n,y,b]),(0,u.useEffect)((()=>{(async()=>{try{const e=await jt.get("/wp-json/wpengine-smart-search/v1/taxonomies",{headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}});w(e.data)}catch(e){console.error("Error fetching taxonomies:",e)}})()}),[]);const S=[...(g||[]).map((e=>({label:e.labels.name||e.name,value:e.name})))];(0,u.useEffect)((()=>{(async()=>{l||(l="category",y({selectedDataSource:l}));try{const e=await jt.get("/wp-json/wpengine-smart-search/v1/taxonomies/".concat(l,"/terms"),{headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}});O(e.data)}catch(e){console.error("Error fetching terms:",e)}})()}),[l,y]);const v={select:p,checkbox:h}[m]||p;return React.createElement(React.Fragment,null,React.createElement(c.InspectorControls,{key:"inspector"},React.createElement(d.PanelBody,{title:"Settings"},React.createElement(d.SelectControl,{key:"taxonomy-select-".concat(b),label:"Select Source","data-testid":"data-source",value:l,options:S,onChange:e=>{y({selectedDataSource:e})},__nextHasNoMarginBottom:!0}),React.createElement(d.SelectControl,{key:"facet-type-".concat(b),label:"Select Type","data-testid":"data-source-type",value:m,options:[{label:"Dropdown",value:"select"},{label:"Checkbox",value:"checkbox"}],onChange:e=>{y({selectedType:e})},__nextHasNoMarginBottom:!0}))),React.createElement("div",Object.assign({},(0,c.useBlockProps)(),{className:R}),!!o&&React.createElement(React.Fragment,null,React.createElement("label",{className:"screen-reader-text",htmlFor:"wpengine-smart-search-dropdown-facet__label"},(0,f.__)("Filter Label","wpengine-smart-search")),React.createElement(c.PlainText,{className:"wpengine-smart-search-dropdown-facet__label",id:"wpengine-smart-search-dropdown-facet__label",value:t,onChange:e=>y({label:e}),style:{backgroundColor:"transparent"}})),React.createElement("div",{className:"wpengine-smart-search-facet__fields"},React.createElement(v,{terms:E}))))})),Nt=JSON.parse('{"UU":"wpengine-smart-search/dropdown-facet"}');(0,o.registerBlockType)(Nt.UU,{edit:Ct,save:function(){return React.createElement("div",c.useBlockProps.save(),React.createElement(c.InnerBlocks.Content,null))}})}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.m=t,e=[],r.O=(t,n,o,s)=>{if(!n){var i=1/0;for(u=0;u<e.length;u++){n=e[u][0],o=e[u][1],s=e[u][2];for(var a=!0,c=0;c<n.length;c++)(!1&s||i>=s)&&Object.keys(r.O).every((e=>r.O[e](n[c])))?n.splice(c--,1):(a=!1,s<i&&(i=s));if(a){e.splice(u--,1);var l=o();void 0!==l&&(t=l)}}return t}s=s||0;for(var u=e.length;u>0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[n,o,s]},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={874:0,726:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var o,s,i=n[0],a=n[1],c=n[2],l=0;if(i.some((t=>0!==e[t]))){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(c)var u=c(r)}for(t&&t(n);l<i.length;l++)s=i[l],r.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return r.O(u)},n=self.webpackChunkwpengine_smart_search=self.webpackChunkwpengine_smart_search||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var o=r.O(void 0,[726],(()=>r(548)));o=r.O(o)})();
     1(()=>{"use strict";var e,t={548:(e,t,n)=>{var r={};n.r(r),n.d(r,{hasBrowserEnv:()=>we,hasStandardBrowserEnv:()=>Oe,hasStandardBrowserWebWorkerEnv:()=>Re,navigator:()=>Ee,origin:()=>Se});const o=window.wp.blocks;function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function i(e,t,n){return(t=function(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}const c=window.wp.blockEditor,l=window.wp.compose,u=window.wp.element,f=window.wp.i18n,d=window.wp.components;function p(e,t){return function(){return e.apply(t,arguments)}}const{toString:h}=Object.prototype,{getPrototypeOf:m}=Object,b=(y=Object.create(null),e=>{const t=h.call(e);return y[t]||(y[t]=t.slice(8,-1).toLowerCase())});var y;const g=e=>(e=e.toLowerCase(),t=>b(t)===e),w=e=>t=>typeof t===e,{isArray:E}=Array,O=w("undefined"),R=g("ArrayBuffer"),S=w("string"),v=w("function"),T=w("number"),A=e=>null!==e&&"object"==typeof e,j=e=>{if("object"!==b(e))return!1;const t=m(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},x=g("Date"),C=g("File"),N=g("Blob"),P=g("FileList"),_=g("URLSearchParams"),[k,U,F,B]=["ReadableStream","Request","Response","Headers"].map(g);function L(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),E(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let i;for(r=0;r<s;r++)i=o[r],t.call(null,e[i],i,e)}}function D(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,M=e=>!O(e)&&e!==q,I=(z="undefined"!=typeof Uint8Array&&m(Uint8Array),e=>z&&e instanceof z);var z;const H=g("HTMLFormElement"),J=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),W=g("RegExp"),K=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};L(n,((n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)})),Object.defineProperties(e,r)},V=g("AsyncFunction"),$=(X="function"==typeof setImmediate,G=v(q.postMessage),X?setImmediate:G?(Q=`axios@${Math.random()}`,Z=[],q.addEventListener("message",(({source:e,data:t})=>{e===q&&t===Q&&Z.length&&Z.shift()()}),!1),e=>{Z.push(e),q.postMessage(Q,"*")}):e=>setTimeout(e));var X,G,Q,Z;const Y="undefined"!=typeof queueMicrotask?queueMicrotask.bind(q):"undefined"!=typeof process&&process.nextTick||$,ee={isArray:E,isArrayBuffer:R,isBuffer:function(e){return null!==e&&!O(e)&&null!==e.constructor&&!O(e.constructor)&&v(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||v(e.append)&&("formdata"===(t=b(e))||"object"===t&&v(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&R(e.buffer),t},isString:S,isNumber:T,isBoolean:e=>!0===e||!1===e,isObject:A,isPlainObject:j,isReadableStream:k,isRequest:U,isResponse:F,isHeaders:B,isUndefined:O,isDate:x,isFile:C,isBlob:N,isRegExp:W,isFunction:v,isStream:e=>A(e)&&v(e.pipe),isURLSearchParams:_,isTypedArray:I,isFileList:P,forEach:L,merge:function e(){const{caseless:t}=M(this)&&this||{},n={},r=(r,o)=>{const s=t&&D(n,o)||o;j(n[s])&&j(r)?n[s]=e(n[s],r):j(r)?n[s]=e({},r):E(r)?n[s]=r.slice():n[s]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&L(arguments[e],r);return n},extend:(e,t,n,{allOwnKeys:r}={})=>(L(t,((t,r)=>{n&&v(t)?e[r]=p(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,s,i;const a={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)i=o[s],r&&!r(i,e,t)||a[i]||(t[i]=e[i],a[i]=!0);e=!1!==n&&m(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:b,kindOfTest:g,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(E(e))return e;let t=e.length;if(!T(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:H,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:K,freezeMethods:e=>{K(e,((t,n)=>{if(v(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];v(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return E(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:D,global:q,isContextDefined:M,isSpecCompliantForm:function(e){return!!(e&&v(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(A(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=E(e)?[]:{};return L(e,((e,t)=>{const s=n(e,r+1);!O(s)&&(o[t]=s)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:V,isThenable:e=>e&&(A(e)||v(e))&&v(e.then)&&v(e.catch),setImmediate:$,asap:Y};function te(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}ee.inherits(te,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ee.toJSONObject(this.config),code:this.code,status:this.status}}});const ne=te.prototype,re={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{re[e]={value:e}})),Object.defineProperties(te,re),Object.defineProperty(ne,"isAxiosError",{value:!0}),te.from=(e,t,n,r,o,s)=>{const i=Object.create(ne);return ee.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),te.call(i,e.message,t,n,r,o),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};const oe=te;function se(e){return ee.isPlainObject(e)||ee.isArray(e)}function ie(e){return ee.endsWith(e,"[]")?e.slice(0,-2):e}function ae(e,t,n){return e?e.concat(t).map((function(e,t){return e=ie(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const ce=ee.toFlatObject(ee,{},null,(function(e){return/^is[A-Z]/.test(e)})),le=function(e,t,n){if(!ee.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=ee.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ee.isUndefined(t[e])}))).metaTokens,o=n.visitor||l,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&ee.isSpecCompliantForm(t);if(!ee.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(ee.isDate(e))return e.toISOString();if(!a&&ee.isBlob(e))throw new oe("Blob is not supported. Use a Buffer instead.");return ee.isArrayBuffer(e)||ee.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if(e&&!o&&"object"==typeof e)if(ee.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(ee.isArray(e)&&function(e){return ee.isArray(e)&&!e.some(se)}(e)||(ee.isFileList(e)||ee.endsWith(n,"[]"))&&(a=ee.toArray(e)))return n=ie(n),a.forEach((function(e,r){!ee.isUndefined(e)&&null!==e&&t.append(!0===i?ae([n],r,s):null===i?n:n+"[]",c(e))})),!1;return!!se(e)||(t.append(ae(o,n,s),c(e)),!1)}const u=[],f=Object.assign(ce,{defaultVisitor:l,convertValue:c,isVisitable:se});if(!ee.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!ee.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),ee.forEach(n,(function(n,s){!0===(!(ee.isUndefined(n)||null===n)&&o.call(t,n,ee.isString(s)?s.trim():s,r,f))&&e(n,r?r.concat(s):[s])})),u.pop()}}(e),t};function ue(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function fe(e,t){this._pairs=[],e&&le(e,this,t)}const de=fe.prototype;de.append=function(e,t){this._pairs.push([e,t])},de.toString=function(e){const t=e?function(t){return e.call(this,t,ue)}:ue;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const pe=fe;function he(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function me(e,t,n){if(!t)return e;const r=n&&n.encode||he;ee.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let s;if(s=o?o(t,n):ee.isURLSearchParams(t)?t.toString():new pe(t,n).toString(r),s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}const be=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){ee.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},ye={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ge={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:pe,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},we="undefined"!=typeof window&&"undefined"!=typeof document,Ee="object"==typeof navigator&&navigator||void 0,Oe=we&&(!Ee||["ReactNative","NativeScript","NS"].indexOf(Ee.product)<0),Re="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Se=we&&window.location.href||"http://localhost",ve={...r,...ge},Te=function(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const i=Number.isFinite(+s),a=o>=e.length;return s=!s&&ee.isArray(r)?r.length:s,a?(ee.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!i):(r[s]&&ee.isObject(r[s])||(r[s]=[]),t(e,n,r[s],o)&&ee.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r<o;r++)s=n[r],t[s]=e[s];return t}(r[s])),!i)}if(ee.isFormData(e)&&ee.isFunction(e.entries)){const n={};return ee.forEachEntry(e,((e,r)=>{t(function(e){return ee.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},Ae={transitional:ye,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=ee.isObject(e);if(o&&ee.isHTMLForm(e)&&(e=new FormData(e)),ee.isFormData(e))return r?JSON.stringify(Te(e)):e;if(ee.isArrayBuffer(e)||ee.isBuffer(e)||ee.isStream(e)||ee.isFile(e)||ee.isBlob(e)||ee.isReadableStream(e))return e;if(ee.isArrayBufferView(e))return e.buffer;if(ee.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return le(e,new ve.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return ve.isNode&&ee.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((s=ee.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return le(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e){if(ee.isString(e))try{return(0,JSON.parse)(e),ee.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||Ae.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(ee.isResponse(e)||ee.isReadableStream(e))return e;if(e&&ee.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw oe.from(e,oe.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ve.classes.FormData,Blob:ve.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ee.forEach(["delete","get","head","post","put","patch"],(e=>{Ae.headers[e]={}}));const je=Ae,xe=ee.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ce=Symbol("internals");function Ne(e){return e&&String(e).trim().toLowerCase()}function Pe(e){return!1===e||null==e?e:ee.isArray(e)?e.map(Pe):String(e)}function _e(e,t,n,r,o){return ee.isFunction(r)?r.call(this,t,n):(o&&(t=n),ee.isString(t)?ee.isString(r)?-1!==t.indexOf(r):ee.isRegExp(r)?r.test(t):void 0:void 0)}class ke{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=Ne(t);if(!o)throw new Error("header name must be a non-empty string");const s=ee.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=Pe(e))}const s=(e,t)=>ee.forEach(e,((e,n)=>o(e,n,t)));if(ee.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(ee.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&xe[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(ee.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=Ne(e)){const n=ee.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(ee.isFunction(t))return t.call(this,e,n);if(ee.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Ne(e)){const n=ee.findKey(this,e);return!(!n||void 0===this[n]||t&&!_e(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=Ne(e)){const o=ee.findKey(n,e);!o||t&&!_e(0,n[o],o,t)||(delete n[o],r=!0)}}return ee.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!_e(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return ee.forEach(this,((r,o)=>{const s=ee.findKey(n,o);if(s)return t[s]=Pe(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();i!==o&&delete t[o],t[i]=Pe(r),n[i]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return ee.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&ee.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Ce]=this[Ce]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=Ne(e);t[r]||(function(e,t){const n=ee.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return ee.isArray(e)?e.forEach(r):r(e),this}}ke.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ee.reduceDescriptors(ke.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),ee.freezeMethods(ke);const Ue=ke;function Fe(e,t){const n=this||je,r=t||n,o=Ue.from(r.headers);let s=r.data;return ee.forEach(e,(function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)})),o.normalize(),s}function Be(e){return!(!e||!e.__CANCEL__)}function Le(e,t,n){oe.call(this,null==e?"canceled":e,oe.ERR_CANCELED,t,n),this.name="CanceledError"}ee.inherits(Le,oe,{__CANCEL__:!0});const De=Le;function qe(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new oe("Request failed with status code "+n.status,[oe.ERR_BAD_REQUEST,oe.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const Me=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),l=r[i];o||(o=c),n[s]=a,r[s]=c;let u=i,f=0;for(;u!==s;)f+=n[u++],u%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-o<t)return;const d=l&&c-l;return d?Math.round(1e3*f/d):void 0}}(50,250);return function(e,t){let n,r,o=0,s=1e3/t;const i=(t,s=Date.now())=>{o=s,n=null,r&&(clearTimeout(r),r=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),a=t-o;a>=s?i(e,t):(n=e,r||(r=setTimeout((()=>{r=null,i(n)}),s-a)))},()=>n&&i(n)]}((n=>{const s=n.loaded,i=n.lengthComputable?n.total:void 0,a=s-r,c=o(a);r=s,e({loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:n,lengthComputable:null!=i,[t?"download":"upload"]:!0})}),n)},Ie=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ze=e=>(...t)=>ee.asap((()=>e(...t))),He=ve.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,ve.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(ve.origin),ve.navigator&&/(msie|trident)/i.test(ve.navigator.userAgent)):()=>!0,Je=ve.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const i=[e+"="+encodeURIComponent(t)];ee.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),ee.isString(r)&&i.push("path="+r),ee.isString(o)&&i.push("domain="+o),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function We(e,t,n){let r=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&(r||0==n)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Ke=e=>e instanceof Ue?{...e}:e;function Ve(e,t){t=t||{};const n={};function r(e,t,n,r){return ee.isPlainObject(e)&&ee.isPlainObject(t)?ee.merge.call({caseless:r},e,t):ee.isPlainObject(t)?ee.merge({},t):ee.isArray(t)?t.slice():t}function o(e,t,n,o){return ee.isUndefined(t)?ee.isUndefined(e)?void 0:r(void 0,e,0,o):r(e,t,0,o)}function s(e,t){if(!ee.isUndefined(t))return r(void 0,t)}function i(e,t){return ee.isUndefined(t)?ee.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t,n)=>o(Ke(e),Ke(t),0,!0)};return ee.forEach(Object.keys(Object.assign({},e,t)),(function(r){const s=c[r]||o,i=s(e[r],t[r],r);ee.isUndefined(i)&&s!==a||(n[r]=i)})),n}const $e=e=>{const t=Ve({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:i,headers:a,auth:c}=t;if(t.headers=a=Ue.from(a),t.url=me(We(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),ee.isFormData(r))if(ve.hasStandardBrowserEnv||ve.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(n=a.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...t].join("; "))}if(ve.hasStandardBrowserEnv&&(o&&ee.isFunction(o)&&(o=o(t)),o||!1!==o&&He(t.url))){const e=s&&i&&Je.read(i);e&&a.set(s,e)}return t},Xe="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=$e(e);let o=r.data;const s=Ue.from(r.headers).normalize();let i,a,c,l,u,{responseType:f,onUploadProgress:d,onDownloadProgress:p}=r;function h(){l&&l(),u&&u(),r.cancelToken&&r.cancelToken.unsubscribe(i),r.signal&&r.signal.removeEventListener("abort",i)}let m=new XMLHttpRequest;function b(){if(!m)return;const r=Ue.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());qe((function(e){t(e),h()}),(function(e){n(e),h()}),{data:f&&"text"!==f&&"json"!==f?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m}),m=null}m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout,"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(b)},m.onabort=function(){m&&(n(new oe("Request aborted",oe.ECONNABORTED,e,m)),m=null)},m.onerror=function(){n(new oe("Network Error",oe.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||ye;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new oe(t,o.clarifyTimeoutError?oe.ETIMEDOUT:oe.ECONNABORTED,e,m)),m=null},void 0===o&&s.setContentType(null),"setRequestHeader"in m&&ee.forEach(s.toJSON(),(function(e,t){m.setRequestHeader(t,e)})),ee.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),f&&"json"!==f&&(m.responseType=r.responseType),p&&([c,u]=Me(p,!0),m.addEventListener("progress",c)),d&&m.upload&&([a,l]=Me(d),m.upload.addEventListener("progress",a),m.upload.addEventListener("loadend",l)),(r.cancelToken||r.signal)&&(i=t=>{m&&(n(!t||t.type?new De(null,e,m):t),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(i),r.signal&&(r.signal.aborted?i():r.signal.addEventListener("abort",i)));const y=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);y&&-1===ve.protocols.indexOf(y)?n(new oe("Unsupported protocol "+y+":",oe.ERR_BAD_REQUEST,e)):m.send(o||null)}))},Ge=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,r=new AbortController;const o=function(e){if(!n){n=!0,i();const t=e instanceof Error?e:this.reason;r.abort(t instanceof oe?t:new De(t instanceof Error?t.message:t))}};let s=t&&setTimeout((()=>{s=null,o(new oe(`timeout ${t} of ms exceeded`,oe.ETIMEDOUT))}),t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach((e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)})),e=null)};e.forEach((e=>e.addEventListener("abort",o)));const{signal:a}=r;return a.unsubscribe=()=>ee.asap(i),a}},Qe=function*(e,t){let n=e.byteLength;if(!t||n<t)return void(yield e);let r,o=0;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},Ze=(e,t,n,r)=>{const o=async function*(e,t){for await(const n of async function*(e){if(e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}}(e))yield*Qe(n,t)}(e,t);let s,i=0,a=e=>{s||(s=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await o.next();if(t)return a(),void e.close();let s=r.byteLength;if(n){let e=i+=s;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw a(e),e}},cancel:e=>(a(e),o.return())},{highWaterMark:2})},Ye="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,et=Ye&&"function"==typeof ReadableStream,tt=Ye&&("function"==typeof TextEncoder?(nt=new TextEncoder,e=>nt.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var nt;const rt=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},ot=et&&rt((()=>{let e=!1;const t=new Request(ve.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),st=et&&rt((()=>ee.isReadableStream(new Response("").body))),it={stream:st&&(e=>e.body)};var at;Ye&&(at=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!it[e]&&(it[e]=ee.isFunction(at[e])?t=>t[e]():(t,n)=>{throw new oe(`Response type '${e}' is not supported`,oe.ERR_NOT_SUPPORT,n)})})));const ct={http:null,xhr:Xe,fetch:Ye&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:s,timeout:i,onDownloadProgress:a,onUploadProgress:c,responseType:l,headers:u,withCredentials:f="same-origin",fetchOptions:d}=$e(e);l=l?(l+"").toLowerCase():"text";let p,h=Ge([o,s&&s.toAbortSignal()],i);const m=h&&h.unsubscribe&&(()=>{h.unsubscribe()});let b;try{if(c&&ot&&"get"!==n&&"head"!==n&&0!==(b=await(async(e,t)=>{const n=ee.toFiniteNumber(e.getContentLength());return null==n?(async e=>{if(null==e)return 0;if(ee.isBlob(e))return e.size;if(ee.isSpecCompliantForm(e)){const t=new Request(ve.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return ee.isArrayBufferView(e)||ee.isArrayBuffer(e)?e.byteLength:(ee.isURLSearchParams(e)&&(e+=""),ee.isString(e)?(await tt(e)).byteLength:void 0)})(t):n})(u,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});if(ee.isFormData(r)&&(e=n.headers.get("content-type"))&&u.setContentType(e),n.body){const[e,t]=Ie(b,Me(ze(c)));r=Ze(n.body,65536,e,t)}}ee.isString(f)||(f=f?"include":"omit");const o="credentials"in Request.prototype;p=new Request(t,{...d,signal:h,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",credentials:o?f:void 0});let s=await fetch(p);const i=st&&("stream"===l||"response"===l);if(st&&(a||i&&m)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=s[t]}));const t=ee.toFiniteNumber(s.headers.get("content-length")),[n,r]=a&&Ie(t,Me(ze(a),!0))||[];s=new Response(Ze(s.body,65536,n,(()=>{r&&r(),m&&m()})),e)}l=l||"text";let y=await it[ee.findKey(it,l)||"text"](s,e);return!i&&m&&m(),await new Promise(((t,n)=>{qe(t,n,{data:y,headers:Ue.from(s.headers),status:s.status,statusText:s.statusText,config:e,request:p})}))}catch(t){if(m&&m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new oe("Network Error",oe.ERR_NETWORK,e,p),{cause:t.cause||t});throw oe.from(t,t&&t.code,e,p)}})};ee.forEach(ct,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const lt=e=>`- ${e}`,ut=e=>ee.isFunction(e)||null===e||!1===e,ft=e=>{e=ee.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let s=0;s<t;s++){let t;if(n=e[s],r=n,!ut(n)&&(r=ct[(t=String(n)).toLowerCase()],void 0===r))throw new oe(`Unknown adapter '${t}'`);if(r)break;o[t||"#"+s]=r}if(!r){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(lt).join("\n"):" "+lt(e[0]):"as no adapter specified";throw new oe("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function dt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new De(null,e)}function pt(e){return dt(e),e.headers=Ue.from(e.headers),e.data=Fe.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),ft(e.adapter||je.adapter)(e).then((function(t){return dt(e),t.data=Fe.call(e,e.transformResponse,t),t.headers=Ue.from(t.headers),t}),(function(t){return Be(t)||(dt(e),t&&t.response&&(t.response.data=Fe.call(e,e.transformResponse,t.response),t.response.headers=Ue.from(t.response.headers))),Promise.reject(t)}))}const ht={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{ht[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const mt={};ht.transitional=function(e,t,n){function r(e,t){return"[Axios v1.8.4] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new oe(r(o," has been removed"+(t?" in "+t:"")),oe.ERR_DEPRECATED);return t&&!mt[o]&&(mt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}},ht.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};const bt={assertOptions:function(e,t,n){if("object"!=typeof e)throw new oe("options must be an object",oe.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const t=e[s],n=void 0===t||i(t,s,e);if(!0!==n)throw new oe("option "+s+" must be "+n,oe.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new oe("Unknown option "+s,oe.ERR_BAD_OPTION)}},validators:ht},yt=bt.validators;class gt{constructor(e){this.defaults=e,this.interceptors={request:new be,response:new be}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Ve(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&bt.assertOptions(n,{silentJSONParsing:yt.transitional(yt.boolean),forcedJSONParsing:yt.transitional(yt.boolean),clarifyTimeoutError:yt.transitional(yt.boolean)},!1),null!=r&&(ee.isFunction(r)?t.paramsSerializer={serialize:r}:bt.assertOptions(r,{encode:yt.function,serialize:yt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),bt.assertOptions(t,{baseUrl:yt.spelling("baseURL"),withXsrfToken:yt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&ee.merge(o.common,o[t.method]);o&&ee.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Ue.concat(s,o);const i=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let u,f=0;if(!a){const e=[pt.bind(this),void 0];for(e.unshift.apply(e,i),e.push.apply(e,c),u=e.length,l=Promise.resolve(t);f<u;)l=l.then(e[f++],e[f++]);return l}u=i.length;let d=t;for(f=0;f<u;){const e=i[f++],t=i[f++];try{d=e(d)}catch(e){t.call(this,e);break}}try{l=pt.call(this,d)}catch(e){return Promise.reject(e)}for(f=0,u=c.length;f<u;)l=l.then(c[f++],c[f++]);return l}getUri(e){return me(We((e=Ve(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}ee.forEach(["delete","get","head","options"],(function(e){gt.prototype[e]=function(t,n){return this.request(Ve(n||{},{method:e,url:t,data:(n||{}).data}))}})),ee.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,o){return this.request(Ve(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}gt.prototype[e]=t(),gt.prototype[e+"Form"]=t(!0)}));const wt=gt;class Et{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new De(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new Et((function(t){e=t})),cancel:e}}}const Ot=Et,Rt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Rt).forEach((([e,t])=>{Rt[t]=e}));const St=Rt,vt=function e(t){const n=new wt(t),r=p(wt.prototype.request,n);return ee.extend(r,wt.prototype,n,{allOwnKeys:!0}),ee.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(Ve(t,n))},r}(je);vt.Axios=wt,vt.CanceledError=De,vt.CancelToken=Ot,vt.isCancel=Be,vt.VERSION="1.8.4",vt.toFormData=le,vt.AxiosError=oe,vt.Cancel=vt.CanceledError,vt.all=function(e){return Promise.all(e)},vt.spread=function(e){return function(t){return e.apply(null,t)}},vt.isAxiosError=function(e){return ee.isObject(e)&&!0===e.isAxiosError},vt.mergeConfig=Ve,vt.AxiosHeaders=Ue,vt.formToJSON=e=>Te(ee.isHTMLForm(e)?new FormData(e):e),vt.getAdapter=ft,vt.HttpStatusCode=St,vt.default=vt;const Tt=vt;function At(e){let{terms:t}=e;return React.createElement("select",{className:"wpengine-smart-dropdown-facet__field","aria-label":(0,f.__)("Select a term","wpengine-smart-search")},React.createElement("option",{value:"",disabled:!0,selected:!0},(0,f.__)("Please select...","wpengine-smart-search")),t&&t.length>0?t.map((e=>React.createElement("option",{value:e.slug,key:e.name},e.name))):React.createElement("option",{value:"",disabled:!0},(0,f.__)("No source data available","wpengine-smart-search")))}function jt(e){let{terms:t}=e;return React.createElement("div",{className:"wpengine-smart-checkbox-facet__field"},t&&t.length>0?t.map((e=>React.createElement("div",{key:e.name},React.createElement("input",{type:"checkbox",id:e.slug,value:e.slug}),React.createElement("label",{htmlFor:e.slug},e.name)))):React.createElement("div",null,(0,f.__)("No source data available","wpengine-smart-search")))}const xt=function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return n.flatMap((t=>"string"==typeof t||"number"==typeof t?[t]:Array.isArray(t)?e(...t):"object"==typeof t&&null!==t?Object.keys(t).filter((e=>t[e])):[])).filter(Boolean).join(" ")},Ct=(0,l.withInstanceId)((function(e){let{attributes:{label:t,formId:n,className:r,hasLabel:o,align:s,selectedDataSource:l="",selectedType:p=""},instanceId:h,setAttributes:m}=e;const[b,y]=(0,u.useState)([]),[g,w]=(0,u.useState)([]),E=xt("wpengine-smart-dropdown-facet",s?"align"+s:"",r,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},(0,c.useBlockProps)()).className);(0,u.useEffect)((()=>{n||m({formId:"wpengine-smart-dropdown-facet-".concat(h)})}),[n,m,h]),(0,u.useEffect)((()=>{(async()=>{try{const e=await Tt.get("/wp-json/wpengine-smart-search/v1/taxonomies",{headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}});y(e.data)}catch(e){console.error("Error fetching taxonomies:",e)}})()}),[]);const O=[...(b||[]).map((e=>({label:e.labels.name||e.name,value:e.name})))];(0,u.useEffect)((()=>{(async()=>{l||(l="category",m({selectedDataSource:l}));try{const e=await Tt.get("/wp-json/wpengine-smart-search/v1/taxonomies/".concat(l,"/terms"),{headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}});w(e.data)}catch(e){console.error("Error fetching terms:",e)}})()}),[l,m]);const R={select:At,checkbox:jt}[p]||At;return React.createElement(React.Fragment,null,React.createElement(c.InspectorControls,{key:"inspector"},React.createElement(d.PanelBody,{title:"Settings"},React.createElement(d.SelectControl,{key:"taxonomy-select-".concat(h),label:"Select Source","data-testid":"data-source",value:l,options:O,onChange:e=>{m({selectedDataSource:e})},__nextHasNoMarginBottom:!0}),React.createElement(d.SelectControl,{key:"facet-type-".concat(h),label:"Select Type","data-testid":"data-source-type",value:p,options:[{label:"Dropdown",value:"select"},{label:"Checkbox",value:"checkbox"}],onChange:e=>{m({selectedType:e})},__nextHasNoMarginBottom:!0}))),React.createElement("div",Object.assign({},(0,c.useBlockProps)(),{className:E}),!!o&&React.createElement(React.Fragment,null,React.createElement("label",{className:"screen-reader-text",htmlFor:"wpengine-smart-search-dropdown-facet__label"},(0,f.__)("Filter Label","wpengine-smart-search")),React.createElement(c.PlainText,{className:"wpengine-smart-search-dropdown-facet__label",id:"wpengine-smart-search-dropdown-facet__label",value:t,onChange:e=>m({label:e}),style:{backgroundColor:"transparent"}})),React.createElement("div",{className:"wpengine-smart-search-facet__fields"},React.createElement(R,{terms:g}))))})),Nt=JSON.parse('{"UU":"wpengine-smart-search/dropdown-facet"}');(0,o.registerBlockType)(Nt.UU,{edit:Ct,save:function(){return React.createElement("div",c.useBlockProps.save(),React.createElement(c.InnerBlocks.Content,null))}})}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.m=t,e=[],r.O=(t,n,o,s)=>{if(!n){var i=1/0;for(u=0;u<e.length;u++){n=e[u][0],o=e[u][1],s=e[u][2];for(var a=!0,c=0;c<n.length;c++)(!1&s||i>=s)&&Object.keys(r.O).every((e=>r.O[e](n[c])))?n.splice(c--,1):(a=!1,s<i&&(i=s));if(a){e.splice(u--,1);var l=o();void 0!==l&&(t=l)}}return t}s=s||0;for(var u=e.length;u>0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[n,o,s]},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={874:0,726:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var o,s,i=n[0],a=n[1],c=n[2],l=0;if(i.some((t=>0!==e[t]))){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(c)var u=c(r)}for(t&&t(n);l<i.length;l++)s=i[l],r.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return r.O(u)},n=self.webpackChunkwpengine_smart_search=self.webpackChunkwpengine_smart_search||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var o=r.O(void 0,[726],(()=>r(548)));o=r.O(o)})();
  • atlas-search/tags/0.2.78/build/filter-facet/render-components/render-checkbox.php

    r3247243 r3269054  
    11<div
    22        data-wp-interactive='wpengine-smart-search-facets__store'
    3         class="wpengine-smart-checkbox-facet"
    43    <?php echo wp_kses_data( $wrapper_attributes ); ?>
    54    <?php echo wp_kses_data( $context ); ?>
     
    1817                            data-wp-bind--checked-args="<?php echo esc_attr( $record->slug ); ?>"
    1918                            data-wp-on--change="actions.setCheckboxValue"
    20                             value="<?php echo esc_attr( $record->slug ); ?>"<?php echo in_filter( esc_attr( $record->slug ), $filters[ esc_attr( $selected_data_source_mapped ) ] ?? array() ) ? ' checked ' : ''; ?>
     19                            value="<?php echo esc_attr( $record->slug ); ?>"<?php echo \AtlasSearch\Blocks\WordPress\in_filter( esc_attr( $record->slug ), $filters[ esc_attr( $selected_data_source_mapped ) ] ?? array() ) ? ' checked ' : ''; ?>
    2120                            data-checkbox-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>"/>
    2221                    <?php echo esc_html( $record->name ); ?> (<?php echo esc_html( $record->count ); ?>)</label>
  • atlas-search/tags/0.2.78/build/filter-facet/render-components/render-select.php

    r3247243 r3269054  
    1515                    data-wp-bind--value="context.value"
    1616                    data-wp-on--change="actions.setDropdownValue"
    17                     data-dropdown-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>">
    18                 <option value="">Please select...</option>
     17                    data-dropdown-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>"
     18            >
     19                <option value=""><?php esc_html_e( 'Please select...', 'your-text-domain' ); ?></option>
    1920                <?php foreach ( $source_data_records as $record ) : ?>
    2021                    <option <?php echo ( esc_attr( $record->slug === $selected_taxonomy ) ) ? 'selected' : ''; ?>
  • atlas-search/tags/0.2.78/build/filter-facet/render.php

    r3247243 r3269054  
    1818    array(
    1919        'hasLabel'    => true,
    20         'align'       => '',
    21         'className'   => '',
    2220        'label'       => __( 'Dropdown', 'wpengine-smart-search' ),
    2321        'placeholder' => __( 'Dropdown...', 'wpengine-smart-search' ),
    2422    )
    2523);
     24
     25$selected_data_source = $attributes['selectedDataSource'] ?? 'category';
     26$selected_type        = $attributes['selectedType'] ?? 'select';
    2627
    2728// Wrapper attributes.
     
    3233            array_filter(
    3334                array(
    34                     'wpengine-smart-dropdown-facet',
    35                     $attributes['align'] ? 'align' . $attributes['align'] : '',
     35                    'wpengine-smart-' . ( ( 'select' == $selected_type ) ? 'dropdown' : 'checkbox' ) . '-facet',
    3636                )
    3737            )
     
    6161);
    6262
    63 $filters = array_map(
    64     function ( $value ) {
    65         if ( strpos( $value, ',' ) !== false ) {
    66             return explode( ',', $value );
    67         }
    68         return $value;
    69     },
    70     $query_params ?? array()
    71 );
    72 
    73 if ( ! function_exists( 'in_filter' ) ) {
    74     function in_filter( $checkbox_value, $filter ): bool {
    75         if ( is_array( $filter ) ) {
    76             return in_array( $checkbox_value, $filter );
    77         }
    78 
    79         return $checkbox_value === $filter;
    80     }
    81 }
     63$filters = \AtlasSearch\Blocks\WordPress\extract_filters( $query_params );
    8264
    8365require __DIR__ . "/render-components/render-{$selected_type}.php";
  • atlas-search/tags/0.2.78/build/filter-facet/style-index-rtl.css

    r3247243 r3269054  
    1 .wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__fields{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__field{-webkit-appearance:none;appearance:none;border:1px solid #949494;border-radius:.33em;flex-grow:1;margin-right:0;margin-left:0;min-width:3rem;padding:8px;text-decoration:unset!important;width:100%}.wpengine-smart-checkbox-facet{pointer-events:none}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__fields{display:flex;flex-direction:column;gap:10px;max-width:100%}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field:first-child{margin-top:10px}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field{align-items:center;border-radius:4px;display:flex;transition:background-color .3s,border-color .3s}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field input[type=checkbox]{margin-left:10px}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field label{color:#333;font-size:var(--wp--preset--font-size--medium);margin:0;pointer-events:auto}
     1.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__fields{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__field{-webkit-appearance:none;appearance:none;border:var(--wp--custom--input-border-width,1px) solid var(--wp--custom--input-border-color,#949494);border-radius:var(--wp--custom--input-border-radius);flex-grow:var(--wp--custom--input-flex-grow,1);min-height:var(--wp--custom--input-min-height,2.5em);padding:var(--wp--custom--input--padding,8px);width:var(--wp--custom--input-width,100%)}.wpengine-smart-checkbox-facet{pointer-events:none}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__fields{display:flex;flex-direction:column;gap:var(--wp--custom--checkbox-gap,10px);max-width:100%}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field:first-child{margin-top:var(--wp--custom--checkbox-margin-top,10px)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field{align-items:center;border-radius:var(--wp--custom--checkbox-border-radius,4px);display:flex;transition:background-color var(--wp--custom--transition-duration,.3s),border-color var(--wp--custom--transition-duration,.3s)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field input[type=checkbox]{margin-left:var(--wp--custom--checkbox-margin-right,10px)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field label{font-size:var(--wp--preset--font-size--small);margin:0;pointer-events:auto}.wpengine-smart-search-checkbox-facet__label,.wpengine-smart-search-dropdown-facet__label{font-size:var(--wp--preset--font-size--small)}
  • atlas-search/tags/0.2.78/build/filter-facet/style-index.css

    r3247243 r3269054  
    1 .wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__fields{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__field{-webkit-appearance:none;appearance:none;border:1px solid #949494;border-radius:.33em;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;width:100%}.wpengine-smart-checkbox-facet{pointer-events:none}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__fields{display:flex;flex-direction:column;gap:10px;max-width:100%}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field:first-child{margin-top:10px}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field{align-items:center;border-radius:4px;display:flex;transition:background-color .3s,border-color .3s}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field input[type=checkbox]{margin-right:10px}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field label{color:#333;font-size:var(--wp--preset--font-size--medium);margin:0;pointer-events:auto}
     1.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__fields{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__field{-webkit-appearance:none;appearance:none;border:var(--wp--custom--input-border-width,1px) solid var(--wp--custom--input-border-color,#949494);border-radius:var(--wp--custom--input-border-radius);flex-grow:var(--wp--custom--input-flex-grow,1);min-height:var(--wp--custom--input-min-height,2.5em);padding:var(--wp--custom--input--padding,8px);width:var(--wp--custom--input-width,100%)}.wpengine-smart-checkbox-facet{pointer-events:none}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__fields{display:flex;flex-direction:column;gap:var(--wp--custom--checkbox-gap,10px);max-width:100%}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field:first-child{margin-top:var(--wp--custom--checkbox-margin-top,10px)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field{align-items:center;border-radius:var(--wp--custom--checkbox-border-radius,4px);display:flex;transition:background-color var(--wp--custom--transition-duration,.3s),border-color var(--wp--custom--transition-duration,.3s)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field input[type=checkbox]{margin-right:var(--wp--custom--checkbox-margin-right,10px)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field label{font-size:var(--wp--preset--font-size--small);margin:0;pointer-events:auto}.wpengine-smart-search-checkbox-facet__label,.wpengine-smart-search-dropdown-facet__label{font-size:var(--wp--preset--font-size--small)}
  • atlas-search/tags/0.2.78/build/support/woocommerce/callbacks.php

    r3261003 r3269054  
    44
    55use AtlasSearch\Blocks\WPE_Atlas_Search_Facets_Callbacks;
     6use const AtlasSearch\Blocks\WordPress\RANGE_SLIDER_PREFIX;
    67
    78/**
     
    2021    public function init() {
    2122        $this->loader->add_action( 'pre_get_posts', $this, 'filter_woo_attributes', 10, 1 );
     23        $this->loader->add_action( 'pre_get_posts', $this, 'filter_range_slider', 9999999, 1 );
    2224    }
    2325
     
    2628            return;
    2729        }
     30
    2831        if ( ! get_option( WPE_Atlas_Search_Facets_Callbacks::SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION, false ) ) {
    2932            return;
     
    3639                $attribute_name  = $attribute->attribute_name;
    3740                $attribute_slug  = 'pa_' . $attribute_name;
    38                 $attribute_value = filter_input( INPUT_GET, $attribute_slug, FILTER_SANITIZE_STRING );
     41                $attribute_value = filter_input( INPUT_GET, $attribute_slug, FILTER_SANITIZE_FULL_SPECIAL_CHARS );
    3942                if ( isset( $attribute_value ) && '' !== trim( $attribute_value ) ) {
    4043                    $attr_arr       = explode( ',', $attribute_value );
     
    5962    }
    6063
     64    public function filter_range_slider( $query ) {
     65        if ( ! $this->is_woo_enabled() ) {
     66            return;
     67        }
     68
     69        if ( ! get_option( WPE_Atlas_Search_Facets_Callbacks::SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION, false ) ) {
     70            return;
     71        }
     72
     73        if ( ! $query->is_main_query() || is_admin() || ! $query->is_search() ) {
     74            return;
     75        }
     76
     77        $filters = filter_input_array( INPUT_GET, FILTER_SANITIZE_FULL_SPECIAL_CHARS );
     78        if ( empty( $filters ) ) {
     79            return;
     80        }
     81
     82        $new_meta_query = array();
     83        foreach ( $filters as $filter => $filter_value ) {
     84            if ( ! empty( $filter ) && strpos( $filter, RANGE_SLIDER_PREFIX ) === 0 ) {
     85                $field_name = str_replace( RANGE_SLIDER_PREFIX, '', $filter );
     86                if ( isset( $filter_value ) && '' !== trim( $filter_value ) ) {
     87                    $value_arr = explode( ',', $filter_value );
     88                    $from      = (int) $value_arr[0];
     89                    $to        = ( isset( $value_arr[1] ) && '' !== $value_arr[1] ) ? $value_arr[1] : null;
     90                    if ( isset( $to ) && $to < $from ) {
     91                        $to = null;
     92                    }
     93                    $range_query    = array(
     94                        'relation' => 'AND',
     95                        array(
     96                            'key'     => $field_name,
     97                            'type'    => 'NUMERIC',
     98                            'value'   => isset( $to ) ? array( $from, $to ) : $from,
     99                            'compare' => isset( $to ) ? 'BETWEEN' : '>=',
     100                        ),
     101                    );
     102                    $new_meta_query = array_merge( $new_meta_query, $range_query );
     103                }
     104            }
     105        }
     106
     107        if ( ! empty( $new_meta_query ) ) {
     108            $meta_query = $query->get( 'meta_query' ) ?: array();
     109            if ( ! empty( $meta_query ) ) {
     110                $new_meta_query = array_merge( $new_meta_query, array( $meta_query ) );
     111            }
     112            $query->set( 'meta_query', $new_meta_query );
     113        }
     114    }
     115
    61116    public function is_woo_enabled(): bool {
    62117        return class_exists( 'WooCommerce' );
  • atlas-search/tags/0.2.78/includes/class-wpe-content-engine.php

    r3261003 r3269054  
    2424use Wpe_Content_Engine\Helper\Constants\Security;
    2525use Wpe_Content_Engine\Settings_Interface;
     26use Wpe_Content_Engine\Helper\Logging\Debug_Logger;
    2627use function Wpe_Content_Engine\Helper\Notifications\handle_re_sync_notification;
    2728
     
    8889        $this->search_config = new Search_Config();
    8990        $this->register_blocks();
     91        $this->register_trackers();
    9092    }
    9193    public function register_blocks() {
    9294        $facets = new \AtlasSearch\Blocks\WPE_Atlas_Search_Facets_Callbacks( $this->loader );
    9395        $facets->init();
     96    }
     97
     98    public function register_trackers() {
     99        $logger   = new Debug_Logger();
     100        $trackers = new \AtlasSearch\Trackers\WPE_Atlas_Search_Tracker_Controller( $this->loader, $logger );
     101        $trackers->init();
    94102    }
    95103
     
    227235        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/blocks-callbacks.php';
    228236        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/recommendations-block/query-loop.php';
     237        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/recommendations-block/function.php';
    229238        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/wordpress/taxonomy.php';
     239        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/wordpress/filter.php';
    230240        require_once plugin_dir_path( __DIR__ ) . 'src/support/woocommerce/filters.php';
    231241        require_once plugin_dir_path( __DIR__ ) . 'src/support/woocommerce/fields.php';
     
    233243        require_once plugin_dir_path( __DIR__ ) . 'src/support/fusion/filters.php';
    234244        require_once plugin_dir_path( __DIR__ ) . 'src/support/gravitysmtp/filters.php';
     245        require_once plugin_dir_path( __DIR__ ) . 'src/trackers/tracker-controller.php';
    235246    }
    236247
     
    362373        wp_localize_script( 'display-post-notice', 'ajax_var', array( 'nonce' => wp_create_nonce( 'ajax-nonce' ) ) );
    363374    }
     375
     376    public function enqueue_analytics_script() {
     377        wp_enqueue_script(
     378            'analytics',
     379            plugins_url( '../public/js/analytics.js', __FILE__ ),
     380            array(),
     381            $this->get_version(),
     382            true
     383        );
     384
     385        wp_localize_script(
     386            'analytics',
     387            'analytics',
     388            array(
     389                'nonce' => wp_create_nonce( 'wp_rest' ),
     390            )
     391        );
     392    }
     393
     394
     395
    364396    /**
    365397     * Register all  the hooks related to the public-facing functionality
     
    378410        $this->loader->add_filter( 'posts_pre_query', $search, 'get_ce_posts', 100, 2 );
    379411        $this->loader->add_filter( 'found_posts', $search, 'found_posts', 100, 2 );
     412        $this->loader->add_action( 'wp_enqueue_scripts', $this, 'enqueue_analytics_script' );
    380413    }
    381414
  • atlas-search/tags/0.2.78/includes/smart-search-settings/build/asset-manifest.json

    r3266170 r3269054  
    22  "files": {
    33    "main.css": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/css/main.4b9ef208.css",
    4     "main.js": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.dc1c7a29.js",
     4    "main.js": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.3f2018bd.js",
    55    "static/media/wpengine-logo.svg": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/media/wpengine-logo.f4b93ff2e9c94a93817d81f14e73235a.svg",
    66    "static/media/search-icon.svg": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/media/search-icon.553693483eece21ac1f02866dbcf436b.svg",
     
    1818    "index.html": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/index.html",
    1919    "main.4b9ef208.css.map": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/css/main.4b9ef208.css.map",
    20     "main.dc1c7a29.js.map": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.dc1c7a29.js.map"
     20    "main.3f2018bd.js.map": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.3f2018bd.js.map"
    2121  },
    2222  "entrypoints": [
    2323    "static/css/main.4b9ef208.css",
    24     "static/js/main.dc1c7a29.js"
     24    "static/js/main.3f2018bd.js"
    2525  ]
    2626}
  • atlas-search/tags/0.2.78/includes/smart-search-settings/build/index.html

    r3266170 r3269054  
    1 <head><script defer="defer" src="/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.dc1c7a29.js"></script><link href="/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/css/main.4b9ef208.css" rel="stylesheet"></head>
     1<head><script defer="defer" src="/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.3f2018bd.js"></script><link href="/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/css/main.4b9ef208.css" rel="stylesheet"></head>
  • atlas-search/tags/0.2.78/src/blocks/__mocks__/@wordpress/components.js

    r3261003 r3269054  
    1414};
    1515
    16 export const TextControl = ({ value, onChange, ...props }) => (
    17   <input
    18     type="text"
    19     {...props}
    20     value={value}
    21     onChange={(e) => onChange(e.target.value)}
    22   />
    23 );
     16export const TextControl = ({ value, label, onChange, ...props }) => {
     17  const [inputValue, setInputValue] = React.useState(value);
     18
     19  const handleChange = (e) => {
     20    setInputValue(e.target.value);
     21    onChange(e.target.value);
     22  };
     23
     24  return (
     25    <label>
     26      {label}
     27      <input
     28        type="text"
     29        {...props}
     30        value={inputValue}
     31        onChange={handleChange}
     32      />
     33    </label>
     34  );
     35};
    2436
    2537TextControl.propTypes = {
     
    88100  onChange: PropTypes.func.isRequired,
    89101};
     102
     103export const Notice = ({ status, isDismissible, children }) => (
     104  <div className={`notice notice-${status}`}>
     105    {isDismissible && <button className="notice-dismiss">Dismiss</button>}
     106    {children}
     107  </div>
     108);
     109
     110Notice.propTypes = {
     111  status: PropTypes.string.isRequired,
     112  isDismissible: PropTypes.bool,
     113  children: PropTypes.node.isRequired,
     114};
  • atlas-search/tags/0.2.78/src/blocks/blocks-callbacks.php

    r3261003 r3269054  
    44
    55use WP_HTML_Tag_Processor;
     6use const AtlasSearch\Blocks\WordPress\RANGE_SLIDER_PREFIX;
    67
    78/**
     
    1112 */
    1213class WPE_Atlas_Search_Facets_Callbacks {
    13 
    14 
    1514    private $loader;
    1615    public const SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION = 'smart_search_blocks_support_enabled';
     
    6059                'recommendations-block',
    6160            );
     61            // Since we only have price as source, makes sense only to add range block only if WooCommerce is active.
     62            if ( class_exists( 'WooCommerce' ) ) {
     63                $blocks[] = 'range-facet';
     64            }
    6265        }
    6366
  • atlas-search/tags/0.2.78/src/blocks/filter-facet/components/Select.js

    r3247243 r3269054  
    44export default function Select({ terms }) {
    55  return (
    6     <select className="wpengine-smart-dropdown-facet__field">
    7       <option value="">Please select...</option>
     6    <select
     7      className="wpengine-smart-dropdown-facet__field"
     8      aria-label={__('Select a term', 'wpengine-smart-search')}
     9    >
     10      <option value="" disabled selected>
     11        {__('Please select...', 'wpengine-smart-search')}
     12      </option>
    813      {terms && terms.length > 0 ? (
    914        terms.map((term) => (
  • atlas-search/tags/0.2.78/src/blocks/filter-facet/edit.js

    r3261003 r3269054  
    1212import { useEffect, useState } from '@wordpress/element';
    1313import { __ } from '@wordpress/i18n';
    14 import { SelectControl } from '@wordpress/components';
     14import { SelectControl, PanelBody } from '@wordpress/components';
    1515import PropTypes from 'prop-types';
     16import axios from 'axios';
     17
     18/**
     19 * React hook that is used to mark the block wrapper element.
     20 * It provides all the necessary props like the class name.
     21 *
     22 * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops
     23 */
     24
     25/**
     26 * Internal dependencies
     27 */
    1628import Select from './components/Select';
    1729import Checkbox from './components/Checkbox';
    18 import axios from 'axios';
    19 
    20 /**
    21  * React hook that is used to mark the block wrapper element.
    22  * It provides all the necessary props like the class name.
    23  *
    24  * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops
    25  */
    26 
    27 /**
    28  * Internal dependencies
    29  */
    3030import clsx from '../utils/clsx';
    31 import { PanelBody } from '@wordpress/components';
    3231
    3332/**
  • atlas-search/tags/0.2.78/src/blocks/filter-facet/render-components/render-checkbox.php

    r3247243 r3269054  
    11<div
    22        data-wp-interactive='wpengine-smart-search-facets__store'
    3         class="wpengine-smart-checkbox-facet"
    43    <?php echo wp_kses_data( $wrapper_attributes ); ?>
    54    <?php echo wp_kses_data( $context ); ?>
     
    1817                            data-wp-bind--checked-args="<?php echo esc_attr( $record->slug ); ?>"
    1918                            data-wp-on--change="actions.setCheckboxValue"
    20                             value="<?php echo esc_attr( $record->slug ); ?>"<?php echo in_filter( esc_attr( $record->slug ), $filters[ esc_attr( $selected_data_source_mapped ) ] ?? array() ) ? ' checked ' : ''; ?>
     19                            value="<?php echo esc_attr( $record->slug ); ?>"<?php echo \AtlasSearch\Blocks\WordPress\in_filter( esc_attr( $record->slug ), $filters[ esc_attr( $selected_data_source_mapped ) ] ?? array() ) ? ' checked ' : ''; ?>
    2120                            data-checkbox-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>"/>
    2221                    <?php echo esc_html( $record->name ); ?> (<?php echo esc_html( $record->count ); ?>)</label>
  • atlas-search/tags/0.2.78/src/blocks/filter-facet/render-components/render-select.php

    r3247243 r3269054  
    1515                    data-wp-bind--value="context.value"
    1616                    data-wp-on--change="actions.setDropdownValue"
    17                     data-dropdown-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>">
    18                 <option value="">Please select...</option>
     17                    data-dropdown-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>"
     18            >
     19                <option value=""><?php esc_html_e( 'Please select...', 'your-text-domain' ); ?></option>
    1920                <?php foreach ( $source_data_records as $record ) : ?>
    2021                    <option <?php echo ( esc_attr( $record->slug === $selected_taxonomy ) ) ? 'selected' : ''; ?>
  • atlas-search/tags/0.2.78/src/blocks/filter-facet/render.php

    r3247243 r3269054  
    1818    array(
    1919        'hasLabel'    => true,
    20         'align'       => '',
    21         'className'   => '',
    2220        'label'       => __( 'Dropdown', 'wpengine-smart-search' ),
    2321        'placeholder' => __( 'Dropdown...', 'wpengine-smart-search' ),
    2422    )
    2523);
     24
     25$selected_data_source = $attributes['selectedDataSource'] ?? 'category';
     26$selected_type        = $attributes['selectedType'] ?? 'select';
    2627
    2728// Wrapper attributes.
     
    3233            array_filter(
    3334                array(
    34                     'wpengine-smart-dropdown-facet',
    35                     $attributes['align'] ? 'align' . $attributes['align'] : '',
     35                    'wpengine-smart-' . ( ( 'select' == $selected_type ) ? 'dropdown' : 'checkbox' ) . '-facet',
    3636                )
    3737            )
     
    6161);
    6262
    63 $filters = array_map(
    64     function ( $value ) {
    65         if ( strpos( $value, ',' ) !== false ) {
    66             return explode( ',', $value );
    67         }
    68         return $value;
    69     },
    70     $query_params ?? array()
    71 );
    72 
    73 if ( ! function_exists( 'in_filter' ) ) {
    74     function in_filter( $checkbox_value, $filter ): bool {
    75         if ( is_array( $filter ) ) {
    76             return in_array( $checkbox_value, $filter );
    77         }
    78 
    79         return $checkbox_value === $filter;
    80     }
    81 }
     63$filters = \AtlasSearch\Blocks\WordPress\extract_filters( $query_params );
    8264
    8365require __DIR__ . "/render-components/render-{$selected_type}.php";
  • atlas-search/tags/0.2.78/src/blocks/filter-facet/style.scss

    r3247243 r3269054  
    1010        max-width: 100%;   
    1111    }
    12     .wpengine-smart-dropdown-facet__field {
    13         width: 100%;
    14         appearance: none;
    15         border: 1px solid #949494;
    16         flex-grow: 1;
    17         margin-left: 0;
    18         margin-right: 0;
    19         min-width: 3rem;
    20         padding: 8px;
    21         text-decoration: unset !important;
    22         border-radius: 0.33em;
     12    .wpengine-smart-dropdown-facet__field{
     13            width: var(--wp--custom--input-width, 100%);
     14            appearance: none;
     15            border: var(--wp--custom--input-border-width, 1px) solid var(--wp--custom--input-border-color, #949494);
     16            flex-grow: var(--wp--custom--input-flex-grow, 1);
     17            padding: var(--wp--custom--input--padding, 8px);
     18            border-radius: var(--wp--custom--input-border-radius);
     19            min-height: var(--wp--custom--input-min-height, 2.5em);
    2320    }
    2421}
     
    2926        display: flex;
    3027        flex-direction: column;
    31         gap: 10px;
     28        gap: var(--wp--custom--checkbox-gap, 10px);
    3229        max-width: 100%;
    3330    }
    3431    .wpengine-smart-checkbox-facet__field:first-child {
    35         margin-top: 10px;
     32        margin-top: var(--wp--custom--checkbox-margin-top, 10px);
    3633    }
    3734    .wpengine-smart-checkbox-facet__field {
    3835        display: flex;
    3936        align-items: center;
    40         border-radius: 4px;
    41         transition: background-color 0.3s, border-color 0.3s;
     37        border-radius: var(--wp--custom--checkbox-border-radius, 4px);
     38        transition: background-color var(--wp--custom--transition-duration, 0.3s), border-color var(--wp--custom--transition-duration, 0.3s);
    4239
    4340        input[type="checkbox"] {
    44             margin-right: 10px;
     41            margin-right: var(--wp--custom--checkbox-margin-right, 10px);
    4542        }
    4643
    4744        label {
    4845            margin: 0;
    49             font-size: var(--wp--preset--font-size--medium);
    50             color: #333;
     46            font-size: var(--wp--preset--font-size--small);
    5147            pointer-events: auto;
    5248        }
    5349    }
    5450}
     51
     52.wpengine-smart-search-checkbox-facet__label,
     53.wpengine-smart-search-dropdown-facet__label {
     54    font-size: var(--wp--preset--font-size--small);
     55}
  • atlas-search/tags/0.2.78/src/blocks/support/woocommerce/callbacks.php

    r3261003 r3269054  
    44
    55use AtlasSearch\Blocks\WPE_Atlas_Search_Facets_Callbacks;
     6use const AtlasSearch\Blocks\WordPress\RANGE_SLIDER_PREFIX;
    67
    78/**
     
    2021    public function init() {
    2122        $this->loader->add_action( 'pre_get_posts', $this, 'filter_woo_attributes', 10, 1 );
     23        $this->loader->add_action( 'pre_get_posts', $this, 'filter_range_slider', 9999999, 1 );
    2224    }
    2325
     
    2628            return;
    2729        }
     30
    2831        if ( ! get_option( WPE_Atlas_Search_Facets_Callbacks::SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION, false ) ) {
    2932            return;
     
    3639                $attribute_name  = $attribute->attribute_name;
    3740                $attribute_slug  = 'pa_' . $attribute_name;
    38                 $attribute_value = filter_input( INPUT_GET, $attribute_slug, FILTER_SANITIZE_STRING );
     41                $attribute_value = filter_input( INPUT_GET, $attribute_slug, FILTER_SANITIZE_FULL_SPECIAL_CHARS );
    3942                if ( isset( $attribute_value ) && '' !== trim( $attribute_value ) ) {
    4043                    $attr_arr       = explode( ',', $attribute_value );
     
    5962    }
    6063
     64    public function filter_range_slider( $query ) {
     65        if ( ! $this->is_woo_enabled() ) {
     66            return;
     67        }
     68
     69        if ( ! get_option( WPE_Atlas_Search_Facets_Callbacks::SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION, false ) ) {
     70            return;
     71        }
     72
     73        if ( ! $query->is_main_query() || is_admin() || ! $query->is_search() ) {
     74            return;
     75        }
     76
     77        $filters = filter_input_array( INPUT_GET, FILTER_SANITIZE_FULL_SPECIAL_CHARS );
     78        if ( empty( $filters ) ) {
     79            return;
     80        }
     81
     82        $new_meta_query = array();
     83        foreach ( $filters as $filter => $filter_value ) {
     84            if ( ! empty( $filter ) && strpos( $filter, RANGE_SLIDER_PREFIX ) === 0 ) {
     85                $field_name = str_replace( RANGE_SLIDER_PREFIX, '', $filter );
     86                if ( isset( $filter_value ) && '' !== trim( $filter_value ) ) {
     87                    $value_arr = explode( ',', $filter_value );
     88                    $from      = (int) $value_arr[0];
     89                    $to        = ( isset( $value_arr[1] ) && '' !== $value_arr[1] ) ? $value_arr[1] : null;
     90                    if ( isset( $to ) && $to < $from ) {
     91                        $to = null;
     92                    }
     93                    $range_query    = array(
     94                        'relation' => 'AND',
     95                        array(
     96                            'key'     => $field_name,
     97                            'type'    => 'NUMERIC',
     98                            'value'   => isset( $to ) ? array( $from, $to ) : $from,
     99                            'compare' => isset( $to ) ? 'BETWEEN' : '>=',
     100                        ),
     101                    );
     102                    $new_meta_query = array_merge( $new_meta_query, $range_query );
     103                }
     104            }
     105        }
     106
     107        if ( ! empty( $new_meta_query ) ) {
     108            $meta_query = $query->get( 'meta_query' ) ?: array();
     109            if ( ! empty( $meta_query ) ) {
     110                $new_meta_query = array_merge( $new_meta_query, array( $meta_query ) );
     111            }
     112            $query->set( 'meta_query', $new_meta_query );
     113        }
     114    }
     115
    61116    public function is_woo_enabled(): bool {
    62117        return class_exists( 'WooCommerce' );
  • atlas-search/trunk/README.txt

    r3266170 r3269054  
    33Tested up to: 6.7.1
    44Requires PHP: 7.4
    5 Stable tag: 0.2.77
     5Stable tag: 0.2.78
    66License: GPLv2 or later
    77License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    5656
    5757== Changelog ==
     58
     59= 0.2.78 =
     60* **Added:** Facets honor customer themes
     61* **Added:** Price range filter double slider for WooCommerce
    5862
    5963= 0.2.77 =
  • atlas-search/trunk/atlas-search.php

    r3266170 r3269054  
    1616 * Plugin URI:        https://developers.wpengine.com/
    1717 * Description:       Searching WordPress data with WP Engine Smart Search.
    18  * Version:           0.2.77
     18 * Version:           0.2.78
    1919 * Author:            WP Engine
    2020 * Author URI:        https://wpengine.com/
     
    4141 * Rename this for your plugin and update it as you release new versions.
    4242 */
    43 define( 'WPE_SMART_SEARCH_VERSION', '0.2.77' );
     43define( 'WPE_SMART_SEARCH_VERSION', '0.2.78' );
    4444
    4545/**
  • atlas-search/trunk/build/blocks-callbacks.php

    r3261003 r3269054  
    44
    55use WP_HTML_Tag_Processor;
     6use const AtlasSearch\Blocks\WordPress\RANGE_SLIDER_PREFIX;
    67
    78/**
     
    1112 */
    1213class WPE_Atlas_Search_Facets_Callbacks {
    13 
    14 
    1514    private $loader;
    1615    public const SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION = 'smart_search_blocks_support_enabled';
     
    6059                'recommendations-block',
    6160            );
     61            // Since we only have price as source, makes sense only to add range block only if WooCommerce is active.
     62            if ( class_exists( 'WooCommerce' ) ) {
     63                $blocks[] = 'range-facet';
     64            }
    6265        }
    6366
  • atlas-search/trunk/build/filter-facet/index.asset.php

    r3261003 r3269054  
    1 <?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n'), 'version' => '9dc5f5fcd0d016f74877');
     1<?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n'), 'version' => 'e26e0c29fc4533aec11f');
  • atlas-search/trunk/build/filter-facet/index.js

    r3261003 r3269054  
    1 (()=>{"use strict";var e,t={548:(e,t,n)=>{var r={};n.r(r),n.d(r,{hasBrowserEnv:()=>Oe,hasStandardBrowserEnv:()=>Se,hasStandardBrowserWebWorkerEnv:()=>ve,navigator:()=>Re,origin:()=>Te});const o=window.wp.blocks;function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function i(e,t,n){return(t=function(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}const c=window.wp.blockEditor,l=window.wp.compose,u=window.wp.element,f=window.wp.i18n,d=window.wp.components;function p(e){let{terms:t}=e;return React.createElement("select",{className:"wpengine-smart-dropdown-facet__field"},React.createElement("option",{value:""},"Please select..."),t&&t.length>0?t.map((e=>React.createElement("option",{value:e.slug,key:e.name},e.name))):React.createElement("option",{value:"",disabled:!0},(0,f.__)("No source data available","wpengine-smart-search")))}function h(e){let{terms:t}=e;return React.createElement("div",{className:"wpengine-smart-checkbox-facet__field"},t&&t.length>0?t.map((e=>React.createElement("div",{key:e.name},React.createElement("input",{type:"checkbox",id:e.slug,value:e.slug}),React.createElement("label",{htmlFor:e.slug},e.name)))):React.createElement("div",null,(0,f.__)("No source data available","wpengine-smart-search")))}function m(e,t){return function(){return e.apply(t,arguments)}}const{toString:b}=Object.prototype,{getPrototypeOf:y}=Object,g=(w=Object.create(null),e=>{const t=b.call(e);return w[t]||(w[t]=t.slice(8,-1).toLowerCase())});var w;const E=e=>(e=e.toLowerCase(),t=>g(t)===e),O=e=>t=>typeof t===e,{isArray:R}=Array,S=O("undefined"),v=E("ArrayBuffer"),T=O("string"),A=O("function"),j=O("number"),x=e=>null!==e&&"object"==typeof e,C=e=>{if("object"!==g(e))return!1;const t=y(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},N=E("Date"),P=E("File"),_=E("Blob"),k=E("FileList"),U=E("URLSearchParams"),[F,B,L,D]=["ReadableStream","Request","Response","Headers"].map(E);function q(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),R(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let i;for(r=0;r<s;r++)i=o[r],t.call(null,e[i],i,e)}}function M(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const I="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,z=e=>!S(e)&&e!==I,H=(J="undefined"!=typeof Uint8Array&&y(Uint8Array),e=>J&&e instanceof J);var J;const W=E("HTMLFormElement"),K=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),V=E("RegExp"),$=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};q(n,((n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)})),Object.defineProperties(e,r)},X=E("AsyncFunction"),G=(Q="function"==typeof setImmediate,Z=A(I.postMessage),Q?setImmediate:Z?(Y=`axios@${Math.random()}`,ee=[],I.addEventListener("message",(({source:e,data:t})=>{e===I&&t===Y&&ee.length&&ee.shift()()}),!1),e=>{ee.push(e),I.postMessage(Y,"*")}):e=>setTimeout(e));var Q,Z,Y,ee;const te="undefined"!=typeof queueMicrotask?queueMicrotask.bind(I):"undefined"!=typeof process&&process.nextTick||G,ne={isArray:R,isArrayBuffer:v,isBuffer:function(e){return null!==e&&!S(e)&&null!==e.constructor&&!S(e.constructor)&&A(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||A(e.append)&&("formdata"===(t=g(e))||"object"===t&&A(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&v(e.buffer),t},isString:T,isNumber:j,isBoolean:e=>!0===e||!1===e,isObject:x,isPlainObject:C,isReadableStream:F,isRequest:B,isResponse:L,isHeaders:D,isUndefined:S,isDate:N,isFile:P,isBlob:_,isRegExp:V,isFunction:A,isStream:e=>x(e)&&A(e.pipe),isURLSearchParams:U,isTypedArray:H,isFileList:k,forEach:q,merge:function e(){const{caseless:t}=z(this)&&this||{},n={},r=(r,o)=>{const s=t&&M(n,o)||o;C(n[s])&&C(r)?n[s]=e(n[s],r):C(r)?n[s]=e({},r):R(r)?n[s]=r.slice():n[s]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&q(arguments[e],r);return n},extend:(e,t,n,{allOwnKeys:r}={})=>(q(t,((t,r)=>{n&&A(t)?e[r]=m(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,s,i;const a={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)i=o[s],r&&!r(i,e,t)||a[i]||(t[i]=e[i],a[i]=!0);e=!1!==n&&y(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:g,kindOfTest:E,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(R(e))return e;let t=e.length;if(!j(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:W,hasOwnProperty:K,hasOwnProp:K,reduceDescriptors:$,freezeMethods:e=>{$(e,((t,n)=>{if(A(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];A(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return R(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:M,global:I,isContextDefined:z,isSpecCompliantForm:function(e){return!!(e&&A(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(x(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=R(e)?[]:{};return q(e,((e,t)=>{const s=n(e,r+1);!S(s)&&(o[t]=s)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:X,isThenable:e=>e&&(x(e)||A(e))&&A(e.then)&&A(e.catch),setImmediate:G,asap:te};function re(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}ne.inherits(re,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ne.toJSONObject(this.config),code:this.code,status:this.status}}});const oe=re.prototype,se={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{se[e]={value:e}})),Object.defineProperties(re,se),Object.defineProperty(oe,"isAxiosError",{value:!0}),re.from=(e,t,n,r,o,s)=>{const i=Object.create(oe);return ne.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),re.call(i,e.message,t,n,r,o),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};const ie=re;function ae(e){return ne.isPlainObject(e)||ne.isArray(e)}function ce(e){return ne.endsWith(e,"[]")?e.slice(0,-2):e}function le(e,t,n){return e?e.concat(t).map((function(e,t){return e=ce(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const ue=ne.toFlatObject(ne,{},null,(function(e){return/^is[A-Z]/.test(e)})),fe=function(e,t,n){if(!ne.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=ne.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ne.isUndefined(t[e])}))).metaTokens,o=n.visitor||l,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&ne.isSpecCompliantForm(t);if(!ne.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(ne.isDate(e))return e.toISOString();if(!a&&ne.isBlob(e))throw new ie("Blob is not supported. Use a Buffer instead.");return ne.isArrayBuffer(e)||ne.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if(e&&!o&&"object"==typeof e)if(ne.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(ne.isArray(e)&&function(e){return ne.isArray(e)&&!e.some(ae)}(e)||(ne.isFileList(e)||ne.endsWith(n,"[]"))&&(a=ne.toArray(e)))return n=ce(n),a.forEach((function(e,r){!ne.isUndefined(e)&&null!==e&&t.append(!0===i?le([n],r,s):null===i?n:n+"[]",c(e))})),!1;return!!ae(e)||(t.append(le(o,n,s),c(e)),!1)}const u=[],f=Object.assign(ue,{defaultVisitor:l,convertValue:c,isVisitable:ae});if(!ne.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!ne.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),ne.forEach(n,(function(n,s){!0===(!(ne.isUndefined(n)||null===n)&&o.call(t,n,ne.isString(s)?s.trim():s,r,f))&&e(n,r?r.concat(s):[s])})),u.pop()}}(e),t};function de(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function pe(e,t){this._pairs=[],e&&fe(e,this,t)}const he=pe.prototype;he.append=function(e,t){this._pairs.push([e,t])},he.toString=function(e){const t=e?function(t){return e.call(this,t,de)}:de;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const me=pe;function be(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ye(e,t,n){if(!t)return e;const r=n&&n.encode||be;ne.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let s;if(s=o?o(t,n):ne.isURLSearchParams(t)?t.toString():new me(t,n).toString(r),s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}const ge=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){ne.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},we={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ee={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:me,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Oe="undefined"!=typeof window&&"undefined"!=typeof document,Re="object"==typeof navigator&&navigator||void 0,Se=Oe&&(!Re||["ReactNative","NativeScript","NS"].indexOf(Re.product)<0),ve="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Te=Oe&&window.location.href||"http://localhost",Ae={...r,...Ee},je=function(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const i=Number.isFinite(+s),a=o>=e.length;return s=!s&&ne.isArray(r)?r.length:s,a?(ne.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!i):(r[s]&&ne.isObject(r[s])||(r[s]=[]),t(e,n,r[s],o)&&ne.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r<o;r++)s=n[r],t[s]=e[s];return t}(r[s])),!i)}if(ne.isFormData(e)&&ne.isFunction(e.entries)){const n={};return ne.forEachEntry(e,((e,r)=>{t(function(e){return ne.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},xe={transitional:we,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=ne.isObject(e);if(o&&ne.isHTMLForm(e)&&(e=new FormData(e)),ne.isFormData(e))return r?JSON.stringify(je(e)):e;if(ne.isArrayBuffer(e)||ne.isBuffer(e)||ne.isStream(e)||ne.isFile(e)||ne.isBlob(e)||ne.isReadableStream(e))return e;if(ne.isArrayBufferView(e))return e.buffer;if(ne.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return fe(e,new Ae.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return Ae.isNode&&ne.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((s=ne.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return fe(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e){if(ne.isString(e))try{return(0,JSON.parse)(e),ne.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||xe.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(ne.isResponse(e)||ne.isReadableStream(e))return e;if(e&&ne.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw ie.from(e,ie.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ae.classes.FormData,Blob:Ae.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ne.forEach(["delete","get","head","post","put","patch"],(e=>{xe.headers[e]={}}));const Ce=xe,Ne=ne.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Pe=Symbol("internals");function _e(e){return e&&String(e).trim().toLowerCase()}function ke(e){return!1===e||null==e?e:ne.isArray(e)?e.map(ke):String(e)}function Ue(e,t,n,r,o){return ne.isFunction(r)?r.call(this,t,n):(o&&(t=n),ne.isString(t)?ne.isString(r)?-1!==t.indexOf(r):ne.isRegExp(r)?r.test(t):void 0:void 0)}class Fe{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=_e(t);if(!o)throw new Error("header name must be a non-empty string");const s=ne.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=ke(e))}const s=(e,t)=>ne.forEach(e,((e,n)=>o(e,n,t)));if(ne.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(ne.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&Ne[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(ne.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=_e(e)){const n=ne.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(ne.isFunction(t))return t.call(this,e,n);if(ne.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=_e(e)){const n=ne.findKey(this,e);return!(!n||void 0===this[n]||t&&!Ue(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=_e(e)){const o=ne.findKey(n,e);!o||t&&!Ue(0,n[o],o,t)||(delete n[o],r=!0)}}return ne.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!Ue(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return ne.forEach(this,((r,o)=>{const s=ne.findKey(n,o);if(s)return t[s]=ke(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();i!==o&&delete t[o],t[i]=ke(r),n[i]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return ne.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&ne.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Pe]=this[Pe]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=_e(e);t[r]||(function(e,t){const n=ne.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return ne.isArray(e)?e.forEach(r):r(e),this}}Fe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ne.reduceDescriptors(Fe.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),ne.freezeMethods(Fe);const Be=Fe;function Le(e,t){const n=this||Ce,r=t||n,o=Be.from(r.headers);let s=r.data;return ne.forEach(e,(function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)})),o.normalize(),s}function De(e){return!(!e||!e.__CANCEL__)}function qe(e,t,n){ie.call(this,null==e?"canceled":e,ie.ERR_CANCELED,t,n),this.name="CanceledError"}ne.inherits(qe,ie,{__CANCEL__:!0});const Me=qe;function Ie(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new ie("Request failed with status code "+n.status,[ie.ERR_BAD_REQUEST,ie.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const ze=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),l=r[i];o||(o=c),n[s]=a,r[s]=c;let u=i,f=0;for(;u!==s;)f+=n[u++],u%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-o<t)return;const d=l&&c-l;return d?Math.round(1e3*f/d):void 0}}(50,250);return function(e,t){let n,r,o=0,s=1e3/t;const i=(t,s=Date.now())=>{o=s,n=null,r&&(clearTimeout(r),r=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),a=t-o;a>=s?i(e,t):(n=e,r||(r=setTimeout((()=>{r=null,i(n)}),s-a)))},()=>n&&i(n)]}((n=>{const s=n.loaded,i=n.lengthComputable?n.total:void 0,a=s-r,c=o(a);r=s,e({loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:n,lengthComputable:null!=i,[t?"download":"upload"]:!0})}),n)},He=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Je=e=>(...t)=>ne.asap((()=>e(...t))),We=Ae.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Ae.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Ae.origin),Ae.navigator&&/(msie|trident)/i.test(Ae.navigator.userAgent)):()=>!0,Ke=Ae.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const i=[e+"="+encodeURIComponent(t)];ne.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),ne.isString(r)&&i.push("path="+r),ne.isString(o)&&i.push("domain="+o),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Ve(e,t,n){let r=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&r||0==n?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const $e=e=>e instanceof Be?{...e}:e;function Xe(e,t){t=t||{};const n={};function r(e,t,n,r){return ne.isPlainObject(e)&&ne.isPlainObject(t)?ne.merge.call({caseless:r},e,t):ne.isPlainObject(t)?ne.merge({},t):ne.isArray(t)?t.slice():t}function o(e,t,n,o){return ne.isUndefined(t)?ne.isUndefined(e)?void 0:r(void 0,e,0,o):r(e,t,0,o)}function s(e,t){if(!ne.isUndefined(t))return r(void 0,t)}function i(e,t){return ne.isUndefined(t)?ne.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t,n)=>o($e(e),$e(t),0,!0)};return ne.forEach(Object.keys(Object.assign({},e,t)),(function(r){const s=c[r]||o,i=s(e[r],t[r],r);ne.isUndefined(i)&&s!==a||(n[r]=i)})),n}const Ge=e=>{const t=Xe({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:i,headers:a,auth:c}=t;if(t.headers=a=Be.from(a),t.url=ye(Ve(t.baseURL,t.url),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),ne.isFormData(r))if(Ae.hasStandardBrowserEnv||Ae.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(n=a.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...t].join("; "))}if(Ae.hasStandardBrowserEnv&&(o&&ne.isFunction(o)&&(o=o(t)),o||!1!==o&&We(t.url))){const e=s&&i&&Ke.read(i);e&&a.set(s,e)}return t},Qe="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=Ge(e);let o=r.data;const s=Be.from(r.headers).normalize();let i,a,c,l,u,{responseType:f,onUploadProgress:d,onDownloadProgress:p}=r;function h(){l&&l(),u&&u(),r.cancelToken&&r.cancelToken.unsubscribe(i),r.signal&&r.signal.removeEventListener("abort",i)}let m=new XMLHttpRequest;function b(){if(!m)return;const r=Be.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());Ie((function(e){t(e),h()}),(function(e){n(e),h()}),{data:f&&"text"!==f&&"json"!==f?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m}),m=null}m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout,"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(b)},m.onabort=function(){m&&(n(new ie("Request aborted",ie.ECONNABORTED,e,m)),m=null)},m.onerror=function(){n(new ie("Network Error",ie.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||we;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new ie(t,o.clarifyTimeoutError?ie.ETIMEDOUT:ie.ECONNABORTED,e,m)),m=null},void 0===o&&s.setContentType(null),"setRequestHeader"in m&&ne.forEach(s.toJSON(),(function(e,t){m.setRequestHeader(t,e)})),ne.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),f&&"json"!==f&&(m.responseType=r.responseType),p&&([c,u]=ze(p,!0),m.addEventListener("progress",c)),d&&m.upload&&([a,l]=ze(d),m.upload.addEventListener("progress",a),m.upload.addEventListener("loadend",l)),(r.cancelToken||r.signal)&&(i=t=>{m&&(n(!t||t.type?new Me(null,e,m):t),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(i),r.signal&&(r.signal.aborted?i():r.signal.addEventListener("abort",i)));const y=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);y&&-1===Ae.protocols.indexOf(y)?n(new ie("Unsupported protocol "+y+":",ie.ERR_BAD_REQUEST,e)):m.send(o||null)}))},Ze=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,r=new AbortController;const o=function(e){if(!n){n=!0,i();const t=e instanceof Error?e:this.reason;r.abort(t instanceof ie?t:new Me(t instanceof Error?t.message:t))}};let s=t&&setTimeout((()=>{s=null,o(new ie(`timeout ${t} of ms exceeded`,ie.ETIMEDOUT))}),t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach((e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)})),e=null)};e.forEach((e=>e.addEventListener("abort",o)));const{signal:a}=r;return a.unsubscribe=()=>ne.asap(i),a}},Ye=function*(e,t){let n=e.byteLength;if(!t||n<t)return void(yield e);let r,o=0;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},et=(e,t,n,r)=>{const o=async function*(e,t){for await(const n of async function*(e){if(e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}}(e))yield*Ye(n,t)}(e,t);let s,i=0,a=e=>{s||(s=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await o.next();if(t)return a(),void e.close();let s=r.byteLength;if(n){let e=i+=s;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw a(e),e}},cancel:e=>(a(e),o.return())},{highWaterMark:2})},tt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,nt=tt&&"function"==typeof ReadableStream,rt=tt&&("function"==typeof TextEncoder?(ot=new TextEncoder,e=>ot.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var ot;const st=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},it=nt&&st((()=>{let e=!1;const t=new Request(Ae.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),at=nt&&st((()=>ne.isReadableStream(new Response("").body))),ct={stream:at&&(e=>e.body)};var lt;tt&&(lt=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!ct[e]&&(ct[e]=ne.isFunction(lt[e])?t=>t[e]():(t,n)=>{throw new ie(`Response type '${e}' is not supported`,ie.ERR_NOT_SUPPORT,n)})})));const ut={http:null,xhr:Qe,fetch:tt&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:s,timeout:i,onDownloadProgress:a,onUploadProgress:c,responseType:l,headers:u,withCredentials:f="same-origin",fetchOptions:d}=Ge(e);l=l?(l+"").toLowerCase():"text";let p,h=Ze([o,s&&s.toAbortSignal()],i);const m=h&&h.unsubscribe&&(()=>{h.unsubscribe()});let b;try{if(c&&it&&"get"!==n&&"head"!==n&&0!==(b=await(async(e,t)=>{const n=ne.toFiniteNumber(e.getContentLength());return null==n?(async e=>{if(null==e)return 0;if(ne.isBlob(e))return e.size;if(ne.isSpecCompliantForm(e)){const t=new Request(Ae.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return ne.isArrayBufferView(e)||ne.isArrayBuffer(e)?e.byteLength:(ne.isURLSearchParams(e)&&(e+=""),ne.isString(e)?(await rt(e)).byteLength:void 0)})(t):n})(u,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});if(ne.isFormData(r)&&(e=n.headers.get("content-type"))&&u.setContentType(e),n.body){const[e,t]=He(b,ze(Je(c)));r=et(n.body,65536,e,t)}}ne.isString(f)||(f=f?"include":"omit");const o="credentials"in Request.prototype;p=new Request(t,{...d,signal:h,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",credentials:o?f:void 0});let s=await fetch(p);const i=at&&("stream"===l||"response"===l);if(at&&(a||i&&m)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=s[t]}));const t=ne.toFiniteNumber(s.headers.get("content-length")),[n,r]=a&&He(t,ze(Je(a),!0))||[];s=new Response(et(s.body,65536,n,(()=>{r&&r(),m&&m()})),e)}l=l||"text";let y=await ct[ne.findKey(ct,l)||"text"](s,e);return!i&&m&&m(),await new Promise(((t,n)=>{Ie(t,n,{data:y,headers:Be.from(s.headers),status:s.status,statusText:s.statusText,config:e,request:p})}))}catch(t){if(m&&m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new ie("Network Error",ie.ERR_NETWORK,e,p),{cause:t.cause||t});throw ie.from(t,t&&t.code,e,p)}})};ne.forEach(ut,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const ft=e=>`- ${e}`,dt=e=>ne.isFunction(e)||null===e||!1===e,pt=e=>{e=ne.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let s=0;s<t;s++){let t;if(n=e[s],r=n,!dt(n)&&(r=ut[(t=String(n)).toLowerCase()],void 0===r))throw new ie(`Unknown adapter '${t}'`);if(r)break;o[t||"#"+s]=r}if(!r){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(ft).join("\n"):" "+ft(e[0]):"as no adapter specified";throw new ie("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function ht(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Me(null,e)}function mt(e){return ht(e),e.headers=Be.from(e.headers),e.data=Le.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),pt(e.adapter||Ce.adapter)(e).then((function(t){return ht(e),t.data=Le.call(e,e.transformResponse,t),t.headers=Be.from(t.headers),t}),(function(t){return De(t)||(ht(e),t&&t.response&&(t.response.data=Le.call(e,e.transformResponse,t.response),t.response.headers=Be.from(t.response.headers))),Promise.reject(t)}))}const bt={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{bt[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const yt={};bt.transitional=function(e,t,n){function r(e,t){return"[Axios v1.8.2] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new ie(r(o," has been removed"+(t?" in "+t:"")),ie.ERR_DEPRECATED);return t&&!yt[o]&&(yt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}},bt.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};const gt={assertOptions:function(e,t,n){if("object"!=typeof e)throw new ie("options must be an object",ie.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const t=e[s],n=void 0===t||i(t,s,e);if(!0!==n)throw new ie("option "+s+" must be "+n,ie.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ie("Unknown option "+s,ie.ERR_BAD_OPTION)}},validators:bt},wt=gt.validators;class Et{constructor(e){this.defaults=e,this.interceptors={request:new ge,response:new ge}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Xe(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&gt.assertOptions(n,{silentJSONParsing:wt.transitional(wt.boolean),forcedJSONParsing:wt.transitional(wt.boolean),clarifyTimeoutError:wt.transitional(wt.boolean)},!1),null!=r&&(ne.isFunction(r)?t.paramsSerializer={serialize:r}:gt.assertOptions(r,{encode:wt.function,serialize:wt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),gt.assertOptions(t,{baseUrl:wt.spelling("baseURL"),withXsrfToken:wt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&ne.merge(o.common,o[t.method]);o&&ne.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Be.concat(s,o);const i=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let u,f=0;if(!a){const e=[mt.bind(this),void 0];for(e.unshift.apply(e,i),e.push.apply(e,c),u=e.length,l=Promise.resolve(t);f<u;)l=l.then(e[f++],e[f++]);return l}u=i.length;let d=t;for(f=0;f<u;){const e=i[f++],t=i[f++];try{d=e(d)}catch(e){t.call(this,e);break}}try{l=mt.call(this,d)}catch(e){return Promise.reject(e)}for(f=0,u=c.length;f<u;)l=l.then(c[f++],c[f++]);return l}getUri(e){return ye(Ve((e=Xe(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}ne.forEach(["delete","get","head","options"],(function(e){Et.prototype[e]=function(t,n){return this.request(Xe(n||{},{method:e,url:t,data:(n||{}).data}))}})),ne.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,o){return this.request(Xe(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}Et.prototype[e]=t(),Et.prototype[e+"Form"]=t(!0)}));const Ot=Et;class Rt{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new Me(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new Rt((function(t){e=t})),cancel:e}}}const St=Rt,vt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(vt).forEach((([e,t])=>{vt[t]=e}));const Tt=vt,At=function e(t){const n=new Ot(t),r=m(Ot.prototype.request,n);return ne.extend(r,Ot.prototype,n,{allOwnKeys:!0}),ne.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(Xe(t,n))},r}(Ce);At.Axios=Ot,At.CanceledError=Me,At.CancelToken=St,At.isCancel=De,At.VERSION="1.8.2",At.toFormData=fe,At.AxiosError=ie,At.Cancel=At.CanceledError,At.all=function(e){return Promise.all(e)},At.spread=function(e){return function(t){return e.apply(null,t)}},At.isAxiosError=function(e){return ne.isObject(e)&&!0===e.isAxiosError},At.mergeConfig=Xe,At.AxiosHeaders=Be,At.formToJSON=e=>je(ne.isHTMLForm(e)?new FormData(e):e),At.getAdapter=pt,At.HttpStatusCode=Tt,At.default=At;const jt=At,xt=function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return n.flatMap((t=>"string"==typeof t||"number"==typeof t?[t]:Array.isArray(t)?e(...t):"object"==typeof t&&null!==t?Object.keys(t).filter((e=>t[e])):[])).filter(Boolean).join(" ")},Ct=(0,l.withInstanceId)((function(e){let{attributes:{label:t,formId:n,className:r,hasLabel:o,align:s,selectedDataSource:l="",selectedType:m=""},instanceId:b,setAttributes:y}=e;const[g,w]=(0,u.useState)([]),[E,O]=(0,u.useState)([]),R=xt("wpengine-smart-dropdown-facet",s?"align"+s:"",r,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},(0,c.useBlockProps)()).className);(0,u.useEffect)((()=>{n||y({formId:"wpengine-smart-dropdown-facet-".concat(b)})}),[n,y,b]),(0,u.useEffect)((()=>{(async()=>{try{const e=await jt.get("/wp-json/wpengine-smart-search/v1/taxonomies",{headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}});w(e.data)}catch(e){console.error("Error fetching taxonomies:",e)}})()}),[]);const S=[...(g||[]).map((e=>({label:e.labels.name||e.name,value:e.name})))];(0,u.useEffect)((()=>{(async()=>{l||(l="category",y({selectedDataSource:l}));try{const e=await jt.get("/wp-json/wpengine-smart-search/v1/taxonomies/".concat(l,"/terms"),{headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}});O(e.data)}catch(e){console.error("Error fetching terms:",e)}})()}),[l,y]);const v={select:p,checkbox:h}[m]||p;return React.createElement(React.Fragment,null,React.createElement(c.InspectorControls,{key:"inspector"},React.createElement(d.PanelBody,{title:"Settings"},React.createElement(d.SelectControl,{key:"taxonomy-select-".concat(b),label:"Select Source","data-testid":"data-source",value:l,options:S,onChange:e=>{y({selectedDataSource:e})},__nextHasNoMarginBottom:!0}),React.createElement(d.SelectControl,{key:"facet-type-".concat(b),label:"Select Type","data-testid":"data-source-type",value:m,options:[{label:"Dropdown",value:"select"},{label:"Checkbox",value:"checkbox"}],onChange:e=>{y({selectedType:e})},__nextHasNoMarginBottom:!0}))),React.createElement("div",Object.assign({},(0,c.useBlockProps)(),{className:R}),!!o&&React.createElement(React.Fragment,null,React.createElement("label",{className:"screen-reader-text",htmlFor:"wpengine-smart-search-dropdown-facet__label"},(0,f.__)("Filter Label","wpengine-smart-search")),React.createElement(c.PlainText,{className:"wpengine-smart-search-dropdown-facet__label",id:"wpengine-smart-search-dropdown-facet__label",value:t,onChange:e=>y({label:e}),style:{backgroundColor:"transparent"}})),React.createElement("div",{className:"wpengine-smart-search-facet__fields"},React.createElement(v,{terms:E}))))})),Nt=JSON.parse('{"UU":"wpengine-smart-search/dropdown-facet"}');(0,o.registerBlockType)(Nt.UU,{edit:Ct,save:function(){return React.createElement("div",c.useBlockProps.save(),React.createElement(c.InnerBlocks.Content,null))}})}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.m=t,e=[],r.O=(t,n,o,s)=>{if(!n){var i=1/0;for(u=0;u<e.length;u++){n=e[u][0],o=e[u][1],s=e[u][2];for(var a=!0,c=0;c<n.length;c++)(!1&s||i>=s)&&Object.keys(r.O).every((e=>r.O[e](n[c])))?n.splice(c--,1):(a=!1,s<i&&(i=s));if(a){e.splice(u--,1);var l=o();void 0!==l&&(t=l)}}return t}s=s||0;for(var u=e.length;u>0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[n,o,s]},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={874:0,726:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var o,s,i=n[0],a=n[1],c=n[2],l=0;if(i.some((t=>0!==e[t]))){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(c)var u=c(r)}for(t&&t(n);l<i.length;l++)s=i[l],r.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return r.O(u)},n=self.webpackChunkwpengine_smart_search=self.webpackChunkwpengine_smart_search||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var o=r.O(void 0,[726],(()=>r(548)));o=r.O(o)})();
     1(()=>{"use strict";var e,t={548:(e,t,n)=>{var r={};n.r(r),n.d(r,{hasBrowserEnv:()=>we,hasStandardBrowserEnv:()=>Oe,hasStandardBrowserWebWorkerEnv:()=>Re,navigator:()=>Ee,origin:()=>Se});const o=window.wp.blocks;function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function i(e,t,n){return(t=function(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}const c=window.wp.blockEditor,l=window.wp.compose,u=window.wp.element,f=window.wp.i18n,d=window.wp.components;function p(e,t){return function(){return e.apply(t,arguments)}}const{toString:h}=Object.prototype,{getPrototypeOf:m}=Object,b=(y=Object.create(null),e=>{const t=h.call(e);return y[t]||(y[t]=t.slice(8,-1).toLowerCase())});var y;const g=e=>(e=e.toLowerCase(),t=>b(t)===e),w=e=>t=>typeof t===e,{isArray:E}=Array,O=w("undefined"),R=g("ArrayBuffer"),S=w("string"),v=w("function"),T=w("number"),A=e=>null!==e&&"object"==typeof e,j=e=>{if("object"!==b(e))return!1;const t=m(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},x=g("Date"),C=g("File"),N=g("Blob"),P=g("FileList"),_=g("URLSearchParams"),[k,U,F,B]=["ReadableStream","Request","Response","Headers"].map(g);function L(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),E(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let i;for(r=0;r<s;r++)i=o[r],t.call(null,e[i],i,e)}}function D(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,M=e=>!O(e)&&e!==q,I=(z="undefined"!=typeof Uint8Array&&m(Uint8Array),e=>z&&e instanceof z);var z;const H=g("HTMLFormElement"),J=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),W=g("RegExp"),K=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};L(n,((n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)})),Object.defineProperties(e,r)},V=g("AsyncFunction"),$=(X="function"==typeof setImmediate,G=v(q.postMessage),X?setImmediate:G?(Q=`axios@${Math.random()}`,Z=[],q.addEventListener("message",(({source:e,data:t})=>{e===q&&t===Q&&Z.length&&Z.shift()()}),!1),e=>{Z.push(e),q.postMessage(Q,"*")}):e=>setTimeout(e));var X,G,Q,Z;const Y="undefined"!=typeof queueMicrotask?queueMicrotask.bind(q):"undefined"!=typeof process&&process.nextTick||$,ee={isArray:E,isArrayBuffer:R,isBuffer:function(e){return null!==e&&!O(e)&&null!==e.constructor&&!O(e.constructor)&&v(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||v(e.append)&&("formdata"===(t=b(e))||"object"===t&&v(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&R(e.buffer),t},isString:S,isNumber:T,isBoolean:e=>!0===e||!1===e,isObject:A,isPlainObject:j,isReadableStream:k,isRequest:U,isResponse:F,isHeaders:B,isUndefined:O,isDate:x,isFile:C,isBlob:N,isRegExp:W,isFunction:v,isStream:e=>A(e)&&v(e.pipe),isURLSearchParams:_,isTypedArray:I,isFileList:P,forEach:L,merge:function e(){const{caseless:t}=M(this)&&this||{},n={},r=(r,o)=>{const s=t&&D(n,o)||o;j(n[s])&&j(r)?n[s]=e(n[s],r):j(r)?n[s]=e({},r):E(r)?n[s]=r.slice():n[s]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&L(arguments[e],r);return n},extend:(e,t,n,{allOwnKeys:r}={})=>(L(t,((t,r)=>{n&&v(t)?e[r]=p(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,s,i;const a={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)i=o[s],r&&!r(i,e,t)||a[i]||(t[i]=e[i],a[i]=!0);e=!1!==n&&m(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:b,kindOfTest:g,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(E(e))return e;let t=e.length;if(!T(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:H,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:K,freezeMethods:e=>{K(e,((t,n)=>{if(v(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];v(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return E(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:D,global:q,isContextDefined:M,isSpecCompliantForm:function(e){return!!(e&&v(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(A(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=E(e)?[]:{};return L(e,((e,t)=>{const s=n(e,r+1);!O(s)&&(o[t]=s)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:V,isThenable:e=>e&&(A(e)||v(e))&&v(e.then)&&v(e.catch),setImmediate:$,asap:Y};function te(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}ee.inherits(te,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ee.toJSONObject(this.config),code:this.code,status:this.status}}});const ne=te.prototype,re={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{re[e]={value:e}})),Object.defineProperties(te,re),Object.defineProperty(ne,"isAxiosError",{value:!0}),te.from=(e,t,n,r,o,s)=>{const i=Object.create(ne);return ee.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),te.call(i,e.message,t,n,r,o),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};const oe=te;function se(e){return ee.isPlainObject(e)||ee.isArray(e)}function ie(e){return ee.endsWith(e,"[]")?e.slice(0,-2):e}function ae(e,t,n){return e?e.concat(t).map((function(e,t){return e=ie(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const ce=ee.toFlatObject(ee,{},null,(function(e){return/^is[A-Z]/.test(e)})),le=function(e,t,n){if(!ee.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=ee.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ee.isUndefined(t[e])}))).metaTokens,o=n.visitor||l,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&ee.isSpecCompliantForm(t);if(!ee.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(ee.isDate(e))return e.toISOString();if(!a&&ee.isBlob(e))throw new oe("Blob is not supported. Use a Buffer instead.");return ee.isArrayBuffer(e)||ee.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if(e&&!o&&"object"==typeof e)if(ee.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(ee.isArray(e)&&function(e){return ee.isArray(e)&&!e.some(se)}(e)||(ee.isFileList(e)||ee.endsWith(n,"[]"))&&(a=ee.toArray(e)))return n=ie(n),a.forEach((function(e,r){!ee.isUndefined(e)&&null!==e&&t.append(!0===i?ae([n],r,s):null===i?n:n+"[]",c(e))})),!1;return!!se(e)||(t.append(ae(o,n,s),c(e)),!1)}const u=[],f=Object.assign(ce,{defaultVisitor:l,convertValue:c,isVisitable:se});if(!ee.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!ee.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),ee.forEach(n,(function(n,s){!0===(!(ee.isUndefined(n)||null===n)&&o.call(t,n,ee.isString(s)?s.trim():s,r,f))&&e(n,r?r.concat(s):[s])})),u.pop()}}(e),t};function ue(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function fe(e,t){this._pairs=[],e&&le(e,this,t)}const de=fe.prototype;de.append=function(e,t){this._pairs.push([e,t])},de.toString=function(e){const t=e?function(t){return e.call(this,t,ue)}:ue;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const pe=fe;function he(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function me(e,t,n){if(!t)return e;const r=n&&n.encode||he;ee.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let s;if(s=o?o(t,n):ee.isURLSearchParams(t)?t.toString():new pe(t,n).toString(r),s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}const be=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){ee.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},ye={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ge={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:pe,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},we="undefined"!=typeof window&&"undefined"!=typeof document,Ee="object"==typeof navigator&&navigator||void 0,Oe=we&&(!Ee||["ReactNative","NativeScript","NS"].indexOf(Ee.product)<0),Re="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Se=we&&window.location.href||"http://localhost",ve={...r,...ge},Te=function(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const i=Number.isFinite(+s),a=o>=e.length;return s=!s&&ee.isArray(r)?r.length:s,a?(ee.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!i):(r[s]&&ee.isObject(r[s])||(r[s]=[]),t(e,n,r[s],o)&&ee.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r<o;r++)s=n[r],t[s]=e[s];return t}(r[s])),!i)}if(ee.isFormData(e)&&ee.isFunction(e.entries)){const n={};return ee.forEachEntry(e,((e,r)=>{t(function(e){return ee.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},Ae={transitional:ye,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=ee.isObject(e);if(o&&ee.isHTMLForm(e)&&(e=new FormData(e)),ee.isFormData(e))return r?JSON.stringify(Te(e)):e;if(ee.isArrayBuffer(e)||ee.isBuffer(e)||ee.isStream(e)||ee.isFile(e)||ee.isBlob(e)||ee.isReadableStream(e))return e;if(ee.isArrayBufferView(e))return e.buffer;if(ee.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return le(e,new ve.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return ve.isNode&&ee.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((s=ee.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return le(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e){if(ee.isString(e))try{return(0,JSON.parse)(e),ee.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||Ae.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(ee.isResponse(e)||ee.isReadableStream(e))return e;if(e&&ee.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw oe.from(e,oe.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ve.classes.FormData,Blob:ve.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ee.forEach(["delete","get","head","post","put","patch"],(e=>{Ae.headers[e]={}}));const je=Ae,xe=ee.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ce=Symbol("internals");function Ne(e){return e&&String(e).trim().toLowerCase()}function Pe(e){return!1===e||null==e?e:ee.isArray(e)?e.map(Pe):String(e)}function _e(e,t,n,r,o){return ee.isFunction(r)?r.call(this,t,n):(o&&(t=n),ee.isString(t)?ee.isString(r)?-1!==t.indexOf(r):ee.isRegExp(r)?r.test(t):void 0:void 0)}class ke{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=Ne(t);if(!o)throw new Error("header name must be a non-empty string");const s=ee.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=Pe(e))}const s=(e,t)=>ee.forEach(e,((e,n)=>o(e,n,t)));if(ee.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(ee.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&xe[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(ee.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=Ne(e)){const n=ee.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(ee.isFunction(t))return t.call(this,e,n);if(ee.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Ne(e)){const n=ee.findKey(this,e);return!(!n||void 0===this[n]||t&&!_e(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=Ne(e)){const o=ee.findKey(n,e);!o||t&&!_e(0,n[o],o,t)||(delete n[o],r=!0)}}return ee.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!_e(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return ee.forEach(this,((r,o)=>{const s=ee.findKey(n,o);if(s)return t[s]=Pe(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();i!==o&&delete t[o],t[i]=Pe(r),n[i]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return ee.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&ee.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Ce]=this[Ce]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=Ne(e);t[r]||(function(e,t){const n=ee.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return ee.isArray(e)?e.forEach(r):r(e),this}}ke.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ee.reduceDescriptors(ke.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),ee.freezeMethods(ke);const Ue=ke;function Fe(e,t){const n=this||je,r=t||n,o=Ue.from(r.headers);let s=r.data;return ee.forEach(e,(function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)})),o.normalize(),s}function Be(e){return!(!e||!e.__CANCEL__)}function Le(e,t,n){oe.call(this,null==e?"canceled":e,oe.ERR_CANCELED,t,n),this.name="CanceledError"}ee.inherits(Le,oe,{__CANCEL__:!0});const De=Le;function qe(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new oe("Request failed with status code "+n.status,[oe.ERR_BAD_REQUEST,oe.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const Me=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),l=r[i];o||(o=c),n[s]=a,r[s]=c;let u=i,f=0;for(;u!==s;)f+=n[u++],u%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-o<t)return;const d=l&&c-l;return d?Math.round(1e3*f/d):void 0}}(50,250);return function(e,t){let n,r,o=0,s=1e3/t;const i=(t,s=Date.now())=>{o=s,n=null,r&&(clearTimeout(r),r=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),a=t-o;a>=s?i(e,t):(n=e,r||(r=setTimeout((()=>{r=null,i(n)}),s-a)))},()=>n&&i(n)]}((n=>{const s=n.loaded,i=n.lengthComputable?n.total:void 0,a=s-r,c=o(a);r=s,e({loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:n,lengthComputable:null!=i,[t?"download":"upload"]:!0})}),n)},Ie=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ze=e=>(...t)=>ee.asap((()=>e(...t))),He=ve.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,ve.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(ve.origin),ve.navigator&&/(msie|trident)/i.test(ve.navigator.userAgent)):()=>!0,Je=ve.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const i=[e+"="+encodeURIComponent(t)];ee.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),ee.isString(r)&&i.push("path="+r),ee.isString(o)&&i.push("domain="+o),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function We(e,t,n){let r=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&(r||0==n)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Ke=e=>e instanceof Ue?{...e}:e;function Ve(e,t){t=t||{};const n={};function r(e,t,n,r){return ee.isPlainObject(e)&&ee.isPlainObject(t)?ee.merge.call({caseless:r},e,t):ee.isPlainObject(t)?ee.merge({},t):ee.isArray(t)?t.slice():t}function o(e,t,n,o){return ee.isUndefined(t)?ee.isUndefined(e)?void 0:r(void 0,e,0,o):r(e,t,0,o)}function s(e,t){if(!ee.isUndefined(t))return r(void 0,t)}function i(e,t){return ee.isUndefined(t)?ee.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t,n)=>o(Ke(e),Ke(t),0,!0)};return ee.forEach(Object.keys(Object.assign({},e,t)),(function(r){const s=c[r]||o,i=s(e[r],t[r],r);ee.isUndefined(i)&&s!==a||(n[r]=i)})),n}const $e=e=>{const t=Ve({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:i,headers:a,auth:c}=t;if(t.headers=a=Ue.from(a),t.url=me(We(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),ee.isFormData(r))if(ve.hasStandardBrowserEnv||ve.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(n=a.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...t].join("; "))}if(ve.hasStandardBrowserEnv&&(o&&ee.isFunction(o)&&(o=o(t)),o||!1!==o&&He(t.url))){const e=s&&i&&Je.read(i);e&&a.set(s,e)}return t},Xe="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=$e(e);let o=r.data;const s=Ue.from(r.headers).normalize();let i,a,c,l,u,{responseType:f,onUploadProgress:d,onDownloadProgress:p}=r;function h(){l&&l(),u&&u(),r.cancelToken&&r.cancelToken.unsubscribe(i),r.signal&&r.signal.removeEventListener("abort",i)}let m=new XMLHttpRequest;function b(){if(!m)return;const r=Ue.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());qe((function(e){t(e),h()}),(function(e){n(e),h()}),{data:f&&"text"!==f&&"json"!==f?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m}),m=null}m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout,"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(b)},m.onabort=function(){m&&(n(new oe("Request aborted",oe.ECONNABORTED,e,m)),m=null)},m.onerror=function(){n(new oe("Network Error",oe.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||ye;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new oe(t,o.clarifyTimeoutError?oe.ETIMEDOUT:oe.ECONNABORTED,e,m)),m=null},void 0===o&&s.setContentType(null),"setRequestHeader"in m&&ee.forEach(s.toJSON(),(function(e,t){m.setRequestHeader(t,e)})),ee.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),f&&"json"!==f&&(m.responseType=r.responseType),p&&([c,u]=Me(p,!0),m.addEventListener("progress",c)),d&&m.upload&&([a,l]=Me(d),m.upload.addEventListener("progress",a),m.upload.addEventListener("loadend",l)),(r.cancelToken||r.signal)&&(i=t=>{m&&(n(!t||t.type?new De(null,e,m):t),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(i),r.signal&&(r.signal.aborted?i():r.signal.addEventListener("abort",i)));const y=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);y&&-1===ve.protocols.indexOf(y)?n(new oe("Unsupported protocol "+y+":",oe.ERR_BAD_REQUEST,e)):m.send(o||null)}))},Ge=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,r=new AbortController;const o=function(e){if(!n){n=!0,i();const t=e instanceof Error?e:this.reason;r.abort(t instanceof oe?t:new De(t instanceof Error?t.message:t))}};let s=t&&setTimeout((()=>{s=null,o(new oe(`timeout ${t} of ms exceeded`,oe.ETIMEDOUT))}),t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach((e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)})),e=null)};e.forEach((e=>e.addEventListener("abort",o)));const{signal:a}=r;return a.unsubscribe=()=>ee.asap(i),a}},Qe=function*(e,t){let n=e.byteLength;if(!t||n<t)return void(yield e);let r,o=0;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},Ze=(e,t,n,r)=>{const o=async function*(e,t){for await(const n of async function*(e){if(e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}}(e))yield*Qe(n,t)}(e,t);let s,i=0,a=e=>{s||(s=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await o.next();if(t)return a(),void e.close();let s=r.byteLength;if(n){let e=i+=s;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw a(e),e}},cancel:e=>(a(e),o.return())},{highWaterMark:2})},Ye="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,et=Ye&&"function"==typeof ReadableStream,tt=Ye&&("function"==typeof TextEncoder?(nt=new TextEncoder,e=>nt.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var nt;const rt=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},ot=et&&rt((()=>{let e=!1;const t=new Request(ve.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),st=et&&rt((()=>ee.isReadableStream(new Response("").body))),it={stream:st&&(e=>e.body)};var at;Ye&&(at=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!it[e]&&(it[e]=ee.isFunction(at[e])?t=>t[e]():(t,n)=>{throw new oe(`Response type '${e}' is not supported`,oe.ERR_NOT_SUPPORT,n)})})));const ct={http:null,xhr:Xe,fetch:Ye&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:s,timeout:i,onDownloadProgress:a,onUploadProgress:c,responseType:l,headers:u,withCredentials:f="same-origin",fetchOptions:d}=$e(e);l=l?(l+"").toLowerCase():"text";let p,h=Ge([o,s&&s.toAbortSignal()],i);const m=h&&h.unsubscribe&&(()=>{h.unsubscribe()});let b;try{if(c&&ot&&"get"!==n&&"head"!==n&&0!==(b=await(async(e,t)=>{const n=ee.toFiniteNumber(e.getContentLength());return null==n?(async e=>{if(null==e)return 0;if(ee.isBlob(e))return e.size;if(ee.isSpecCompliantForm(e)){const t=new Request(ve.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return ee.isArrayBufferView(e)||ee.isArrayBuffer(e)?e.byteLength:(ee.isURLSearchParams(e)&&(e+=""),ee.isString(e)?(await tt(e)).byteLength:void 0)})(t):n})(u,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});if(ee.isFormData(r)&&(e=n.headers.get("content-type"))&&u.setContentType(e),n.body){const[e,t]=Ie(b,Me(ze(c)));r=Ze(n.body,65536,e,t)}}ee.isString(f)||(f=f?"include":"omit");const o="credentials"in Request.prototype;p=new Request(t,{...d,signal:h,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",credentials:o?f:void 0});let s=await fetch(p);const i=st&&("stream"===l||"response"===l);if(st&&(a||i&&m)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=s[t]}));const t=ee.toFiniteNumber(s.headers.get("content-length")),[n,r]=a&&Ie(t,Me(ze(a),!0))||[];s=new Response(Ze(s.body,65536,n,(()=>{r&&r(),m&&m()})),e)}l=l||"text";let y=await it[ee.findKey(it,l)||"text"](s,e);return!i&&m&&m(),await new Promise(((t,n)=>{qe(t,n,{data:y,headers:Ue.from(s.headers),status:s.status,statusText:s.statusText,config:e,request:p})}))}catch(t){if(m&&m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new oe("Network Error",oe.ERR_NETWORK,e,p),{cause:t.cause||t});throw oe.from(t,t&&t.code,e,p)}})};ee.forEach(ct,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const lt=e=>`- ${e}`,ut=e=>ee.isFunction(e)||null===e||!1===e,ft=e=>{e=ee.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let s=0;s<t;s++){let t;if(n=e[s],r=n,!ut(n)&&(r=ct[(t=String(n)).toLowerCase()],void 0===r))throw new oe(`Unknown adapter '${t}'`);if(r)break;o[t||"#"+s]=r}if(!r){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(lt).join("\n"):" "+lt(e[0]):"as no adapter specified";throw new oe("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function dt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new De(null,e)}function pt(e){return dt(e),e.headers=Ue.from(e.headers),e.data=Fe.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),ft(e.adapter||je.adapter)(e).then((function(t){return dt(e),t.data=Fe.call(e,e.transformResponse,t),t.headers=Ue.from(t.headers),t}),(function(t){return Be(t)||(dt(e),t&&t.response&&(t.response.data=Fe.call(e,e.transformResponse,t.response),t.response.headers=Ue.from(t.response.headers))),Promise.reject(t)}))}const ht={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{ht[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const mt={};ht.transitional=function(e,t,n){function r(e,t){return"[Axios v1.8.4] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new oe(r(o," has been removed"+(t?" in "+t:"")),oe.ERR_DEPRECATED);return t&&!mt[o]&&(mt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}},ht.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};const bt={assertOptions:function(e,t,n){if("object"!=typeof e)throw new oe("options must be an object",oe.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const t=e[s],n=void 0===t||i(t,s,e);if(!0!==n)throw new oe("option "+s+" must be "+n,oe.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new oe("Unknown option "+s,oe.ERR_BAD_OPTION)}},validators:ht},yt=bt.validators;class gt{constructor(e){this.defaults=e,this.interceptors={request:new be,response:new be}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Ve(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&bt.assertOptions(n,{silentJSONParsing:yt.transitional(yt.boolean),forcedJSONParsing:yt.transitional(yt.boolean),clarifyTimeoutError:yt.transitional(yt.boolean)},!1),null!=r&&(ee.isFunction(r)?t.paramsSerializer={serialize:r}:bt.assertOptions(r,{encode:yt.function,serialize:yt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),bt.assertOptions(t,{baseUrl:yt.spelling("baseURL"),withXsrfToken:yt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&ee.merge(o.common,o[t.method]);o&&ee.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Ue.concat(s,o);const i=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let u,f=0;if(!a){const e=[pt.bind(this),void 0];for(e.unshift.apply(e,i),e.push.apply(e,c),u=e.length,l=Promise.resolve(t);f<u;)l=l.then(e[f++],e[f++]);return l}u=i.length;let d=t;for(f=0;f<u;){const e=i[f++],t=i[f++];try{d=e(d)}catch(e){t.call(this,e);break}}try{l=pt.call(this,d)}catch(e){return Promise.reject(e)}for(f=0,u=c.length;f<u;)l=l.then(c[f++],c[f++]);return l}getUri(e){return me(We((e=Ve(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}ee.forEach(["delete","get","head","options"],(function(e){gt.prototype[e]=function(t,n){return this.request(Ve(n||{},{method:e,url:t,data:(n||{}).data}))}})),ee.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,o){return this.request(Ve(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}gt.prototype[e]=t(),gt.prototype[e+"Form"]=t(!0)}));const wt=gt;class Et{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new De(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new Et((function(t){e=t})),cancel:e}}}const Ot=Et,Rt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Rt).forEach((([e,t])=>{Rt[t]=e}));const St=Rt,vt=function e(t){const n=new wt(t),r=p(wt.prototype.request,n);return ee.extend(r,wt.prototype,n,{allOwnKeys:!0}),ee.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(Ve(t,n))},r}(je);vt.Axios=wt,vt.CanceledError=De,vt.CancelToken=Ot,vt.isCancel=Be,vt.VERSION="1.8.4",vt.toFormData=le,vt.AxiosError=oe,vt.Cancel=vt.CanceledError,vt.all=function(e){return Promise.all(e)},vt.spread=function(e){return function(t){return e.apply(null,t)}},vt.isAxiosError=function(e){return ee.isObject(e)&&!0===e.isAxiosError},vt.mergeConfig=Ve,vt.AxiosHeaders=Ue,vt.formToJSON=e=>Te(ee.isHTMLForm(e)?new FormData(e):e),vt.getAdapter=ft,vt.HttpStatusCode=St,vt.default=vt;const Tt=vt;function At(e){let{terms:t}=e;return React.createElement("select",{className:"wpengine-smart-dropdown-facet__field","aria-label":(0,f.__)("Select a term","wpengine-smart-search")},React.createElement("option",{value:"",disabled:!0,selected:!0},(0,f.__)("Please select...","wpengine-smart-search")),t&&t.length>0?t.map((e=>React.createElement("option",{value:e.slug,key:e.name},e.name))):React.createElement("option",{value:"",disabled:!0},(0,f.__)("No source data available","wpengine-smart-search")))}function jt(e){let{terms:t}=e;return React.createElement("div",{className:"wpengine-smart-checkbox-facet__field"},t&&t.length>0?t.map((e=>React.createElement("div",{key:e.name},React.createElement("input",{type:"checkbox",id:e.slug,value:e.slug}),React.createElement("label",{htmlFor:e.slug},e.name)))):React.createElement("div",null,(0,f.__)("No source data available","wpengine-smart-search")))}const xt=function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return n.flatMap((t=>"string"==typeof t||"number"==typeof t?[t]:Array.isArray(t)?e(...t):"object"==typeof t&&null!==t?Object.keys(t).filter((e=>t[e])):[])).filter(Boolean).join(" ")},Ct=(0,l.withInstanceId)((function(e){let{attributes:{label:t,formId:n,className:r,hasLabel:o,align:s,selectedDataSource:l="",selectedType:p=""},instanceId:h,setAttributes:m}=e;const[b,y]=(0,u.useState)([]),[g,w]=(0,u.useState)([]),E=xt("wpengine-smart-dropdown-facet",s?"align"+s:"",r,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},(0,c.useBlockProps)()).className);(0,u.useEffect)((()=>{n||m({formId:"wpengine-smart-dropdown-facet-".concat(h)})}),[n,m,h]),(0,u.useEffect)((()=>{(async()=>{try{const e=await Tt.get("/wp-json/wpengine-smart-search/v1/taxonomies",{headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}});y(e.data)}catch(e){console.error("Error fetching taxonomies:",e)}})()}),[]);const O=[...(b||[]).map((e=>({label:e.labels.name||e.name,value:e.name})))];(0,u.useEffect)((()=>{(async()=>{l||(l="category",m({selectedDataSource:l}));try{const e=await Tt.get("/wp-json/wpengine-smart-search/v1/taxonomies/".concat(l,"/terms"),{headers:{"Content-Type":"application/json","X-WP-Nonce":window.wpApiSettings.nonce}});w(e.data)}catch(e){console.error("Error fetching terms:",e)}})()}),[l,m]);const R={select:At,checkbox:jt}[p]||At;return React.createElement(React.Fragment,null,React.createElement(c.InspectorControls,{key:"inspector"},React.createElement(d.PanelBody,{title:"Settings"},React.createElement(d.SelectControl,{key:"taxonomy-select-".concat(h),label:"Select Source","data-testid":"data-source",value:l,options:O,onChange:e=>{m({selectedDataSource:e})},__nextHasNoMarginBottom:!0}),React.createElement(d.SelectControl,{key:"facet-type-".concat(h),label:"Select Type","data-testid":"data-source-type",value:p,options:[{label:"Dropdown",value:"select"},{label:"Checkbox",value:"checkbox"}],onChange:e=>{m({selectedType:e})},__nextHasNoMarginBottom:!0}))),React.createElement("div",Object.assign({},(0,c.useBlockProps)(),{className:E}),!!o&&React.createElement(React.Fragment,null,React.createElement("label",{className:"screen-reader-text",htmlFor:"wpengine-smart-search-dropdown-facet__label"},(0,f.__)("Filter Label","wpengine-smart-search")),React.createElement(c.PlainText,{className:"wpengine-smart-search-dropdown-facet__label",id:"wpengine-smart-search-dropdown-facet__label",value:t,onChange:e=>m({label:e}),style:{backgroundColor:"transparent"}})),React.createElement("div",{className:"wpengine-smart-search-facet__fields"},React.createElement(R,{terms:g}))))})),Nt=JSON.parse('{"UU":"wpengine-smart-search/dropdown-facet"}');(0,o.registerBlockType)(Nt.UU,{edit:Ct,save:function(){return React.createElement("div",c.useBlockProps.save(),React.createElement(c.InnerBlocks.Content,null))}})}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.m=t,e=[],r.O=(t,n,o,s)=>{if(!n){var i=1/0;for(u=0;u<e.length;u++){n=e[u][0],o=e[u][1],s=e[u][2];for(var a=!0,c=0;c<n.length;c++)(!1&s||i>=s)&&Object.keys(r.O).every((e=>r.O[e](n[c])))?n.splice(c--,1):(a=!1,s<i&&(i=s));if(a){e.splice(u--,1);var l=o();void 0!==l&&(t=l)}}return t}s=s||0;for(var u=e.length;u>0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[n,o,s]},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={874:0,726:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var o,s,i=n[0],a=n[1],c=n[2],l=0;if(i.some((t=>0!==e[t]))){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(c)var u=c(r)}for(t&&t(n);l<i.length;l++)s=i[l],r.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return r.O(u)},n=self.webpackChunkwpengine_smart_search=self.webpackChunkwpengine_smart_search||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var o=r.O(void 0,[726],(()=>r(548)));o=r.O(o)})();
  • atlas-search/trunk/build/filter-facet/render-components/render-checkbox.php

    r3247243 r3269054  
    11<div
    22        data-wp-interactive='wpengine-smart-search-facets__store'
    3         class="wpengine-smart-checkbox-facet"
    43    <?php echo wp_kses_data( $wrapper_attributes ); ?>
    54    <?php echo wp_kses_data( $context ); ?>
     
    1817                            data-wp-bind--checked-args="<?php echo esc_attr( $record->slug ); ?>"
    1918                            data-wp-on--change="actions.setCheckboxValue"
    20                             value="<?php echo esc_attr( $record->slug ); ?>"<?php echo in_filter( esc_attr( $record->slug ), $filters[ esc_attr( $selected_data_source_mapped ) ] ?? array() ) ? ' checked ' : ''; ?>
     19                            value="<?php echo esc_attr( $record->slug ); ?>"<?php echo \AtlasSearch\Blocks\WordPress\in_filter( esc_attr( $record->slug ), $filters[ esc_attr( $selected_data_source_mapped ) ] ?? array() ) ? ' checked ' : ''; ?>
    2120                            data-checkbox-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>"/>
    2221                    <?php echo esc_html( $record->name ); ?> (<?php echo esc_html( $record->count ); ?>)</label>
  • atlas-search/trunk/build/filter-facet/render-components/render-select.php

    r3247243 r3269054  
    1515                    data-wp-bind--value="context.value"
    1616                    data-wp-on--change="actions.setDropdownValue"
    17                     data-dropdown-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>">
    18                 <option value="">Please select...</option>
     17                    data-dropdown-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>"
     18            >
     19                <option value=""><?php esc_html_e( 'Please select...', 'your-text-domain' ); ?></option>
    1920                <?php foreach ( $source_data_records as $record ) : ?>
    2021                    <option <?php echo ( esc_attr( $record->slug === $selected_taxonomy ) ) ? 'selected' : ''; ?>
  • atlas-search/trunk/build/filter-facet/render.php

    r3247243 r3269054  
    1818    array(
    1919        'hasLabel'    => true,
    20         'align'       => '',
    21         'className'   => '',
    2220        'label'       => __( 'Dropdown', 'wpengine-smart-search' ),
    2321        'placeholder' => __( 'Dropdown...', 'wpengine-smart-search' ),
    2422    )
    2523);
     24
     25$selected_data_source = $attributes['selectedDataSource'] ?? 'category';
     26$selected_type        = $attributes['selectedType'] ?? 'select';
    2627
    2728// Wrapper attributes.
     
    3233            array_filter(
    3334                array(
    34                     'wpengine-smart-dropdown-facet',
    35                     $attributes['align'] ? 'align' . $attributes['align'] : '',
     35                    'wpengine-smart-' . ( ( 'select' == $selected_type ) ? 'dropdown' : 'checkbox' ) . '-facet',
    3636                )
    3737            )
     
    6161);
    6262
    63 $filters = array_map(
    64     function ( $value ) {
    65         if ( strpos( $value, ',' ) !== false ) {
    66             return explode( ',', $value );
    67         }
    68         return $value;
    69     },
    70     $query_params ?? array()
    71 );
    72 
    73 if ( ! function_exists( 'in_filter' ) ) {
    74     function in_filter( $checkbox_value, $filter ): bool {
    75         if ( is_array( $filter ) ) {
    76             return in_array( $checkbox_value, $filter );
    77         }
    78 
    79         return $checkbox_value === $filter;
    80     }
    81 }
     63$filters = \AtlasSearch\Blocks\WordPress\extract_filters( $query_params );
    8264
    8365require __DIR__ . "/render-components/render-{$selected_type}.php";
  • atlas-search/trunk/build/filter-facet/style-index-rtl.css

    r3247243 r3269054  
    1 .wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__fields{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__field{-webkit-appearance:none;appearance:none;border:1px solid #949494;border-radius:.33em;flex-grow:1;margin-right:0;margin-left:0;min-width:3rem;padding:8px;text-decoration:unset!important;width:100%}.wpengine-smart-checkbox-facet{pointer-events:none}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__fields{display:flex;flex-direction:column;gap:10px;max-width:100%}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field:first-child{margin-top:10px}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field{align-items:center;border-radius:4px;display:flex;transition:background-color .3s,border-color .3s}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field input[type=checkbox]{margin-left:10px}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field label{color:#333;font-size:var(--wp--preset--font-size--medium);margin:0;pointer-events:auto}
     1.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__fields{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__field{-webkit-appearance:none;appearance:none;border:var(--wp--custom--input-border-width,1px) solid var(--wp--custom--input-border-color,#949494);border-radius:var(--wp--custom--input-border-radius);flex-grow:var(--wp--custom--input-flex-grow,1);min-height:var(--wp--custom--input-min-height,2.5em);padding:var(--wp--custom--input--padding,8px);width:var(--wp--custom--input-width,100%)}.wpengine-smart-checkbox-facet{pointer-events:none}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__fields{display:flex;flex-direction:column;gap:var(--wp--custom--checkbox-gap,10px);max-width:100%}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field:first-child{margin-top:var(--wp--custom--checkbox-margin-top,10px)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field{align-items:center;border-radius:var(--wp--custom--checkbox-border-radius,4px);display:flex;transition:background-color var(--wp--custom--transition-duration,.3s),border-color var(--wp--custom--transition-duration,.3s)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field input[type=checkbox]{margin-left:var(--wp--custom--checkbox-margin-right,10px)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field label{font-size:var(--wp--preset--font-size--small);margin:0;pointer-events:auto}.wpengine-smart-search-checkbox-facet__label,.wpengine-smart-search-dropdown-facet__label{font-size:var(--wp--preset--font-size--small)}
  • atlas-search/trunk/build/filter-facet/style-index.css

    r3247243 r3269054  
    1 .wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__fields{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__field{-webkit-appearance:none;appearance:none;border:1px solid #949494;border-radius:.33em;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;width:100%}.wpengine-smart-checkbox-facet{pointer-events:none}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__fields{display:flex;flex-direction:column;gap:10px;max-width:100%}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field:first-child{margin-top:10px}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field{align-items:center;border-radius:4px;display:flex;transition:background-color .3s,border-color .3s}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field input[type=checkbox]{margin-right:10px}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field label{color:#333;font-size:var(--wp--preset--font-size--medium);margin:0;pointer-events:auto}
     1.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__fields{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wpengine-smart-dropdown-facet .wpengine-smart-dropdown-facet__field{-webkit-appearance:none;appearance:none;border:var(--wp--custom--input-border-width,1px) solid var(--wp--custom--input-border-color,#949494);border-radius:var(--wp--custom--input-border-radius);flex-grow:var(--wp--custom--input-flex-grow,1);min-height:var(--wp--custom--input-min-height,2.5em);padding:var(--wp--custom--input--padding,8px);width:var(--wp--custom--input-width,100%)}.wpengine-smart-checkbox-facet{pointer-events:none}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__fields{display:flex;flex-direction:column;gap:var(--wp--custom--checkbox-gap,10px);max-width:100%}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field:first-child{margin-top:var(--wp--custom--checkbox-margin-top,10px)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field{align-items:center;border-radius:var(--wp--custom--checkbox-border-radius,4px);display:flex;transition:background-color var(--wp--custom--transition-duration,.3s),border-color var(--wp--custom--transition-duration,.3s)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field input[type=checkbox]{margin-right:var(--wp--custom--checkbox-margin-right,10px)}.wpengine-smart-checkbox-facet .wpengine-smart-checkbox-facet__field label{font-size:var(--wp--preset--font-size--small);margin:0;pointer-events:auto}.wpengine-smart-search-checkbox-facet__label,.wpengine-smart-search-dropdown-facet__label{font-size:var(--wp--preset--font-size--small)}
  • atlas-search/trunk/build/support/woocommerce/callbacks.php

    r3261003 r3269054  
    44
    55use AtlasSearch\Blocks\WPE_Atlas_Search_Facets_Callbacks;
     6use const AtlasSearch\Blocks\WordPress\RANGE_SLIDER_PREFIX;
    67
    78/**
     
    2021    public function init() {
    2122        $this->loader->add_action( 'pre_get_posts', $this, 'filter_woo_attributes', 10, 1 );
     23        $this->loader->add_action( 'pre_get_posts', $this, 'filter_range_slider', 9999999, 1 );
    2224    }
    2325
     
    2628            return;
    2729        }
     30
    2831        if ( ! get_option( WPE_Atlas_Search_Facets_Callbacks::SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION, false ) ) {
    2932            return;
     
    3639                $attribute_name  = $attribute->attribute_name;
    3740                $attribute_slug  = 'pa_' . $attribute_name;
    38                 $attribute_value = filter_input( INPUT_GET, $attribute_slug, FILTER_SANITIZE_STRING );
     41                $attribute_value = filter_input( INPUT_GET, $attribute_slug, FILTER_SANITIZE_FULL_SPECIAL_CHARS );
    3942                if ( isset( $attribute_value ) && '' !== trim( $attribute_value ) ) {
    4043                    $attr_arr       = explode( ',', $attribute_value );
     
    5962    }
    6063
     64    public function filter_range_slider( $query ) {
     65        if ( ! $this->is_woo_enabled() ) {
     66            return;
     67        }
     68
     69        if ( ! get_option( WPE_Atlas_Search_Facets_Callbacks::SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION, false ) ) {
     70            return;
     71        }
     72
     73        if ( ! $query->is_main_query() || is_admin() || ! $query->is_search() ) {
     74            return;
     75        }
     76
     77        $filters = filter_input_array( INPUT_GET, FILTER_SANITIZE_FULL_SPECIAL_CHARS );
     78        if ( empty( $filters ) ) {
     79            return;
     80        }
     81
     82        $new_meta_query = array();
     83        foreach ( $filters as $filter => $filter_value ) {
     84            if ( ! empty( $filter ) && strpos( $filter, RANGE_SLIDER_PREFIX ) === 0 ) {
     85                $field_name = str_replace( RANGE_SLIDER_PREFIX, '', $filter );
     86                if ( isset( $filter_value ) && '' !== trim( $filter_value ) ) {
     87                    $value_arr = explode( ',', $filter_value );
     88                    $from      = (int) $value_arr[0];
     89                    $to        = ( isset( $value_arr[1] ) && '' !== $value_arr[1] ) ? $value_arr[1] : null;
     90                    if ( isset( $to ) && $to < $from ) {
     91                        $to = null;
     92                    }
     93                    $range_query    = array(
     94                        'relation' => 'AND',
     95                        array(
     96                            'key'     => $field_name,
     97                            'type'    => 'NUMERIC',
     98                            'value'   => isset( $to ) ? array( $from, $to ) : $from,
     99                            'compare' => isset( $to ) ? 'BETWEEN' : '>=',
     100                        ),
     101                    );
     102                    $new_meta_query = array_merge( $new_meta_query, $range_query );
     103                }
     104            }
     105        }
     106
     107        if ( ! empty( $new_meta_query ) ) {
     108            $meta_query = $query->get( 'meta_query' ) ?: array();
     109            if ( ! empty( $meta_query ) ) {
     110                $new_meta_query = array_merge( $new_meta_query, array( $meta_query ) );
     111            }
     112            $query->set( 'meta_query', $new_meta_query );
     113        }
     114    }
     115
    61116    public function is_woo_enabled(): bool {
    62117        return class_exists( 'WooCommerce' );
  • atlas-search/trunk/includes/class-wpe-content-engine.php

    r3261003 r3269054  
    2424use Wpe_Content_Engine\Helper\Constants\Security;
    2525use Wpe_Content_Engine\Settings_Interface;
     26use Wpe_Content_Engine\Helper\Logging\Debug_Logger;
    2627use function Wpe_Content_Engine\Helper\Notifications\handle_re_sync_notification;
    2728
     
    8889        $this->search_config = new Search_Config();
    8990        $this->register_blocks();
     91        $this->register_trackers();
    9092    }
    9193    public function register_blocks() {
    9294        $facets = new \AtlasSearch\Blocks\WPE_Atlas_Search_Facets_Callbacks( $this->loader );
    9395        $facets->init();
     96    }
     97
     98    public function register_trackers() {
     99        $logger   = new Debug_Logger();
     100        $trackers = new \AtlasSearch\Trackers\WPE_Atlas_Search_Tracker_Controller( $this->loader, $logger );
     101        $trackers->init();
    94102    }
    95103
     
    227235        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/blocks-callbacks.php';
    228236        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/recommendations-block/query-loop.php';
     237        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/recommendations-block/function.php';
    229238        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/wordpress/taxonomy.php';
     239        require_once plugin_dir_path( __DIR__ ) . 'src/blocks/wordpress/filter.php';
    230240        require_once plugin_dir_path( __DIR__ ) . 'src/support/woocommerce/filters.php';
    231241        require_once plugin_dir_path( __DIR__ ) . 'src/support/woocommerce/fields.php';
     
    233243        require_once plugin_dir_path( __DIR__ ) . 'src/support/fusion/filters.php';
    234244        require_once plugin_dir_path( __DIR__ ) . 'src/support/gravitysmtp/filters.php';
     245        require_once plugin_dir_path( __DIR__ ) . 'src/trackers/tracker-controller.php';
    235246    }
    236247
     
    362373        wp_localize_script( 'display-post-notice', 'ajax_var', array( 'nonce' => wp_create_nonce( 'ajax-nonce' ) ) );
    363374    }
     375
     376    public function enqueue_analytics_script() {
     377        wp_enqueue_script(
     378            'analytics',
     379            plugins_url( '../public/js/analytics.js', __FILE__ ),
     380            array(),
     381            $this->get_version(),
     382            true
     383        );
     384
     385        wp_localize_script(
     386            'analytics',
     387            'analytics',
     388            array(
     389                'nonce' => wp_create_nonce( 'wp_rest' ),
     390            )
     391        );
     392    }
     393
     394
     395
    364396    /**
    365397     * Register all  the hooks related to the public-facing functionality
     
    378410        $this->loader->add_filter( 'posts_pre_query', $search, 'get_ce_posts', 100, 2 );
    379411        $this->loader->add_filter( 'found_posts', $search, 'found_posts', 100, 2 );
     412        $this->loader->add_action( 'wp_enqueue_scripts', $this, 'enqueue_analytics_script' );
    380413    }
    381414
  • atlas-search/trunk/includes/smart-search-settings/build/asset-manifest.json

    r3266170 r3269054  
    22  "files": {
    33    "main.css": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/css/main.4b9ef208.css",
    4     "main.js": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.dc1c7a29.js",
     4    "main.js": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.3f2018bd.js",
    55    "static/media/wpengine-logo.svg": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/media/wpengine-logo.f4b93ff2e9c94a93817d81f14e73235a.svg",
    66    "static/media/search-icon.svg": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/media/search-icon.553693483eece21ac1f02866dbcf436b.svg",
     
    1818    "index.html": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/index.html",
    1919    "main.4b9ef208.css.map": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/css/main.4b9ef208.css.map",
    20     "main.dc1c7a29.js.map": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.dc1c7a29.js.map"
     20    "main.3f2018bd.js.map": "/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.3f2018bd.js.map"
    2121  },
    2222  "entrypoints": [
    2323    "static/css/main.4b9ef208.css",
    24     "static/js/main.dc1c7a29.js"
     24    "static/js/main.3f2018bd.js"
    2525  ]
    2626}
  • atlas-search/trunk/includes/smart-search-settings/build/index.html

    r3266170 r3269054  
    1 <head><script defer="defer" src="/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.dc1c7a29.js"></script><link href="/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/css/main.4b9ef208.css" rel="stylesheet"></head>
     1<head><script defer="defer" src="/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/js/main.3f2018bd.js"></script><link href="/wp-content/plugins/atlas-search/includes/smart-search-settings/build/static/css/main.4b9ef208.css" rel="stylesheet"></head>
  • atlas-search/trunk/src/blocks/__mocks__/@wordpress/components.js

    r3261003 r3269054  
    1414};
    1515
    16 export const TextControl = ({ value, onChange, ...props }) => (
    17   <input
    18     type="text"
    19     {...props}
    20     value={value}
    21     onChange={(e) => onChange(e.target.value)}
    22   />
    23 );
     16export const TextControl = ({ value, label, onChange, ...props }) => {
     17  const [inputValue, setInputValue] = React.useState(value);
     18
     19  const handleChange = (e) => {
     20    setInputValue(e.target.value);
     21    onChange(e.target.value);
     22  };
     23
     24  return (
     25    <label>
     26      {label}
     27      <input
     28        type="text"
     29        {...props}
     30        value={inputValue}
     31        onChange={handleChange}
     32      />
     33    </label>
     34  );
     35};
    2436
    2537TextControl.propTypes = {
     
    88100  onChange: PropTypes.func.isRequired,
    89101};
     102
     103export const Notice = ({ status, isDismissible, children }) => (
     104  <div className={`notice notice-${status}`}>
     105    {isDismissible && <button className="notice-dismiss">Dismiss</button>}
     106    {children}
     107  </div>
     108);
     109
     110Notice.propTypes = {
     111  status: PropTypes.string.isRequired,
     112  isDismissible: PropTypes.bool,
     113  children: PropTypes.node.isRequired,
     114};
  • atlas-search/trunk/src/blocks/blocks-callbacks.php

    r3261003 r3269054  
    44
    55use WP_HTML_Tag_Processor;
     6use const AtlasSearch\Blocks\WordPress\RANGE_SLIDER_PREFIX;
    67
    78/**
     
    1112 */
    1213class WPE_Atlas_Search_Facets_Callbacks {
    13 
    14 
    1514    private $loader;
    1615    public const SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION = 'smart_search_blocks_support_enabled';
     
    6059                'recommendations-block',
    6160            );
     61            // Since we only have price as source, makes sense only to add range block only if WooCommerce is active.
     62            if ( class_exists( 'WooCommerce' ) ) {
     63                $blocks[] = 'range-facet';
     64            }
    6265        }
    6366
  • atlas-search/trunk/src/blocks/filter-facet/components/Select.js

    r3247243 r3269054  
    44export default function Select({ terms }) {
    55  return (
    6     <select className="wpengine-smart-dropdown-facet__field">
    7       <option value="">Please select...</option>
     6    <select
     7      className="wpengine-smart-dropdown-facet__field"
     8      aria-label={__('Select a term', 'wpengine-smart-search')}
     9    >
     10      <option value="" disabled selected>
     11        {__('Please select...', 'wpengine-smart-search')}
     12      </option>
    813      {terms && terms.length > 0 ? (
    914        terms.map((term) => (
  • atlas-search/trunk/src/blocks/filter-facet/edit.js

    r3261003 r3269054  
    1212import { useEffect, useState } from '@wordpress/element';
    1313import { __ } from '@wordpress/i18n';
    14 import { SelectControl } from '@wordpress/components';
     14import { SelectControl, PanelBody } from '@wordpress/components';
    1515import PropTypes from 'prop-types';
     16import axios from 'axios';
     17
     18/**
     19 * React hook that is used to mark the block wrapper element.
     20 * It provides all the necessary props like the class name.
     21 *
     22 * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops
     23 */
     24
     25/**
     26 * Internal dependencies
     27 */
    1628import Select from './components/Select';
    1729import Checkbox from './components/Checkbox';
    18 import axios from 'axios';
    19 
    20 /**
    21  * React hook that is used to mark the block wrapper element.
    22  * It provides all the necessary props like the class name.
    23  *
    24  * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops
    25  */
    26 
    27 /**
    28  * Internal dependencies
    29  */
    3030import clsx from '../utils/clsx';
    31 import { PanelBody } from '@wordpress/components';
    3231
    3332/**
  • atlas-search/trunk/src/blocks/filter-facet/render-components/render-checkbox.php

    r3247243 r3269054  
    11<div
    22        data-wp-interactive='wpengine-smart-search-facets__store'
    3         class="wpengine-smart-checkbox-facet"
    43    <?php echo wp_kses_data( $wrapper_attributes ); ?>
    54    <?php echo wp_kses_data( $context ); ?>
     
    1817                            data-wp-bind--checked-args="<?php echo esc_attr( $record->slug ); ?>"
    1918                            data-wp-on--change="actions.setCheckboxValue"
    20                             value="<?php echo esc_attr( $record->slug ); ?>"<?php echo in_filter( esc_attr( $record->slug ), $filters[ esc_attr( $selected_data_source_mapped ) ] ?? array() ) ? ' checked ' : ''; ?>
     19                            value="<?php echo esc_attr( $record->slug ); ?>"<?php echo \AtlasSearch\Blocks\WordPress\in_filter( esc_attr( $record->slug ), $filters[ esc_attr( $selected_data_source_mapped ) ] ?? array() ) ? ' checked ' : ''; ?>
    2120                            data-checkbox-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>"/>
    2221                    <?php echo esc_html( $record->name ); ?> (<?php echo esc_html( $record->count ); ?>)</label>
  • atlas-search/trunk/src/blocks/filter-facet/render-components/render-select.php

    r3247243 r3269054  
    1515                    data-wp-bind--value="context.value"
    1616                    data-wp-on--change="actions.setDropdownValue"
    17                     data-dropdown-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>">
    18                 <option value="">Please select...</option>
     17                    data-dropdown-name="<?php echo esc_attr( $selected_data_source_mapped ); ?>"
     18            >
     19                <option value=""><?php esc_html_e( 'Please select...', 'your-text-domain' ); ?></option>
    1920                <?php foreach ( $source_data_records as $record ) : ?>
    2021                    <option <?php echo ( esc_attr( $record->slug === $selected_taxonomy ) ) ? 'selected' : ''; ?>
  • atlas-search/trunk/src/blocks/filter-facet/render.php

    r3247243 r3269054  
    1818    array(
    1919        'hasLabel'    => true,
    20         'align'       => '',
    21         'className'   => '',
    2220        'label'       => __( 'Dropdown', 'wpengine-smart-search' ),
    2321        'placeholder' => __( 'Dropdown...', 'wpengine-smart-search' ),
    2422    )
    2523);
     24
     25$selected_data_source = $attributes['selectedDataSource'] ?? 'category';
     26$selected_type        = $attributes['selectedType'] ?? 'select';
    2627
    2728// Wrapper attributes.
     
    3233            array_filter(
    3334                array(
    34                     'wpengine-smart-dropdown-facet',
    35                     $attributes['align'] ? 'align' . $attributes['align'] : '',
     35                    'wpengine-smart-' . ( ( 'select' == $selected_type ) ? 'dropdown' : 'checkbox' ) . '-facet',
    3636                )
    3737            )
     
    6161);
    6262
    63 $filters = array_map(
    64     function ( $value ) {
    65         if ( strpos( $value, ',' ) !== false ) {
    66             return explode( ',', $value );
    67         }
    68         return $value;
    69     },
    70     $query_params ?? array()
    71 );
    72 
    73 if ( ! function_exists( 'in_filter' ) ) {
    74     function in_filter( $checkbox_value, $filter ): bool {
    75         if ( is_array( $filter ) ) {
    76             return in_array( $checkbox_value, $filter );
    77         }
    78 
    79         return $checkbox_value === $filter;
    80     }
    81 }
     63$filters = \AtlasSearch\Blocks\WordPress\extract_filters( $query_params );
    8264
    8365require __DIR__ . "/render-components/render-{$selected_type}.php";
  • atlas-search/trunk/src/blocks/filter-facet/style.scss

    r3247243 r3269054  
    1010        max-width: 100%;   
    1111    }
    12     .wpengine-smart-dropdown-facet__field {
    13         width: 100%;
    14         appearance: none;
    15         border: 1px solid #949494;
    16         flex-grow: 1;
    17         margin-left: 0;
    18         margin-right: 0;
    19         min-width: 3rem;
    20         padding: 8px;
    21         text-decoration: unset !important;
    22         border-radius: 0.33em;
     12    .wpengine-smart-dropdown-facet__field{
     13            width: var(--wp--custom--input-width, 100%);
     14            appearance: none;
     15            border: var(--wp--custom--input-border-width, 1px) solid var(--wp--custom--input-border-color, #949494);
     16            flex-grow: var(--wp--custom--input-flex-grow, 1);
     17            padding: var(--wp--custom--input--padding, 8px);
     18            border-radius: var(--wp--custom--input-border-radius);
     19            min-height: var(--wp--custom--input-min-height, 2.5em);
    2320    }
    2421}
     
    2926        display: flex;
    3027        flex-direction: column;
    31         gap: 10px;
     28        gap: var(--wp--custom--checkbox-gap, 10px);
    3229        max-width: 100%;
    3330    }
    3431    .wpengine-smart-checkbox-facet__field:first-child {
    35         margin-top: 10px;
     32        margin-top: var(--wp--custom--checkbox-margin-top, 10px);
    3633    }
    3734    .wpengine-smart-checkbox-facet__field {
    3835        display: flex;
    3936        align-items: center;
    40         border-radius: 4px;
    41         transition: background-color 0.3s, border-color 0.3s;
     37        border-radius: var(--wp--custom--checkbox-border-radius, 4px);
     38        transition: background-color var(--wp--custom--transition-duration, 0.3s), border-color var(--wp--custom--transition-duration, 0.3s);
    4239
    4340        input[type="checkbox"] {
    44             margin-right: 10px;
     41            margin-right: var(--wp--custom--checkbox-margin-right, 10px);
    4542        }
    4643
    4744        label {
    4845            margin: 0;
    49             font-size: var(--wp--preset--font-size--medium);
    50             color: #333;
     46            font-size: var(--wp--preset--font-size--small);
    5147            pointer-events: auto;
    5248        }
    5349    }
    5450}
     51
     52.wpengine-smart-search-checkbox-facet__label,
     53.wpengine-smart-search-dropdown-facet__label {
     54    font-size: var(--wp--preset--font-size--small);
     55}
  • atlas-search/trunk/src/blocks/support/woocommerce/callbacks.php

    r3261003 r3269054  
    44
    55use AtlasSearch\Blocks\WPE_Atlas_Search_Facets_Callbacks;
     6use const AtlasSearch\Blocks\WordPress\RANGE_SLIDER_PREFIX;
    67
    78/**
     
    2021    public function init() {
    2122        $this->loader->add_action( 'pre_get_posts', $this, 'filter_woo_attributes', 10, 1 );
     23        $this->loader->add_action( 'pre_get_posts', $this, 'filter_range_slider', 9999999, 1 );
    2224    }
    2325
     
    2628            return;
    2729        }
     30
    2831        if ( ! get_option( WPE_Atlas_Search_Facets_Callbacks::SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION, false ) ) {
    2932            return;
     
    3639                $attribute_name  = $attribute->attribute_name;
    3740                $attribute_slug  = 'pa_' . $attribute_name;
    38                 $attribute_value = filter_input( INPUT_GET, $attribute_slug, FILTER_SANITIZE_STRING );
     41                $attribute_value = filter_input( INPUT_GET, $attribute_slug, FILTER_SANITIZE_FULL_SPECIAL_CHARS );
    3942                if ( isset( $attribute_value ) && '' !== trim( $attribute_value ) ) {
    4043                    $attr_arr       = explode( ',', $attribute_value );
     
    5962    }
    6063
     64    public function filter_range_slider( $query ) {
     65        if ( ! $this->is_woo_enabled() ) {
     66            return;
     67        }
     68
     69        if ( ! get_option( WPE_Atlas_Search_Facets_Callbacks::SMART_SEARCH_BLOCKS_SUPPORT_ENABLED_OPTION, false ) ) {
     70            return;
     71        }
     72
     73        if ( ! $query->is_main_query() || is_admin() || ! $query->is_search() ) {
     74            return;
     75        }
     76
     77        $filters = filter_input_array( INPUT_GET, FILTER_SANITIZE_FULL_SPECIAL_CHARS );
     78        if ( empty( $filters ) ) {
     79            return;
     80        }
     81
     82        $new_meta_query = array();
     83        foreach ( $filters as $filter => $filter_value ) {
     84            if ( ! empty( $filter ) && strpos( $filter, RANGE_SLIDER_PREFIX ) === 0 ) {
     85                $field_name = str_replace( RANGE_SLIDER_PREFIX, '', $filter );
     86                if ( isset( $filter_value ) && '' !== trim( $filter_value ) ) {
     87                    $value_arr = explode( ',', $filter_value );
     88                    $from      = (int) $value_arr[0];
     89                    $to        = ( isset( $value_arr[1] ) && '' !== $value_arr[1] ) ? $value_arr[1] : null;
     90                    if ( isset( $to ) && $to < $from ) {
     91                        $to = null;
     92                    }
     93                    $range_query    = array(
     94                        'relation' => 'AND',
     95                        array(
     96                            'key'     => $field_name,
     97                            'type'    => 'NUMERIC',
     98                            'value'   => isset( $to ) ? array( $from, $to ) : $from,
     99                            'compare' => isset( $to ) ? 'BETWEEN' : '>=',
     100                        ),
     101                    );
     102                    $new_meta_query = array_merge( $new_meta_query, $range_query );
     103                }
     104            }
     105        }
     106
     107        if ( ! empty( $new_meta_query ) ) {
     108            $meta_query = $query->get( 'meta_query' ) ?: array();
     109            if ( ! empty( $meta_query ) ) {
     110                $new_meta_query = array_merge( $new_meta_query, array( $meta_query ) );
     111            }
     112            $query->set( 'meta_query', $new_meta_query );
     113        }
     114    }
     115
    61116    public function is_woo_enabled(): bool {
    62117        return class_exists( 'WooCommerce' );
Note: See TracChangeset for help on using the changeset viewer.