/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/@elastic/search-ui@1.24.2/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var Ce=Object.create;var F=Object.defineProperty,ke=Object.defineProperties,Pe=Object.getOwnPropertyDescriptor,xe=Object.getOwnPropertyDescriptors,Ue=Object.getOwnPropertyNames,C=Object.getOwnPropertySymbols,Qe=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable;var le=(e,t,r)=>t in e?F(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,a=(e,t)=>{for(var r in t||(t={}))_.call(t,r)&&le(e,r,t[r]);if(C)for(var r of C(t))ce.call(t,r)&&le(e,r,t[r]);return e},S=(e,t)=>ke(e,xe(t));var k=(e,t)=>{var r={};for(var s in e)_.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&C)for(var s of C(e))t.indexOf(s)<0&&ce.call(e,s)&&(r[s]=e[s]);return r};var w=(e,t)=>{for(var r in t)F(e,r,{get:t[r],enumerable:!0})},he=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ue(t))!_.call(e,o)&&o!==r&&F(e,o,{get:()=>t[o],enumerable:!(s=Pe(t,o))||s.enumerable});return e};var pe=(e,t,r)=>(r=e!=null?Ce(Qe(e)):{},he(t||!e||!e.__esModule?F(r,"default",{value:e,enumerable:!0}):r,e)),Ie=e=>he(F({},"__esModule",{value:!0}),e);var Xe={};w(Xe,{DEFAULT_STATE:()=>I,INVALID_CREDENTIALS:()=>ue,SearchDriver:()=>Ae,helpers:()=>Je});module.exports=Ie(Xe);var M={};w(M,{doFilterValuesMatch:()=>v,findFilterValues:()=>fe,getFilterBooleanValue:()=>H,isFilterValueRange:()=>ge,markSelectedFacetValuesFromFilters:()=>De,mergeFilters:()=>E,removeSingleFilterValue:()=>O,serialiseFilter:()=>y});var de=pe(require("deep-equal"));function fe(e,t,r){let s=e.find(o=>o.field===t&&o.type===r);return s?s.values:[]}function O(e,t,r,s){return e.reduce((o,i)=>{let l=i,{field:n,values:u,type:c}=l,h=k(l,["field","values","type"]);if(n===t&&(!s||c===s)){let p=u.filter(f=>!v(f,r));return p.length>0?o.concat(a({field:n,values:p,type:c},h)):o}return o.concat(i)},[])}function De(e,t,r,s){let o=e.data,i=fe(t,r,s)||[];return S(a({},e),{data:o.map(n=>S(a({},n),{selected:i.some(u=>v(u,n.value))}))})}function v(e,t){return e==="true"||t==="true"?H(e)===H(t):e&&e.name&&t&&t.name&&e.name===t.name?!0:(0,de.default)(e,t,{strict:!0})}function E(e,t){return t?t.reduce((r,s)=>r.find(o=>o.type===s.type&&o.field===s.field)?r:[...r,s],e):e}function ge(e){return typeof e=="object"&&e.name!==void 0}var y=e=>e.reduce((t,r)=>(ge(r)?t.push(r.name):t.push(r.toString()),t),[]).join(","),H=e=>typeof e=="string"?e==="true":!!e;var x=require("history");var V=pe(require("qs"));function Le(e){return e!=null&&typeof e=="number"}function _e(e){return e&&typeof e=="boolean"}function we(e){if(e==="true")return!0;if(e==="false")return!1;throw"Invalid type parsed as Boolean value"}var N={encode(e,t){return Le(e)?`n_${e}_n`:_e(e)?`b_${e}_b`:t(e)},decode(e,t){if(/n_-?[\d\.]*_n/.test(e)){let r=e.substring(2,e.length-2);return Number(r)}if(/^b_(true|false)*_b$/.test(e)){let r=e.substring(2,e.length-2);return we(r)}return t(e)}};var $={parse(e){return V.default.parse(e,{ignoreQueryPrefix:!0,decoder:N.decode,arrayLimit:1e3})},stringify(e){return V.default.stringify(e,{encoder:N.encode})}};function He(e){return!isNaN(e)}function P(e){return Array.isArray(e)?e[e.length-1]:e}function Se(e){return Oe(P(e))}function Oe(e){if(He(e))return parseInt(e,10)}function Ee(e){return e.filters}function Me(e){return Se(e.current)}function Ne(e){return P(e.q)}function me(e){let t=P(e["sort-field"]),r=P(e["sort-direction"]);return t?[t,r]:[]}function Ve(e){return Se(e.size)}function $e(e){return e.sort}function Be(e){let t={current:Me(e),filters:Ee(e),searchTerm:Ne(e),resultsPerPage:Ve(e),sortField:me(e)[0],sortDirection:me(e)[1],sortList:$e(e)};return Object.keys(t).reduce((r,s)=>{let o=t[s];return o&&(r[s]=o),r},{})}function je({searchTerm:e,current:t,filters:r,resultsPerPage:s,sortDirection:o,sortField:i,sortList:n}){let u={};return t>1&&(u.current=t),e&&(u.q=e),s&&(u.size=s),r&&r.length>0&&(u.filters=r),n&&n.length>0?u.sort=n:i&&(u["sort-field"]=i,u["sort-direction"]=o),u}function We(e){return $.stringify(je(e))}var A=class{constructor(t={}){this.routingOptions={readUrl:t.readUrl||this.readUrl.bind(this),writeUrl:t.writeUrl||this.writeUrl.bind(this),urlToState:t.urlToState||this.urlToState.bind(this),stateToUrl:t.stateToUrl||this.stateToUrl.bind(this),routeChangeHandler:t.routeChangeHandler||this.routeChangeHandler.bind(this)},this.history=typeof window!="undefined"?(0,x.createBrowserHistory)():(0,x.createMemoryHistory)(),this.lastPushSearchString=""}readUrl(){return this.history?this.history.location.search:""}writeUrl(t,{replaceUrl:r=!1}={}){(r?this.history.replace:this.history.push)(`?${t}`)}urlToState(t){return Be($.parse(t))}stateToUrl(t){return`${We(t)}`}getStateFromURL(){return this.routingOptions.urlToState(this.routingOptions.readUrl())}pushStateToURL(t,{replaceUrl:r=!1}={}){let s=this.routingOptions.stateToUrl(t);this.lastPushSearchString=s,this.routingOptions.writeUrl(s,{replaceUrl:r})}onURLStateChange(t){let r=s=>{`?${this.lastPushSearchString}`!==s&&(this.lastPushSearchString="",t(this.routingOptions.urlToState(s)))};this.unlisten=this.routingOptions.routeChangeHandler(r.bind(this))}routeChangeHandler(t){let r=s=>{t(s.search)};return this.history.listen(r)}tearDown(){this.unlisten()}};var b=class{constructor(){this.requestSequence=0;this.lastCompleted=0}next(){return++this.requestSequence}isOldRequest(t){return t<this.lastCompleted}completed(t){this.lastCompleted=t}tearDown(){this.lastCompleted=this.requestSequence+1}};function ye(e,t){let r,s=function(){let o=arguments,i=()=>{e.apply(null,o)};clearTimeout(r),r=setTimeout(i,t)};return s.cancel=()=>{r&&(clearTimeout(r),r=null)},s}var U=class{constructor(){this.debounceCache={}}runWithDebounce(t,r,s,...o){if(!t)return s(...o);let i=`${r}|${t.toString()}`,n=this.debounceCache[i];n||(this.debounceCache[i]=ye(s,t),n=this.debounceCache[i]),n(...o)}cancelByName(t){Object.entries(this.debounceCache).filter(([r])=>r.startsWith(`${t}|`)).forEach(([r,s])=>s.cancel())}};U.debounce=(t,r)=>ye(r,t);var B=U;var ie={};w(ie,{a11yNotify:()=>se,addFilter:()=>j,clearFilters:()=>z,removeFilter:()=>Y,reset:()=>G,setCurrent:()=>J,setFilter:()=>X,setResultsPerPage:()=>Z,setSearchTerm:()=>K,setSort:()=>ee,trackAutocompleteClickThrough:()=>W,trackAutocompleteSuggestionClickThrough:()=>oe,trackClickThrough:()=>te});function j(e,t,r="all",s){this.debug&&console.log("Search UI: Action","addFilter",...arguments);let{filters:o}=this.state,i=o.find(l=>l.field===e&&l.type===r)||null,n=o.filter(l=>l.field!==e||l.type!==r)||[],u=(i==null?void 0:i.values)||[],c=u.find(l=>v(l,t))?u:u.concat(t);this._updateSearchResults({current:1,filters:[...n,{field:e,values:c,type:r,persistent:s}]}),this.events.emit({type:"FacetFilterSelected",field:e,value:y(c),query:this.state.searchTerm})}function W(e,t=[]){this.debug&&console.log("Search UI: Action","trackAutocompleteClickThrough",...arguments);let{autocompletedResultsRequestId:r,searchTerm:s,autocompletedResults:o,current:i,resultsPerPage:n,totalResults:u,filters:c}=this.state,h=o.findIndex(f=>f._meta.id===e),l=o[h],p=this.events;p.autocompleteResultClick({query:s,documentId:e,requestId:r,tags:t,result:l,resultIndex:h}),p.emit({type:"ResultSelected",documentId:e,query:s,position:h,origin:"autocomplete",tags:t,totalResults:u,filters:c,currentPage:i,resultsPerPage:n})}function z(e=[]){this.debug&&console.log("Search UI: Action","clearFilters",...arguments);let{filters:t}=this.state,r=t.filter(s=>{let o=s.field;return e.includes(o)});this._updateSearchResults({current:1,filters:r})}function Y(e,t,r){this.debug&&console.log("Search UI: Action","removeFilter",...arguments);let{filters:s}=this.state,o=s;!t&&r?o=s.filter(n=>!(n.field===e&&n.type===r)):t?o=O(s,e,t,r):o=s.filter(n=>n.field!==e),this._updateSearchResults({current:1,filters:o}),this.events.emit({type:"FacetFilterRemoved",field:e,value:t&&y([t]),query:this.state.searchTerm})}function G(){this.debug&&console.log("Search UI: Action","reset",...arguments),this._setState(this.startingState),this.trackUrlState&&this.URLManager.pushStateToURL(this.state)}function J(e){this.debug&&console.log("Search UI: Action","setCurrent",...arguments),this._updateSearchResults({current:e})}function X(e,t,r="all",s){this.debug&&console.log("Search UI: Action","setFilter",...arguments);let{filters:o}=this.state;o=o.filter(u=>u.field!==e||u.type!==r);let i=Array.isArray(t)?t:[t];this._updateSearchResults({current:1,filters:[...o,{field:e,values:i,type:r,persistent:s}]}),this.events.emit({type:"FacetFilterSelected",field:e,value:t&&y(i),query:this.state.searchTerm})}function Z(e){this.debug&&console.log("Search UI: Action","setResultsPerPage",...arguments),this._updateSearchResults({current:1,resultsPerPage:e})}function K(e,{autocompleteMinimumCharacters:t=0,autocompleteResults:r=!1,autocompleteSuggestions:s=!1,shouldClearFilters:o=!0,refresh:i=!0,debounce:n=0}={}){if(this.debug&&console.log("Search UI: Action","setSearchTerm",...arguments),this._setState({searchTerm:e}),i){let u=o?this.state.filters.filter(c=>c.persistent):this.state.filters;this.debounceManager.runWithDebounce(n,"_updateSearchResults",this._updateSearchResults,{current:1,filters:u})}(r||s)&&e.length>=t&&this.debounceManager.runWithDebounce(n,"_updateAutocomplete",this._updateAutocomplete,e,{autocompleteResults:r,autocompleteSuggestions:s})}function ee(e,t){this.debug&&console.log("Search UI: Action","setSort",...arguments);let r={current:1,sortList:null,sortField:null,sortDirection:null};Array.isArray(e)?r.sortList=e:(r.sortField=e,r.sortDirection=t),this._updateSearchResults(r)}function te(e,t=[]){this.debug&&console.log("Search UI: Action","trackClickThrough",...arguments);let{requestId:r,searchTerm:s,results:o,current:i,resultsPerPage:n,totalResults:u,filters:c}=this.state,h=o.findIndex(f=>f._meta.id===e),l=o[h],p=this.events;this.events.resultClick({query:s,documentId:e,requestId:r,tags:t,result:l,page:i,resultsPerPage:n,resultIndexOnPage:h}),p.emit({type:"ResultSelected",documentId:e,query:s,origin:"results",position:h,tags:t,totalResults:u,filters:c,currentPage:i,resultsPerPage:n})}var Re="search-ui-screen-reader-notifications",ze=typeof document!="undefined",re=()=>{if(!ze)return null;let e=document.getElementById(Re);return e||(e=document.createElement("div"),e.id=Re,e.setAttribute("role","status"),e.setAttribute("aria-live","polite"),e.style.position="absolute",e.style.width="1px",e.style.height="1px",e.style.margin="-1px",e.style.padding="0",e.style.border="0",e.style.overflow="hidden",e.style.clip="rect(0 0 0 0)",document.body.appendChild(e),e)},be=e=>{let t=re();t&&(t.textContent=e)},qe={searchResults:({start:e,end:t,totalResults:r,searchTerm:s})=>{let o=`Showing ${e} to ${t} results out of ${r}`;return s&&(o+=`, searching for "${s}".`),o}};function se(e,t){if(!this.hasA11yNotifications)return;let r=this.a11yNotificationMessages[e];if(!r){let o=`Could not find corresponding message function in a11yNotificationMessages: "${e}"`;console.warn("Action","a11yNotify",o);return}let s=r(t);be(s),this.debug&&console.log("Search UI: Action","a11yNotify",{messageFunc:e,messageArgs:t,message:s})}function oe(e,t,r=[]){this.debug&&console.log("Search UI: Action","trackAutocompleteSuggestionClickThrough",...arguments);let{searchTerm:s}=this.state;this.events.emit({type:"AutocompleteSuggestionSelected",position:t,query:s,tags:r,suggestion:e})}function Q(e,t,r){if(r){if(t){let s=t[e].bind(t);return(...o)=>r(...o,s)}return r}return t&&t[e]?t[e].bind(t):()=>{throw`No ${e} handler provided and no Connector provided. You must configure one or the other.`}}var ne=class{constructor({apiConnector:t,onSearch:r,onAutocomplete:s,onResultClick:o,onAutocompleteResultClick:i,plugins:n=[]}={}){this.search=Q("onSearch",t,r),this.autocomplete=Q("onAutocomplete",t,s),this.resultClick=Q("onResultClick",t,o),this.autocompleteResultClick=Q("onAutocompleteResultClick",t,i),this.plugins=n}emit(t){this.plugins.forEach(r=>{r.subscribe(t)})}},Fe=ne;function ve({current:e,filters:t,resultsPerPage:r,searchTerm:s,sortDirection:o,sortField:i,sortList:n}){return{current:e,filters:t,resultsPerPage:r,searchTerm:s,sortDirection:o,sortField:i,sortList:n}}var I={current:1,filters:[],resultsPerPage:20,searchTerm:"",sortDirection:"",sortField:"",sortList:[],autocompletedResults:[],autocompletedResultsRequestId:"",autocompletedSuggestions:{},autocompletedSuggestionsRequestId:"",error:"",isLoading:!1,facets:{},requestId:"",results:[],resultSearchTerm:"",totalPages:0,totalResults:0,pagingStart:0,pagingEnd:0,wasSearched:!1,rawResponse:{}};function Ge(e={},t={},r=[]){return Object.entries(e).reduce((s,[o,i])=>(t[o]&&typeof t[o]=="function"&&!t[o]({filters:r})||(s[o]=i),s),{})}var ae=class{constructor({apiConnector:t,autocompleteQuery:r={},plugins:s=[],debug:o,initialState:i,onSearch:n,onAutocomplete:u,onResultClick:c,onAutocompleteResultClick:h,searchQuery:l={},trackUrlState:p=!0,routingOptions:f={},urlPushDebounceLength:D=500,hasA11yNotifications:q=!1,a11yNotificationMessages:T={},alwaysSearchOnInitialLoad:m=!1}){this.state=I;this._updateAutocomplete=(t,{autocompleteResults:r,autocompleteSuggestions:s}={})=>{let o=this.autocompleteRequestSequencer.next(),i=a(a({},r&&{results:this.autocompleteQuery.results||{}}),s&&{suggestions:this.autocompleteQuery.suggestions||{}});return this.events.autocomplete({searchTerm:t},i).then(n=>{this.autocompleteRequestSequencer.isOldRequest(o)||(this.autocompleteRequestSequencer.completed(o),this._setState(n))})};this._updateSearchResults=(t,{skipPushToUrl:r=!1,replaceUrl:s=!1}={})=>{let{current:o,filters:i,resultsPerPage:n,searchTerm:u,sortDirection:c,sortField:h,sortList:l}=a(a({},this.state),t);this.debounceManager.cancelByName("_updateSearchResults"),this._setState({current:o,error:"",filters:i,resultsPerPage:n,searchTerm:u,sortDirection:c,sortField:h,sortList:l}),this._makeSearchRequest({skipPushToUrl:r,replaceUrl:s})};this._makeSearchRequest=B.debounce(0,({skipPushToUrl:t,replaceUrl:r})=>{let{current:s,filters:o,resultsPerPage:i,searchTerm:n,sortDirection:u,sortField:c,sortList:h}=this.state;this._setState({isLoading:!0});let l=this.searchRequestSequencer.next(),T=this.searchQuery,{conditionalFacets:p}=T,f=k(T,["conditionalFacets"]),D=S(a({},f),{facets:Ge(this.searchQuery.facets,p,o)}),q=S(a({},ve(this.state)),{filters:E(o,this.searchQuery.filters)});return this.events.search(q,D).then(m=>{if(this.searchRequestSequencer.isOldRequest(l))return;this.searchRequestSequencer.completed(l);let{totalResults:d}=m;this.events.emit({type:"SearchQuery",filters:this.state.filters,query:this.state.searchTerm,currentPage:q.current,resultsPerPage:q.resultsPerPage,totalResults:d});let g=d===0?0:(s-1)*i+1,R=d<g+i?d:g+i-1;if(this._setState(S(a({isLoading:!1,resultSearchTerm:n,pagingStart:g,pagingEnd:R},m),{wasSearched:!0})),this.hasA11yNotifications){let L={start:g,end:R,totalResults:d,searchTerm:n};this.actions.a11yNotify("searchResults",L)}!t&&this.trackUrlState&&this.debounceManager.runWithDebounce(this.urlPushDebounceLength,"pushStateToURL",this.URLManager.pushStateToURL.bind(this.URLManager),{current:s,filters:o,resultsPerPage:i,searchTerm:n,sortDirection:u,sortField:c,sortList:h},{replaceUrl:r})},m=>{var d;if(this.debug&&console.error(m),m.message===ue){this._setState(a({},((d=this.apiConnector)==null?void 0:d.state)&&a({},this.apiConnector.state)));return}this._setState({error:`An unexpected error occurred: ${m.message}`})})});this.actions=Object.entries(ie).reduce((R,[L,Te])=>S(a({},R),{[L]:Te.bind(this)}),{}),this.actions=a(a({},this.actions),(t==null?void 0:t.actions)&&a({},t.actions)),Object.assign(this,this.actions),this.events=new Fe({apiConnector:t,onSearch:n,onAutocomplete:u,onResultClick:c,onAutocompleteResultClick:h,plugins:s}),this.debug=o,this.debug&&(console.warn("Search UI Debugging is enabled. This should be turned off in production deployments."),typeof window!="undefined"&&(window.searchUI=this)),this.autocompleteRequestSequencer=new b,this.searchRequestSequencer=new b,this.debounceManager=new B,this.autocompleteQuery=r,this.searchQuery=l,this.subscriptions=[],this.trackUrlState=p,this.urlPushDebounceLength=D,this.alwaysSearchOnInitialLoad=m,this.apiConnector=t;let d;p?(this.URLManager=new A(f),d=this.URLManager.getStateFromURL(),this.URLManager.onURLStateChange(R=>{this._updateSearchResults(a(a({},I),R),{skipPushToUrl:!0})})):d={},this.hasA11yNotifications=q,this.hasA11yNotifications&&re(),this.a11yNotificationMessages=a(a({},qe),T),this.startingState=a(a({},this.state),i);let g=ve(a(a({},this.startingState),d));this.state=a(a(a({},this.state),(t==null?void 0:t.state)&&a({},t.state)),g),(g.searchTerm||g.filters.length>0||this.alwaysSearchOnInitialLoad)&&this._updateSearchResults(g,{replaceUrl:!0})}_setState(t){let r=a(a({},this.state),t);this.debug&&console.log("Search UI: State Update",t,r),this.state=r,this.subscriptions.forEach(s=>s(r))}setSearchQuery(t){this.searchQuery=t,this._updateSearchResults({})}setAutocompleteQuery(t){this.autocompleteQuery=t}subscribeToStateChanges(t){this.subscriptions.push(t)}unsubscribeToStateChanges(t){this.subscriptions=this.subscriptions.filter(r=>r!==t)}tearDown(){this.subscriptions=[],this.URLManager&&this.URLManager.tearDown(),this.debounceManager.cancelByName("pushStateToURL"),this.searchRequestSequencer.tearDown()}getActions(){return this.actions}getState(){return a({},this.state)}},Ae=ae;var ue="Invalid credentials";var Je=a({},M);0&&(module.exports={DEFAULT_STATE,INVALID_CREDENTIALS,SearchDriver,helpers});
