{"version":3,"file":"./Features/Blocks/TopNavBlock/SearchBar.js","mappings":"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","sources":["webpack://SanDiegoHealth.Web/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://SanDiegoHealth.Web/webpack/bootstrap","webpack://SanDiegoHealth.Web/webpack/runtime/compat get default export","webpack://SanDiegoHealth.Web/webpack/runtime/define property getters","webpack://SanDiegoHealth.Web/webpack/runtime/hasOwnProperty shorthand","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/AnswersCore.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/response/DirectAnswerType.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/response/Source.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/ResultsFactory.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/common/Matcher.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/createDirectAnswer.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/core/createFilter.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/createLocationBias.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/createSpellCheck.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/createAppliedQueryFilter.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/createVerticalResults.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/createVerticalSearchResponse.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/createFacets.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/constants.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/request/QuerySource.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/createFailedVertical.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/serializers/serializeStaticFilters.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/common/NumberRangeValue.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/serializers/serializeFacets.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/utils/getClientSdk.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/infra/SearchServiceImpl.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/searchservice/createUniversalSearchResponse.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/infra/QuestionSubmissionServiceImpl.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/utils/urlutils.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/infra/HttpServiceImpl.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/answersapi/AnswersError.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/autocompleteservice/createAutocompleteResult.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/transformers/autocompleteservice/createAutocompleteResponse.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/infra/AutocompleteServiceImpl.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/request/CombinedFilter.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/request/QueryTrigger.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/request/SortType.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/request/Direction.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/response/AppliedQueryFilterType.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/response/LocationBias.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/response/SearchIntent.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/response/SpellCheck.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/models/searchservice/response/ErrorType.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/serializers/serializeFilterSearch.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/validation/ApiResponseValidator.js","webpack://SanDiegoHealth.Web/./node_modules/@yext/answers-core/dist/esm/src/provideCore.js","webpack://SanDiegoHealth.Web/./node_modules/selector-set/selector-set.next.js","webpack://SanDiegoHealth.Web/./node_modules/selector-observer/dist/index.esm.js","webpack://SanDiegoHealth.Web/./Features/Blocks/TopNavBlock/SearchBar.js"],"sourcesContent":["var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * Provides methods for executing searches, submitting questions, and performing autocompletes.\n *\n * @public\n */\nvar AnswersCore = /** @class */ (function () {\n function AnswersCore(searchService, questionSubmissionService, autoCompleteService) {\n this.searchService = searchService;\n this.questionSubmissionService = questionSubmissionService;\n this.autoCompleteService = autoCompleteService;\n }\n /**\n * Performs an Answers search across all verticals.\n *\n * @remarks\n * If rejected, the reason will be an {@link AnswersError}.\n *\n * @param request - Universal search request options\n */\n AnswersCore.prototype.universalSearch = function (request) {\n return this.searchService.universalSearch(request);\n };\n /**\n * Performs an Answers search for a single vertical.\n *\n * @remarks\n * If rejected, the reason will be an {@link AnswersError}.\n *\n * @param request - Vertical search request options\n */\n AnswersCore.prototype.verticalSearch = function (request) {\n return this.searchService.verticalSearch(request);\n };\n /**\n * Submits a custom question to the Answers API.\n *\n * @remarks\n * If rejected, the reason will be an {@link AnswersError}.\n *\n * @param request - Question submission request options\n */\n AnswersCore.prototype.submitQuestion = function (request) {\n return this.questionSubmissionService.submitQuestion(request);\n };\n /**\n * Performs an autocomplete request across all verticals.\n *\n * @remarks\n * If rejected, the reason will be an {@link AnswersError}.\n *\n * @param request - Universal autocomplete request options\n */\n AnswersCore.prototype.universalAutocomplete = function (request) {\n return this.autoCompleteService.universalAutocomplete(request);\n };\n /**\n * Performs an autocomplete request for a single vertical.\n *\n * @remarks\n * If rejected, the reason will be an {@link AnswersError}.\n *\n * @param request - Vertical autocomplete request options\n */\n AnswersCore.prototype.verticalAutocomplete = function (request) {\n return this.autoCompleteService.verticalAutocomplete(request);\n };\n /**\n * Performs a filtersearch request against specified fields within a single vertical.\n *\n * @remarks\n * This differs from the vertical autocomplete because the vertical autocomplete\n * operates on all entity fields whereas filtersearch operates only on specified fields.\n * If rejected, the reason will be an {@link AnswersError}.\n *\n * @example\n * A site has a 'products' vertical and would like a way to allow the user to narrow down\n * the results by the product name. The site can add a second search bar powered by filtersearch\n * which will include only product names as search suggestions.\n *\n * @param request - filtersearch request options\n */\n AnswersCore.prototype.filterSearch = function (request) {\n return this.autoCompleteService.filterSearch(request);\n };\n return AnswersCore;\n}());\nexport { AnswersCore };\n//# sourceMappingURL=AnswersCore.js.map","/**\n * Represents the type of direct answer.\n *\n * @public\n */\nexport var DirectAnswerType;\n(function (DirectAnswerType) {\n /** Indicates that the DirectAnswer is a {@link FeaturedSnippetDirectAnswer}. */\n DirectAnswerType[\"FeaturedSnippet\"] = \"FEATURED_SNIPPET\";\n /** Indicates that the DirectAnswer is a {@link FieldValueDirectAnswer}. */\n DirectAnswerType[\"FieldValue\"] = \"FIELD_VALUE\";\n})(DirectAnswerType || (DirectAnswerType = {}));\n//# sourceMappingURL=DirectAnswerType.js.map","/**\n * Represents the source of a {@link Result}.\n *\n * @public\n */\nexport var Source;\n(function (Source) {\n /** The result is from an Answers Knowledge Graph. */\n Source[\"KnowledgeManager\"] = \"KNOWLEDGE_MANAGER\";\n /** The result is from Google Custom Search Engine. */\n Source[\"Google\"] = \"GOOGLE_CSE\";\n /** The result is from Bing Search Engine. */\n Source[\"Bing\"] = \"BING_CSE\";\n /** The result is from Zendesk. */\n Source[\"Zendesk\"] = \"ZENDESK\";\n /** The result is from Algolia. */\n Source[\"Algolia\"] = \"ALGOLIA\";\n /** The result was from a custom source. */\n Source[\"Custom\"] = \"CUSTOM_SEARCHER\";\n})(Source || (Source = {}));\n//# sourceMappingURL=Source.js.map","import { Source } from '../../models/searchservice/response/Source';\n/**\n * A factory which creates results from different sources\n */\nvar ResultsFactory = /** @class */ (function () {\n function ResultsFactory() {\n }\n ResultsFactory.create = function (results, source) {\n var _this = this;\n if (!results) {\n return [];\n }\n return results.map(function (result, index) {\n var resultIndex = index + 1;\n switch (source) {\n case Source.KnowledgeManager:\n return _this.fromKnowledgeManager(result, resultIndex);\n case Source.Google:\n return _this.fromGoogleCustomSearchEngine(result, resultIndex);\n case Source.Bing:\n return _this.fromBingCustomSearchEngine(result, resultIndex);\n case Source.Zendesk:\n return _this.fromZendeskSearchEngine(result, resultIndex);\n case Source.Algolia:\n return _this.fromAlgoliaSearchEngine(result, resultIndex);\n default:\n return _this.fromCustomSource(result, resultIndex);\n }\n });\n };\n ResultsFactory.fromKnowledgeManager = function (result, index) {\n var _a;\n var rawData = (_a = result.data) !== null && _a !== void 0 ? _a : result;\n return {\n rawData: rawData,\n source: Source.KnowledgeManager,\n index: index,\n name: rawData.name,\n description: rawData.description,\n link: rawData.website,\n id: rawData.id,\n distance: result.distance,\n distanceFromFilter: result.distanceFromFilter,\n highlightedFields: result.highlightedFields,\n entityType: rawData.type\n };\n };\n ResultsFactory.fromGoogleCustomSearchEngine = function (result, index) {\n var _a;\n var rawData = (_a = result.data) !== null && _a !== void 0 ? _a : result;\n return {\n rawData: rawData,\n source: Source.Google,\n index: index,\n name: rawData.htmlTitle.replace(/(<([^>]+)>)/ig, ''),\n description: rawData.htmlSnippet,\n link: rawData.link\n };\n };\n ResultsFactory.fromBingCustomSearchEngine = function (result, index) {\n var _a;\n var rawData = (_a = result.data) !== null && _a !== void 0 ? _a : result;\n return {\n rawData: rawData,\n source: Source.Bing,\n index: index,\n name: rawData.name,\n description: rawData.snippet,\n link: rawData.url\n };\n };\n ResultsFactory.fromZendeskSearchEngine = function (result, index) {\n var _a;\n var rawData = (_a = result.data) !== null && _a !== void 0 ? _a : result;\n return {\n rawData: rawData,\n source: Source.Zendesk,\n index: index,\n name: rawData.title,\n description: rawData.snippet,\n link: rawData.html_url\n };\n };\n ResultsFactory.fromAlgoliaSearchEngine = function (result, index) {\n var _a;\n var rawData = (_a = result.data) !== null && _a !== void 0 ? _a : result;\n return {\n rawData: rawData,\n source: Source.Algolia,\n index: index,\n name: rawData.name,\n id: rawData.objectID\n };\n };\n ResultsFactory.fromCustomSource = function (result, index) {\n var _a;\n var rawData = (_a = result.data) !== null && _a !== void 0 ? _a : result;\n return {\n rawData: rawData,\n source: Source.Custom,\n index: index,\n name: rawData.name,\n description: rawData.description,\n link: rawData.website,\n id: rawData.id\n };\n };\n ResultsFactory.fromDirectAnswer = function (result) {\n var _a;\n var rawData = (_a = result.fieldValues) !== null && _a !== void 0 ? _a : {};\n return {\n rawData: rawData,\n source: Source.KnowledgeManager,\n name: rawData.name,\n description: rawData.description,\n link: result.website,\n id: result.id,\n entityType: result.type,\n };\n };\n return ResultsFactory;\n}());\nexport { ResultsFactory };\n//# sourceMappingURL=ResultsFactory.js.map","/**\n * A Matcher is a filtering operation.\n *\n * @public\n */\nexport var Matcher;\n(function (Matcher) {\n /**\n * An equals comparison.\n *\n * @remarks\n * Compatible with all field types.\n */\n Matcher[\"Equals\"] = \"$eq\";\n /**\n * A not equals comparison.\n *\n * @remarks\n * Compatible with all field types.\n */\n Matcher[\"NotEquals\"] = \"!$eq\";\n /**\n * A less than comparison.\n *\n * @remarks\n * Compatible with integer, float, date, datetime, and time fields.\n */\n Matcher[\"LessThan\"] = \"$lt\";\n /**\n * A less than or equal to comparison.\n *\n * @remarks\n * Compatible with integer, float, date, datetime, and time fields.\n */\n Matcher[\"LessThanOrEqualTo\"] = \"$le\";\n /**\n * A greater than comparison.\n *\n * @remarks\n * Compatible with integer, float, date, datetime, and time fields.\n */\n Matcher[\"GreaterThan\"] = \"$gt\";\n /**\n * A greater than or equal to comparison.\n *\n * @remarks\n * Compatible with integer, float, date, datetime, and time fields.\n */\n Matcher[\"GreaterThanOrEqualTo\"] = \"$ge\";\n /**\n * A comparison of whether an entity is within a certain radius of a certain location.\n *\n * @remarks\n * Only compatible with the builtin.location field.\n */\n Matcher[\"Near\"] = \"$near\";\n /**\n * A limitation of the dataset to a range of values.\n *\n * @remarks\n * Compatible with integer and float.\n */\n Matcher[\"Between\"] = \"$between\";\n})(Matcher || (Matcher = {}));\n//# sourceMappingURL=Matcher.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { DirectAnswerType } from '../../models/searchservice/response/DirectAnswerType';\nimport { ResultsFactory } from './ResultsFactory';\nexport function createDirectAnswer(data) {\n var isFieldValueDirectAnswer = (data === null || data === void 0 ? void 0 : data.type) === DirectAnswerType.FieldValue;\n var isFeaturedSnippetDirectAnswer = (data === null || data === void 0 ? void 0 : data.type) === DirectAnswerType.FeaturedSnippet;\n var commonDirectAnswerData = {\n value: data.answer.value,\n relatedResult: ResultsFactory.fromDirectAnswer(data.relatedItem.data),\n verticalKey: data.relatedItem.verticalConfigId,\n fieldType: data.answer.fieldType\n };\n if (isFieldValueDirectAnswer) {\n return __assign(__assign({ type: DirectAnswerType.FieldValue }, commonDirectAnswerData), { entityName: data.answer.entityName, fieldName: data.answer.fieldName, fieldApiName: data.answer.fieldApiName });\n }\n else if (isFeaturedSnippetDirectAnswer) {\n return __assign(__assign({ type: DirectAnswerType.FeaturedSnippet }, commonDirectAnswerData), { snippet: data.answer.snippet });\n }\n else {\n throw new Error('The Answers API returned an unknown direct answer type');\n }\n}\n//# sourceMappingURL=createDirectAnswer.js.map","import { Matcher } from '../../models/searchservice/common/Matcher';\nexport function createFilter(filter) {\n var fieldId = Object.keys(filter)[0];\n var matcher = Object.keys(filter[fieldId])[0];\n var value;\n if (matcher === Matcher.Between) {\n value = createNumberRangeValue(filter[fieldId][matcher]);\n }\n else {\n value = filter[fieldId][matcher];\n }\n return {\n fieldId: fieldId,\n matcher: matcher,\n value: value\n };\n}\nfunction createNumberRangeValue(value) {\n var numberRangeValue = {};\n Object.keys(value).forEach(function (limitMatcher) {\n if (limitMatcher === Matcher.GreaterThan || limitMatcher === Matcher.GreaterThanOrEqualTo) {\n numberRangeValue.start = { matcher: limitMatcher, value: value[limitMatcher] };\n }\n else if (limitMatcher === Matcher.LessThan || limitMatcher === Matcher.LessThanOrEqualTo) {\n numberRangeValue.end = { matcher: limitMatcher, value: value[limitMatcher] };\n }\n });\n return numberRangeValue;\n}\n//# sourceMappingURL=createFilter.js.map","export function createLocationBias(data) {\n return {\n latitude: data.latitude,\n longitude: data.longitude,\n displayName: data.locationDisplayName,\n method: data.accuracy\n };\n}\n//# sourceMappingURL=createLocationBias.js.map","export function createSpellCheck(data) {\n return {\n originalQuery: data.originalQuery,\n correctedQuery: data.correctedQuery.value,\n type: data.type,\n };\n}\n//# sourceMappingURL=createSpellCheck.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { createFilter } from '../core/createFilter';\nexport function createAppliedQueryFilter(data) {\n return __assign({ displayKey: data.displayKey, displayValue: data.displayValue, filter: createFilter(data.filter), type: data.type }, (data.details && { details: data.details }));\n}\n//# sourceMappingURL=createAppliedQueryFilter.js.map","import { ResultsFactory } from './ResultsFactory';\nimport { createAppliedQueryFilter } from './createAppliedQueryFilter';\nexport function createVerticalResults(data) {\n var appliedQueryFilters = data.appliedQueryFilters\n ? data.appliedQueryFilters.map(createAppliedQueryFilter)\n : [];\n return {\n appliedQueryFilters: appliedQueryFilters,\n queryDurationMillis: data.queryDurationMillis,\n results: ResultsFactory.create(data.results, data.source),\n resultsCount: data.resultsCount,\n source: data.source,\n verticalKey: data.verticalConfigId,\n };\n}\n//# sourceMappingURL=createVerticalResults.js.map","import { createDirectAnswer } from './createDirectAnswer';\nimport { createFacets } from './createFacets';\nimport { createLocationBias } from './createLocationBias';\nimport { createSpellCheck } from './createSpellCheck';\nimport { createVerticalResults } from './createVerticalResults';\nexport function createVerticalSearchResponse(data) {\n var _a;\n return {\n verticalResults: createVerticalResults(data.response),\n queryId: data.response.queryId,\n directAnswer: data.response.directAnswer && createDirectAnswer(data.response.directAnswer),\n searchIntents: data.response.searchIntents,\n facets: createFacets(data.response.facets),\n spellCheck: data.response.spellCheck && createSpellCheck(data.response.spellCheck),\n locationBias: data.response.locationBias && createLocationBias(data.response.locationBias),\n allResultsForVertical: data.response.allResultsForVertical\n && createVerticalSearchResponse({ response: data.response.allResultsForVertical }),\n alternativeVerticals: data.response.alternativeVerticals && data.response.alternativeVerticals.modules\n && data.response.alternativeVerticals.modules.map(createVerticalResults),\n uuid: (_a = data.meta) === null || _a === void 0 ? void 0 : _a.uuid,\n queryRulesActionsData: data.response.queryRulesActionsData\n };\n}\n//# sourceMappingURL=createVerticalSearchResponse.js.map","import { createFilter } from '../core/createFilter';\nexport function createFacets(facets) {\n if (!facets) {\n return [];\n }\n return facets.map(function (facet) { return ({\n fieldId: facet.fieldId,\n displayName: facet.displayName,\n options: createFacetOptions(facet.options)\n }); });\n}\nfunction createFacetOptions(options) {\n return options.map(function (option) {\n var filter = createFilter(option.filter);\n return {\n displayName: option.displayName,\n count: option.count,\n selected: option.selected,\n matcher: filter.matcher,\n value: filter.value\n };\n });\n}\n//# sourceMappingURL=createFacets.js.map","export var defaultApiVersion = 20220511;\nexport var defaultEndpoints = {\n universalSearch: 'https://liveapi.yext.com/v2/accounts/me/answers/query',\n verticalSearch: 'https://liveapi.yext.com/v2/accounts/me/answers/vertical/query',\n questionSubmission: 'https://liveapi.yext.com/v2/accounts/me/createQuestion',\n status: 'https://answersstatus.pagescdn.com',\n universalAutocomplete: 'https://liveapi-cached.yext.com/v2/accounts/me/answers/autocomplete',\n verticalAutocomplete: 'https://liveapi-cached.yext.com/v2/accounts/me/answers/vertical/autocomplete',\n filterSearch: 'https://liveapi-cached.yext.com/v2/accounts/me/answers/filtersearch',\n};\n/**\n * The endpoints to use for sandbox experiences.\n *\n * @public\n */\nexport var SandboxEndpoints = {\n universalSearch: 'https://liveapi-sandbox.yext.com/v2/accounts/me/answers/query',\n verticalSearch: 'https://liveapi-sandbox.yext.com/v2/accounts/me/answers/vertical/query',\n questionSubmission: 'https://liveapi-sandbox.yext.com/v2/accounts/me/createQuestion',\n status: 'https://answersstatus.pagescdn.com',\n universalAutocomplete: 'https://liveapi-sandbox.yext.com/v2/accounts/me/answers/autocomplete',\n verticalAutocomplete: 'https://liveapi-sandbox.yext.com/v2/accounts/me/answers/vertical/autocomplete',\n filterSearch: 'https://liveapi-sandbox.yext.com/v2/accounts/me/answers/filtersearch',\n};\n//# sourceMappingURL=constants.js.map","/**\n * The source of the search request.\n *\n * @public\n */\nexport var QuerySource;\n(function (QuerySource) {\n /**\n * Indicates that the query was initiated from a standard Answers integration.\n */\n QuerySource[\"Standard\"] = \"STANDARD\";\n /**\n * Indicates that the query was initiated from an Answers Overlay.\n */\n QuerySource[\"Overlay\"] = \"OVERLAY\";\n /**\n * Indicates that the query was initiated from visual autocomplete.\n */\n QuerySource[\"Autocomplete\"] = \"AUTOCOMPLETE\";\n})(QuerySource || (QuerySource = {}));\n//# sourceMappingURL=QuerySource.js.map","export function createFailedVertical(data) {\n return {\n verticalKey: data.verticalConfigId,\n errorType: data.errorType,\n queryDurationMillis: data.queryDurationMillis,\n details: data.details\n };\n}\n//# sourceMappingURL=createFailedVertical.js.map","import { isNumberRangeValue } from '../models/searchservice/common/NumberRangeValue';\nexport function serializeStaticFilters(filter) {\n if (isCombinedFilter(filter)) {\n return JSON.stringify(shapeCombinedFilterForApi(filter));\n }\n return JSON.stringify(shapeFilterForApi(filter));\n}\nfunction shapeCombinedFilterForApi(combinedFilter) {\n var _a;\n var shapedFilters = [];\n for (var _i = 0, _b = combinedFilter.filters; _i < _b.length; _i++) {\n var filter = _b[_i];\n if (isCombinedFilter(filter)) {\n shapedFilters.push(shapeCombinedFilterForApi(filter));\n }\n else {\n shapedFilters.push(shapeFilterForApi(filter));\n }\n }\n return shapedFilters.length === 1\n ? shapedFilters[0]\n : (_a = {}, _a[combinedFilter.combinator] = shapedFilters, _a);\n}\nexport function shapeFilterForApi(filter) {\n var _a, _b;\n var filterValues = {};\n if (isNumberRangeValue(filter.value)) {\n if (filter.value.start) {\n filterValues[filter.value.start.matcher] = filter.value.start.value;\n }\n if (filter.value.end) {\n filterValues[filter.value.end.matcher] = filter.value.end.value;\n }\n }\n else {\n filterValues = (_a = {}, _a[filter.matcher] = filter.value, _a);\n }\n return _b = {},\n _b[filter.fieldId] = filterValues,\n _b;\n}\nfunction isCombinedFilter(filter) {\n return (filter.filters !== undefined)\n && (filter.combinator !== undefined);\n}\n//# sourceMappingURL=serializeStaticFilters.js.map","export function isNumberRangeValue(data) {\n return typeof data === 'object' && !!data && ('start' in data || 'end' in data);\n}\n//# sourceMappingURL=NumberRangeValue.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { shapeFilterForApi } from './serializeStaticFilters';\nexport function serializeFacets(filters) {\n return JSON.stringify(filters.reduce(function (obj, facet) {\n var fieldId = facet.fieldId;\n var shapedFacets = shapeFacetOptionArrayForApi(facet.options, fieldId);\n obj[fieldId] = shapedFacets;\n return obj;\n }, {}));\n}\nfunction shapeFacetOptionArrayForApi(options, fieldId) {\n return options.map(function (option) {\n return shapeFilterForApi(__assign(__assign({}, option), { fieldId: fieldId }));\n });\n}\n//# sourceMappingURL=serializeFacets.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport packageJson from '../../package.json';\nvar version = packageJson.version;\nexport function getClientSdk(additionalHttpHeaders) {\n var _a;\n var coreAgent = { ANSWERS_CORE: version };\n if (!additionalHttpHeaders) {\n return coreAgent;\n }\n var customClientSdk = (_a = additionalHttpHeaders['Client-SDK']) !== null && _a !== void 0 ? _a : {};\n return Object.entries(customClientSdk).reduce(function (clientSdk, _a) {\n var _b;\n var agent = _a[0], version = _a[1];\n return version\n ? __assign(__assign({}, clientSdk), (_b = {}, _b[agent] = version, _b)) : clientSdk;\n }, coreAgent);\n}\n//# sourceMappingURL=getClientSdk.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { createVerticalSearchResponse } from '../transformers/searchservice/createVerticalSearchResponse';\nimport { defaultApiVersion } from '../constants';\nimport { QuerySource } from '../models/searchservice/request/QuerySource';\nimport { createUniversalSearchResponse } from '../transformers/searchservice/createUniversalSearchResponse';\nimport { serializeStaticFilters } from '../serializers/serializeStaticFilters';\nimport { serializeFacets } from '../serializers/serializeFacets';\nimport { getClientSdk } from '../utils/getClientSdk';\n/**\n * The implementation of SearchService which hits LiveAPI.\n *\n * @internal\n */\nvar SearchServiceImpl = /** @class */ (function () {\n function SearchServiceImpl(config, httpService, apiResponseValidator) {\n this.config = config;\n this.httpService = httpService;\n this.apiResponseValidator = apiResponseValidator;\n this.universalSearchEndpoint = config.endpoints.universalSearch;\n this.verticalSearchEndpoint = config.endpoints.verticalSearch;\n }\n SearchServiceImpl.prototype.universalSearch = function (request) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var queryParams, response, _d, validationResult;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n queryParams = __assign(__assign(__assign({ input: request.query, experienceKey: this.config.experienceKey }, ('apiKey' in this.config && { api_key: this.config.apiKey })), { v: defaultApiVersion, version: this.config.experienceVersion, limit: JSON.stringify(request.limit), location: this.stringifyLatLong(request.location), locale: this.config.locale, skipSpellCheck: request.skipSpellCheck, session_id: request.sessionId, sessionTrackingEnabled: request.sessionTrackingEnabled, queryTrigger: request.queryTrigger, context: JSON.stringify(request.context), referrerPageUrl: request.referrerPageUrl, source: request.querySource || QuerySource.Standard, visitorId: (_a = this.config.visitor) === null || _a === void 0 ? void 0 : _a.id, visitorIdMethod: (_b = this.config.visitor) === null || _b === void 0 ? void 0 : _b.idMethod, restrictVerticals: request.restrictVerticals && request.restrictVerticals.join(',') }), (_c = this.config) === null || _c === void 0 ? void 0 : _c.additionalQueryParams);\n if (!('token' in this.config)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.httpService.get(this.universalSearchEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders), this.config.token)];\n case 1:\n _d = _e.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.httpService.get(this.universalSearchEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders))];\n case 3:\n _d = _e.sent();\n _e.label = 4;\n case 4:\n response = _d;\n validationResult = this.apiResponseValidator.validate(response);\n if (validationResult instanceof Error) {\n return [2 /*return*/, Promise.reject(validationResult)];\n }\n return [2 /*return*/, createUniversalSearchResponse(response)];\n }\n });\n });\n };\n SearchServiceImpl.prototype.verticalSearch = function (request) {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function () {\n var queryParams, response, _e, validationResult;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n queryParams = __assign(__assign(__assign({ experienceKey: this.config.experienceKey }, ('apiKey' in this.config && { api_key: this.config.apiKey })), { v: defaultApiVersion, version: this.config.experienceVersion, locale: this.config.locale, input: request.query, location: this.stringifyLatLong(request.location), verticalKey: request.verticalKey, filters: request.staticFilters && serializeStaticFilters(request.staticFilters), limit: request.limit, offset: request.offset, retrieveFacets: request.retrieveFacets, facetFilters: request.facets && serializeFacets(request.facets), skipSpellCheck: request.skipSpellCheck, queryTrigger: request.queryTrigger, session_id: request.sessionId, sessionTrackingEnabled: request.sessionTrackingEnabled, sortBys: JSON.stringify(request.sortBys || []), context: JSON.stringify(request.context), referrerPageUrl: request.referrerPageUrl, source: request.querySource || QuerySource.Standard, locationRadius: (_a = request.locationRadius) === null || _a === void 0 ? void 0 : _a.toString(), queryId: request.queryId, visitorId: (_b = this.config.visitor) === null || _b === void 0 ? void 0 : _b.id, visitorIdMethod: (_c = this.config.visitor) === null || _c === void 0 ? void 0 : _c.idMethod }), (_d = this.config) === null || _d === void 0 ? void 0 : _d.additionalQueryParams);\n if (!('token' in this.config)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.httpService.get(this.verticalSearchEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders), this.config.token)];\n case 1:\n _e = _f.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.httpService.get(this.verticalSearchEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders))];\n case 3:\n _e = _f.sent();\n _f.label = 4;\n case 4:\n response = _e;\n validationResult = this.apiResponseValidator.validate(response);\n if (validationResult instanceof Error) {\n return [2 /*return*/, Promise.reject(validationResult)];\n }\n return [2 /*return*/, createVerticalSearchResponse(response)];\n }\n });\n });\n };\n /**\n * Converts a {@link LatLong} into the format the Answers API expects.\n */\n SearchServiceImpl.prototype.stringifyLatLong = function (latLong) {\n if (!latLong) {\n return undefined;\n }\n return \"\".concat(latLong.latitude, \",\").concat(latLong.longitude);\n };\n return SearchServiceImpl;\n}());\nexport { SearchServiceImpl };\n//# sourceMappingURL=SearchServiceImpl.js.map","import { createVerticalResults } from './createVerticalResults';\nimport { createDirectAnswer } from './createDirectAnswer';\nimport { createSpellCheck } from './createSpellCheck';\nimport { createLocationBias } from './createLocationBias';\nimport { createFailedVertical } from './createFailedVertical';\nexport function createUniversalSearchResponse(data) {\n var verticalResults = Array.isArray(data.response.modules)\n ? data.response.modules.map(createVerticalResults)\n : [];\n return {\n verticalResults: verticalResults,\n queryId: data.response.queryId,\n directAnswer: data.response.directAnswer && createDirectAnswer(data.response.directAnswer),\n searchIntents: data.response.searchIntents,\n spellCheck: data.response.spellCheck && createSpellCheck(data.response.spellCheck),\n locationBias: data.response.locationBias && createLocationBias(data.response.locationBias),\n uuid: data.meta.uuid,\n queryRulesActionsData: data.response.queryRulesActionsData,\n failedVerticals: data.response.failedVerticals && data.response.failedVerticals.map(createFailedVertical)\n };\n}\n//# sourceMappingURL=createUniversalSearchResponse.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { defaultApiVersion } from '../constants';\nimport { getClientSdk } from '../utils/getClientSdk';\n/**\n * An implementation of QuestionSubmissionService which hits LiveAPI.\n *\n * @internal\n */\nvar QuestionSubmissionServiceImpl = /** @class */ (function () {\n function QuestionSubmissionServiceImpl(config, httpService, apiResponseValidator) {\n this.config = config;\n this.httpService = httpService;\n this.apiResponseValidator = apiResponseValidator;\n this.endpoint = this.config.endpoints.questionSubmission;\n }\n QuestionSubmissionServiceImpl.prototype.submitQuestion = function (request) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var queryParams, body, response, _b, validationResult;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n queryParams = __assign(__assign(__assign({ v: defaultApiVersion }, ('apiKey' in this.config && { api_key: this.config.apiKey })), { sessionTrackingEnabled: request.sessionTrackingEnabled }), (_a = this.config) === null || _a === void 0 ? void 0 : _a.additionalQueryParams);\n body = {\n email: request.email,\n entityId: request.entityId,\n name: request.name,\n questionDescription: request.questionDescription,\n questionLanguage: this.config.locale,\n questionText: request.questionText,\n site: 'FIRSTPARTY'\n };\n if (!('token' in this.config)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.httpService.post(this.endpoint, queryParams, body, getClientSdk(request.additionalHttpHeaders), this.config.token)];\n case 1:\n _b = _c.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.httpService.post(this.endpoint, queryParams, body, getClientSdk(request.additionalHttpHeaders))];\n case 3:\n _b = _c.sent();\n _c.label = 4;\n case 4:\n response = _b;\n validationResult = this.apiResponseValidator.validate(response);\n if (validationResult instanceof Error) {\n return [2 /*return*/, Promise.reject(validationResult)];\n }\n return [2 /*return*/, {\n uuid: response.meta.uuid\n }];\n }\n });\n });\n };\n return QuestionSubmissionServiceImpl;\n}());\nexport { QuestionSubmissionServiceImpl };\n//# sourceMappingURL=QuestionSubmissionServiceImpl.js.map","/**\n * Updates a url with the given params.\n */\nexport function addParamsToURL(url, params) {\n var parsedUrl = new URL(url);\n var urlParams = new URLSearchParams(parsedUrl.search.substring(1));\n var sanitizedParams = sanitizeQueryParams(params);\n for (var key in sanitizedParams) {\n urlParams.append(key, sanitizedParams[key].toString());\n }\n var updatedUrl = parsedUrl.origin + parsedUrl.pathname;\n var paramsString = urlParams.toString();\n if (paramsString) {\n updatedUrl += '?' + paramsString;\n }\n return updatedUrl;\n}\nexport function sanitizeQueryParams(params) {\n Object.keys(params).forEach(function (key) {\n if (params[key] === undefined || params[key] === null) {\n delete params[key];\n }\n });\n return params;\n}\n//# sourceMappingURL=urlutils.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport crossFetch from 'cross-fetch';\nimport { addParamsToURL, sanitizeQueryParams } from '../utils/urlutils';\n/**\n * Available HTTP request methods\n */\nvar RequestMethods;\n(function (RequestMethods) {\n RequestMethods[\"GET\"] = \"get\";\n RequestMethods[\"POST\"] = \"post\";\n})(RequestMethods || (RequestMethods = {}));\n/**\n * HttpServiceImpl is a wrapper around the native implementation of AJAX\n * related matters.\n */\nvar HttpServiceImpl = /** @class */ (function () {\n function HttpServiceImpl() {\n }\n /**\n * Perform a GET request\n */\n HttpServiceImpl.prototype.get = function (url, queryParams, clientSdk, authToken) {\n return fetch(url, queryParams, {\n method: RequestMethods.GET,\n mode: 'cors',\n credentials: 'include',\n headers: __assign({ 'Client-SDK': formatAsHttpHeader(clientSdk) }, (authToken && { Authorization: \"Bearer \".concat(authToken) }))\n }).then(function (res) { return res.json(); });\n };\n /**\n * Perform a POST request\n */\n HttpServiceImpl.prototype.post = function (url, queryParams, body, clientSdk, authToken) {\n var sanitizedBodyParams = sanitizeQueryParams(body);\n return fetch(url, queryParams, __assign(__assign({ method: RequestMethods.POST, body: JSON.stringify(sanitizedBodyParams), mode: 'cors' }, (authToken && { credentials: 'include' })), { headers: __assign({ 'Client-SDK': formatAsHttpHeader(clientSdk), 'Content-Type': 'application/json' }, (authToken && { Authorization: \"Bearer \".concat(authToken) })) }))\n .then(function (res) { return res.json(); });\n };\n return HttpServiceImpl;\n}());\nexport { HttpServiceImpl };\n/**\n * Perform a fetch, using the polyfill if needed.\n */\nfunction fetch(url, queryParams, reqInit) {\n var urlWithParams = addParamsToURL(url, queryParams);\n if (typeof (window) !== 'undefined' && window.fetch) {\n return window.fetch(urlWithParams, reqInit);\n }\n return crossFetch(urlWithParams, reqInit);\n}\n/**\n * Converts the JSON representing the Client-SDK agents into the expected HTTP header format.\n *\n * @example\n * Input clientSdk:\n * \\{\n * ANSWERS_CORE: '123',\n * CUSTOM_AGENT: '456'\n * \\}\n *\n * Output HTTP header:\n * 'ANSWERS_CORE=123, CUSTOM_AGENT=456'\n */\nfunction formatAsHttpHeader(clientSdk) {\n return Object.keys(clientSdk).reduce(function (combinedHeader, currentKey) {\n var httpFormattedHeader = \"\".concat(currentKey, \"=\").concat(clientSdk[currentKey]);\n return combinedHeader ? \"\".concat(combinedHeader, \", \").concat(httpFormattedHeader) : httpFormattedHeader;\n }, '');\n}\n//# sourceMappingURL=HttpServiceImpl.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Represents an error\n *\n * @remarks\n * If the error originates from the Answer API, the code and type property will be present.\n *\n * @public\n */\nvar AnswersError = /** @class */ (function (_super) {\n __extends(AnswersError, _super);\n /** @internal */\n function AnswersError(message, code, type) {\n var _this = _super.call(this, message) || this;\n _this.message = message;\n _this.code = code;\n _this.type = type;\n // When targeting ES5, it is necessary to manually set the prototype for instance of checks to work\n // See: \"Extending built-ins like Error, Array, and Map may no longer work\"\n // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes\n Object.setPrototypeOf(_this, AnswersError.prototype);\n return _this;\n }\n return AnswersError;\n}(Error));\nexport { AnswersError };\n//# sourceMappingURL=AnswersError.js.map","import { Source } from '../../models/searchservice/response/Source';\nimport { createFilter } from '../core/createFilter';\nimport { ResultsFactory } from '../searchservice/ResultsFactory';\nexport function createAutocompleteResult(result) {\n var relatedItem = result.relatedItem\n ? ResultsFactory.create([result.relatedItem], Source.KnowledgeManager)[0]\n : result.relatedItem;\n return {\n filter: result.filter && createFilter(result.filter),\n key: result.key,\n matchedSubstrings: result.matchedSubstrings || [],\n value: result.value,\n relatedItem: relatedItem,\n verticalKeys: result.verticalKeys\n };\n}\n//# sourceMappingURL=createAutocompleteResult.js.map","import { AnswersError } from '../../models/answersapi/AnswersError';\nimport { createAutocompleteResult } from './createAutocompleteResult';\nexport function createAutocompleteResponse(data) {\n if (!data.response) {\n throw new Error('The autocomplete data does not contain a response property');\n }\n if (!Object.keys(data.response).length) {\n throw new Error('The autocomplete response is empty');\n }\n var response = data.response;\n var responseResults = response.results.map(createAutocompleteResult);\n var inputIntents = response.input ? response.input.queryIntents : [];\n return {\n results: responseResults,\n queryId: response.queryId,\n inputIntents: inputIntents || [],\n uuid: data.meta.uuid\n };\n}\nexport function createFilterSearchResponse(data) {\n if (!data.response) {\n throw new Error('The autocomplete data does not contain a response property');\n }\n if (!Object.keys(data.response).length) {\n throw new Error('The autocomplete response is empty');\n }\n var response = data.response;\n if (response.failedVerticals && response.failedVerticals.length != 0) {\n var error = response.failedVerticals[0];\n throw new AnswersError(error.details.description, error.details.responseCode, error.errorType);\n }\n var sections = response.sections.map(function (section) { return ({\n label: section.label,\n results: section.results.map(createAutocompleteResult)\n }); });\n return {\n sections: sections,\n queryId: response.queryId,\n businessId: response.businessId,\n uuid: data.meta.uuid\n };\n}\n//# sourceMappingURL=createAutocompleteResponse.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { createAutocompleteResponse, createFilterSearchResponse } from '../transformers/autocompleteservice/createAutocompleteResponse';\nimport { defaultApiVersion } from '../constants';\nimport { getClientSdk } from '../utils/getClientSdk';\nimport { serializeExcludedFields, serializeSearchParameterFields } from '../serializers/serializeFilterSearch';\n/**\n* A service that performs query suggestions.\n*/\nvar AutocompleteServiceImpl = /** @class */ (function () {\n function AutocompleteServiceImpl(config, httpRequester, apiResponseValidator) {\n this.config = config;\n this.httpService = httpRequester;\n this.apiResponseValidator = apiResponseValidator;\n this.universalEndpoint = this.config.endpoints.universalAutocomplete;\n this.verticalEndpoint = this.config.endpoints.verticalAutocomplete;\n this.filterEndpoint = this.config.endpoints.filterSearch;\n }\n AutocompleteServiceImpl.prototype.universalAutocomplete = function (request) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var queryParams, response, _d, validationResult;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n queryParams = __assign(__assign(__assign({ input: request.input, experienceKey: this.config.experienceKey }, ('apiKey' in this.config && { api_key: this.config.apiKey })), { v: defaultApiVersion, version: this.config.experienceVersion, locale: this.config.locale, sessionTrackingEnabled: request.sessionTrackingEnabled, visitorId: (_a = this.config.visitor) === null || _a === void 0 ? void 0 : _a.id, visitorIdMethod: (_b = this.config.visitor) === null || _b === void 0 ? void 0 : _b.idMethod }), (_c = this.config) === null || _c === void 0 ? void 0 : _c.additionalQueryParams);\n if (!('token' in this.config)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.httpService.get(this.universalEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders), this.config.token)];\n case 1:\n _d = _e.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.httpService.get(this.universalEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders))];\n case 3:\n _d = _e.sent();\n _e.label = 4;\n case 4:\n response = _d;\n validationResult = this.apiResponseValidator.validate(response);\n if (validationResult instanceof Error) {\n return [2 /*return*/, Promise.reject(validationResult)];\n }\n return [2 /*return*/, createAutocompleteResponse(response)];\n }\n });\n });\n };\n AutocompleteServiceImpl.prototype.verticalAutocomplete = function (request) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var queryParams, response, _d, validationResult;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n queryParams = __assign(__assign(__assign({ input: request.input, experienceKey: this.config.experienceKey }, ('apiKey' in this.config && { api_key: this.config.apiKey })), { v: defaultApiVersion, version: this.config.experienceVersion, locale: this.config.locale, verticalKey: request.verticalKey, sessionTrackingEnabled: request.sessionTrackingEnabled, visitorId: (_a = this.config.visitor) === null || _a === void 0 ? void 0 : _a.id, visitorIdMethod: (_b = this.config.visitor) === null || _b === void 0 ? void 0 : _b.idMethod }), (_c = this.config) === null || _c === void 0 ? void 0 : _c.additionalQueryParams);\n if (!('token' in this.config)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.httpService.get(this.verticalEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders), this.config.token)];\n case 1:\n _d = _e.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.httpService.get(this.verticalEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders))];\n case 3:\n _d = _e.sent();\n _e.label = 4;\n case 4:\n response = _d;\n validationResult = this.apiResponseValidator.validate(response);\n if (validationResult instanceof Error) {\n return [2 /*return*/, Promise.reject(validationResult)];\n }\n return [2 /*return*/, createAutocompleteResponse(response)];\n }\n });\n });\n };\n AutocompleteServiceImpl.prototype.filterSearch = function (request) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var searchParams, queryParams, response, _d, validationResult;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n searchParams = {\n sectioned: request.sectioned,\n fields: serializeSearchParameterFields(request.fields)\n };\n queryParams = __assign(__assign(__assign({ input: request.input, experienceKey: this.config.experienceKey }, ('apiKey' in this.config && { api_key: this.config.apiKey })), { v: defaultApiVersion, version: this.config.experienceVersion, locale: this.config.locale, search_parameters: JSON.stringify(searchParams), verticalKey: request.verticalKey, sessionTrackingEnabled: request.sessionTrackingEnabled, visitorId: (_a = this.config.visitor) === null || _a === void 0 ? void 0 : _a.id, visitorIdMethod: (_b = this.config.visitor) === null || _b === void 0 ? void 0 : _b.idMethod, excluded: JSON.stringify(serializeExcludedFields(request.excluded)) }), (_c = this.config) === null || _c === void 0 ? void 0 : _c.additionalQueryParams);\n if (!('token' in this.config)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.httpService.get(this.filterEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders), this.config.token)];\n case 1:\n _d = _e.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.httpService.get(this.filterEndpoint, queryParams, getClientSdk(request.additionalHttpHeaders))];\n case 3:\n _d = _e.sent();\n _e.label = 4;\n case 4:\n response = _d;\n validationResult = this.apiResponseValidator.validate(response);\n if (validationResult instanceof Error) {\n return [2 /*return*/, Promise.reject(validationResult)];\n }\n return [2 /*return*/, createFilterSearchResponse(response)];\n }\n });\n });\n };\n return AutocompleteServiceImpl;\n}());\nexport { AutocompleteServiceImpl };\n//# sourceMappingURL=AutocompleteServiceImpl.js.map","/**\n * Indicates how the filters in a {@link CombinedFilter} should be combined.\n *\n * @public\n */\nexport var FilterCombinator;\n(function (FilterCombinator) {\n /** Indicates that filters should be combined with a logical AND. */\n FilterCombinator[\"AND\"] = \"$and\";\n /** Indicates that filters should be combined with a logical OR. */\n FilterCombinator[\"OR\"] = \"$or\";\n})(FilterCombinator || (FilterCombinator = {}));\n//# sourceMappingURL=CombinedFilter.js.map","/**\n * Describes the ways a search can be executed besides user input.\n *\n * @remarks\n * Used for search analytics. If a user supplied the search query, do not include a QueryTrigger.\n *\n * @example\n * An answers site may be configured to perform a search for 'What services do you offer?' when the page\n * loads. Because that query is a default query rather than a user-supplied query, the Initialize QueryTrigger\n * should be included in the request.\n *\n * @public\n */\nexport var QueryTrigger;\n(function (QueryTrigger) {\n /** Indicates that the query was triggered by a default initial search. */\n QueryTrigger[\"Initialize\"] = \"initialize\";\n /** Indicates that the query was suggested by a {@link SpellCheck} response. */\n QueryTrigger[\"Suggest\"] = \"suggest\";\n})(QueryTrigger || (QueryTrigger = {}));\n//# sourceMappingURL=QueryTrigger.js.map","/**\n * The method of sorting.\n *\n * @public\n */\nexport var SortType;\n(function (SortType) {\n /**\n * Sorts based on a field with the direction specified.\n */\n SortType[\"Field\"] = \"FIELD\";\n /**\n * Sorts based on entity distance alone.\n */\n SortType[\"EntityDistance\"] = \"ENTITY_DISTANCE\";\n /**\n * Sorts based on relevance according to the algorithm and, when relevant, location bias.\n */\n SortType[\"Relevance\"] = \"RELEVANCE\";\n})(SortType || (SortType = {}));\n//# sourceMappingURL=SortType.js.map","/**\n * The direction of a sort.\n *\n * @public\n */\nexport var Direction;\n(function (Direction) {\n /**\n * An ascending sort\n *\n * @remarks\n * For numbers this sort is low to high. For text it is alphabetical. For dates it is chronological order.\n */\n Direction[\"Ascending\"] = \"ASC\";\n /**\n * A descending soft\n *\n * @remarks\n * For numbers this sort is high to low. For text it is reverse alphabetical. For dates it is reverse\n * chronological order.\n */\n Direction[\"Descending\"] = \"DESC\";\n})(Direction || (Direction = {}));\n//# sourceMappingURL=Direction.js.map","/**\n * Represents the type of {@link AppliedQueryFilter} applied to a search.\n *\n * @public\n */\nexport var AppliedQueryFilterType;\n(function (AppliedQueryFilterType) {\n /** Indicates that a field value filter is applied based on the query. */\n AppliedQueryFilterType[\"FieldValue\"] = \"FIELD_VALUE\";\n /** Indicates that a location filter is applied based on the query. */\n AppliedQueryFilterType[\"Place\"] = \"PLACE\";\n /** Indicates that a search intent filter is applied based on the query. */\n AppliedQueryFilterType[\"Intent\"] = \"INTENT\";\n})(AppliedQueryFilterType || (AppliedQueryFilterType = {}));\n//# sourceMappingURL=AppliedQueryFilterType.js.map","/**\n * The method used to determine the location.\n *\n * @public\n */\nexport var LocationBiasMethod;\n(function (LocationBiasMethod) {\n /** Location was determined by IP address. */\n LocationBiasMethod[\"Ip\"] = \"IP\";\n /**\n * Location was supplied by the user's device.\n *\n * @remarks\n * This location bias method is set when a location is supplied in search requests.\n * */\n LocationBiasMethod[\"Device\"] = \"DEVICE\";\n /**\n * Location is unknown.\n */\n LocationBiasMethod[\"Unknown\"] = \"UNKNOWN\";\n})(LocationBiasMethod || (LocationBiasMethod = {}));\n//# sourceMappingURL=LocationBias.js.map","/**\n * Represents intents from the Answers API.\n *\n * @public\n */\nexport var SearchIntent;\n(function (SearchIntent) {\n /** The Answers API is requesting a prompt for the user's location. */\n SearchIntent[\"NearMe\"] = \"NEAR_ME\";\n})(SearchIntent || (SearchIntent = {}));\n//# sourceMappingURL=SearchIntent.js.map","/**\n * Represents the type of spell check performed.\n *\n * @public\n */\nexport var SpellCheckType;\n(function (SpellCheckType) {\n /** The API is suggesting an alternative query. */\n SpellCheckType[\"Suggest\"] = \"SUGGEST\";\n /** The API is autocorrecting the original query. */\n SpellCheckType[\"AutoCorrect\"] = \"AUTOCORRECT\";\n /** The API may be doing some combination of suggesting or autocorrecting. */\n SpellCheckType[\"Combine\"] = \"COMBINE\";\n})(SpellCheckType || (SpellCheckType = {}));\n//# sourceMappingURL=SpellCheck.js.map","/**\n * Identifier for the type of error causing the failure.\n *\n * @public\n */\nexport var ErrorType;\n(function (ErrorType) {\n /** A timeout error from the server. */\n ErrorType[\"Timeout\"] = \"TIMEOUT\";\n /** An internal error from the API backend. */\n ErrorType[\"BackendError\"] = \"BACKEND_ERROR\";\n /** An invalid config from the request. */\n ErrorType[\"InvalidConfig\"] = \"INVALID_CONFIG\";\n /** An invalid query from the request. */\n ErrorType[\"InvalidQuery\"] = \"INVALID_QUERY\";\n})(ErrorType || (ErrorType = {}));\n//# sourceMappingURL=ErrorType.js.map","export function serializeSearchParameterFields(fields) {\n return fields.map(function (_a) {\n var fieldApiName = _a.fieldApiName, entityType = _a.entityType, fetchEntities = _a.fetchEntities;\n return ({\n fieldId: fieldApiName,\n entityTypeId: entityType,\n shouldFetchEntities: fetchEntities\n });\n });\n}\nexport function serializeExcludedFields(excludedFields) {\n return excludedFields === null || excludedFields === void 0 ? void 0 : excludedFields.map(function (_a) {\n var _b, _c;\n var fieldId = _a.fieldId, matcher = _a.matcher, value = _a.value;\n return (_b = {},\n _b[fieldId] = (_c = {},\n _c[matcher] = value,\n _c),\n _b);\n });\n}\n//# sourceMappingURL=serializeFilterSearch.js.map","import { AnswersError } from '../models/answersapi/AnswersError';\n/**\n * Determines whether or not an API response can be used to construct an answers-core response\n *\n * @internal\n */\nvar ApiResponseValidator = /** @class */ (function () {\n function ApiResponseValidator() {\n }\n ApiResponseValidator.prototype.validate = function (apiResponse) {\n var testFunctions = [\n this.validateResponseProp,\n this.validateMetaProp,\n this.checkForApiErrors\n ];\n var testResults = testFunctions.map(function (testFn) { return testFn(apiResponse); });\n return testResults.find(function (result) { return result; });\n };\n ApiResponseValidator.prototype.validateResponseProp = function (apiResponse) {\n if (!apiResponse.response) {\n return new AnswersError('Malformed Answers API response: missing response property.');\n }\n };\n ApiResponseValidator.prototype.validateMetaProp = function (apiResponse) {\n if (!apiResponse.meta) {\n return new AnswersError('Malformed Answers API response: missing meta property.');\n }\n };\n ApiResponseValidator.prototype.checkForApiErrors = function (apiResponse) {\n var _a, _b;\n if (((_b = (_a = apiResponse.meta) === null || _a === void 0 ? void 0 : _a.errors) === null || _b === void 0 ? void 0 : _b.length) >= 1) {\n var error = apiResponse.meta.errors[0];\n return new AnswersError(error.message, error.code, error.type);\n }\n };\n return ApiResponseValidator;\n}());\nexport { ApiResponseValidator };\n//# sourceMappingURL=ApiResponseValidator.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { SearchServiceImpl } from './infra/SearchServiceImpl';\nimport { QuestionSubmissionServiceImpl } from './infra/QuestionSubmissionServiceImpl';\nimport { HttpServiceImpl } from './infra/HttpServiceImpl';\nimport { AutocompleteServiceImpl } from './infra/AutocompleteServiceImpl';\nimport { ApiResponseValidator } from './validation/ApiResponseValidator';\nimport { AnswersCore } from './AnswersCore';\nimport { defaultEndpoints } from './constants';\n/**\n * The entrypoint to the answers-core library.\n *\n * @remarks\n * Returns an {@link AnswersCore} instance.\n *\n * @param config - The answers-core config\n *\n * @public\n */\nexport function provideCore(config) {\n if ('apiKey' in config && 'token' in config) {\n throw new Error('Both apiKey and token are present. Only one authentication method should be provided');\n }\n var defaultedConfig = __assign(__assign({}, config), { endpoints: __assign(__assign({}, defaultEndpoints), config.endpoints) });\n var httpService = new HttpServiceImpl();\n var apiResponseValidator = new ApiResponseValidator();\n var searchService = new SearchServiceImpl(defaultedConfig, httpService, apiResponseValidator);\n var questionSubmissionService = new QuestionSubmissionServiceImpl(defaultedConfig, httpService, apiResponseValidator);\n var autoCompleteService = new AutocompleteServiceImpl(defaultedConfig, httpService, apiResponseValidator);\n return new AnswersCore(searchService, questionSubmissionService, autoCompleteService);\n}\n//# sourceMappingURL=provideCore.js.map","// Public: Create a new SelectorSet.\nexport default function SelectorSet() {\n // Construct new SelectorSet if called as a function.\n if (!(this instanceof SelectorSet)) {\n return new SelectorSet();\n }\n\n // Public: Number of selectors added to the set\n this.size = 0;\n\n // Internal: Incrementing ID counter\n this.uid = 0;\n\n // Internal: Array of String selectors in the set\n this.selectors = [];\n\n // Internal: Map of selector ids to objects\n this.selectorObjects = {};\n\n // Internal: All Object index String names mapping to Index objects.\n this.indexes = Object.create(this.indexes);\n\n // Internal: Used Object index String names mapping to Index objects.\n this.activeIndexes = [];\n}\n\n// Detect prefixed Element#matches function.\nvar docElem = window.document.documentElement;\nvar matches =\n docElem.matches ||\n docElem.webkitMatchesSelector ||\n docElem.mozMatchesSelector ||\n docElem.oMatchesSelector ||\n docElem.msMatchesSelector;\n\n// Public: Check if element matches selector.\n//\n// Maybe overridden with custom Element.matches function.\n//\n// el - An Element\n// selector - String CSS selector\n//\n// Returns true or false.\nSelectorSet.prototype.matchesSelector = function(el, selector) {\n return matches.call(el, selector);\n};\n\n// Public: Find all elements in the context that match the selector.\n//\n// Maybe overridden with custom querySelectorAll function.\n//\n// selectors - String CSS selectors.\n// context - Element context\n//\n// Returns non-live list of Elements.\nSelectorSet.prototype.querySelectorAll = function(selectors, context) {\n return context.querySelectorAll(selectors);\n};\n\n// Public: Array of indexes.\n//\n// name - Unique String name\n// selector - Function that takes a String selector and returns a String key\n// or undefined if it can't be used by the index.\n// element - Function that takes an Element and returns an Array of String\n// keys that point to indexed values.\n//\nSelectorSet.prototype.indexes = [];\n\n// Index by element id\nvar idRe = /^#((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'ID',\n selector: function matchIdSelector(sel) {\n var m;\n if ((m = sel.match(idRe))) {\n return m[0].slice(1);\n }\n },\n element: function getElementId(el) {\n if (el.id) {\n return [el.id];\n }\n }\n});\n\n// Index by all of its class names\nvar classRe = /^\\.((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'CLASS',\n selector: function matchClassSelector(sel) {\n var m;\n if ((m = sel.match(classRe))) {\n return m[0].slice(1);\n }\n },\n element: function getElementClassNames(el) {\n var className = el.className;\n if (className) {\n if (typeof className === 'string') {\n return className.split(/\\s/);\n } else if (typeof className === 'object' && 'baseVal' in className) {\n // className is a SVGAnimatedString\n // global SVGAnimatedString is not an exposed global in Opera 12\n return className.baseVal.split(/\\s/);\n }\n }\n }\n});\n\n// Index by tag/node name: `DIV`, `FORM`, `A`\nvar tagRe = /^((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'TAG',\n selector: function matchTagSelector(sel) {\n var m;\n if ((m = sel.match(tagRe))) {\n return m[0].toUpperCase();\n }\n },\n element: function getElementTagName(el) {\n return [el.nodeName.toUpperCase()];\n }\n});\n\n// Default index just contains a single array of elements.\nSelectorSet.prototype.indexes['default'] = {\n name: 'UNIVERSAL',\n selector: function() {\n return true;\n },\n element: function() {\n return [true];\n }\n};\n\n// Use ES Maps when supported\nvar Map;\nif (typeof window.Map === 'function') {\n Map = window.Map;\n} else {\n Map = (function() {\n function Map() {\n this.map = {};\n }\n Map.prototype.get = function(key) {\n return this.map[key + ' '];\n };\n Map.prototype.set = function(key, value) {\n this.map[key + ' '] = value;\n };\n return Map;\n })();\n}\n\n// Regexps adopted from Sizzle\n// https://github.com/jquery/sizzle/blob/1.7/sizzle.js\n//\nvar chunker = /((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|['\"][^'\"]*['\"]|[^\\[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g;\n\n// Internal: Get indexes for selector.\n//\n// selector - String CSS selector\n//\n// Returns Array of {index, key}.\nfunction parseSelectorIndexes(allIndexes, selector) {\n allIndexes = allIndexes.slice(0).concat(allIndexes['default']);\n\n var allIndexesLen = allIndexes.length,\n i,\n j,\n m,\n dup,\n rest = selector,\n key,\n index,\n indexes = [];\n\n do {\n chunker.exec('');\n if ((m = chunker.exec(rest))) {\n rest = m[3];\n if (m[2] || !rest) {\n for (i = 0; i < allIndexesLen; i++) {\n index = allIndexes[i];\n if ((key = index.selector(m[1]))) {\n j = indexes.length;\n dup = false;\n while (j--) {\n if (indexes[j].index === index && indexes[j].key === key) {\n dup = true;\n break;\n }\n }\n if (!dup) {\n indexes.push({ index: index, key: key });\n }\n break;\n }\n }\n }\n }\n } while (m);\n\n return indexes;\n}\n\n// Internal: Find first item in Array that is a prototype of `proto`.\n//\n// ary - Array of objects\n// proto - Prototype of expected item in `ary`\n//\n// Returns object from `ary` if found. Otherwise returns undefined.\nfunction findByPrototype(ary, proto) {\n var i, len, item;\n for (i = 0, len = ary.length; i < len; i++) {\n item = ary[i];\n if (proto.isPrototypeOf(item)) {\n return item;\n }\n }\n}\n\n// Public: Log when added selector falls under the default index.\n//\n// This API should not be considered stable. May change between\n// minor versions.\n//\n// obj - {selector, data} Object\n//\n// SelectorSet.prototype.logDefaultIndexUsed = function(obj) {\n// console.warn(obj.selector, \"could not be indexed\");\n// };\n//\n// Returns nothing.\nSelectorSet.prototype.logDefaultIndexUsed = function() {};\n\n// Public: Add selector to set.\n//\n// selector - String CSS selector\n// data - Optional data Object (default: undefined)\n//\n// Returns nothing.\nSelectorSet.prototype.add = function(selector, data) {\n var obj,\n i,\n indexProto,\n key,\n index,\n objs,\n selectorIndexes,\n selectorIndex,\n indexes = this.activeIndexes,\n selectors = this.selectors,\n selectorObjects = this.selectorObjects;\n\n if (typeof selector !== 'string') {\n return;\n }\n\n obj = {\n id: this.uid++,\n selector: selector,\n data: data\n };\n selectorObjects[obj.id] = obj;\n\n selectorIndexes = parseSelectorIndexes(this.indexes, selector);\n for (i = 0; i < selectorIndexes.length; i++) {\n selectorIndex = selectorIndexes[i];\n key = selectorIndex.key;\n indexProto = selectorIndex.index;\n\n index = findByPrototype(indexes, indexProto);\n if (!index) {\n index = Object.create(indexProto);\n index.map = new Map();\n indexes.push(index);\n }\n\n if (indexProto === this.indexes['default']) {\n this.logDefaultIndexUsed(obj);\n }\n objs = index.map.get(key);\n if (!objs) {\n objs = [];\n index.map.set(key, objs);\n }\n objs.push(obj);\n }\n\n this.size++;\n selectors.push(selector);\n};\n\n// Public: Remove selector from set.\n//\n// selector - String CSS selector\n// data - Optional data Object (default: undefined)\n//\n// Returns nothing.\nSelectorSet.prototype.remove = function(selector, data) {\n if (typeof selector !== 'string') {\n return;\n }\n\n var selectorIndexes,\n selectorIndex,\n i,\n j,\n k,\n selIndex,\n objs,\n obj,\n indexes = this.activeIndexes,\n selectors = (this.selectors = []),\n selectorObjects = this.selectorObjects,\n removedIds = {},\n removeAll = arguments.length === 1;\n\n selectorIndexes = parseSelectorIndexes(this.indexes, selector);\n for (i = 0; i < selectorIndexes.length; i++) {\n selectorIndex = selectorIndexes[i];\n\n j = indexes.length;\n while (j--) {\n selIndex = indexes[j];\n if (selectorIndex.index.isPrototypeOf(selIndex)) {\n objs = selIndex.map.get(selectorIndex.key);\n if (objs) {\n k = objs.length;\n while (k--) {\n obj = objs[k];\n if (obj.selector === selector && (removeAll || obj.data === data)) {\n objs.splice(k, 1);\n removedIds[obj.id] = true;\n }\n }\n }\n break;\n }\n }\n }\n\n for (i in removedIds) {\n delete selectorObjects[i];\n this.size--;\n }\n\n for (i in selectorObjects) {\n selectors.push(selectorObjects[i].selector);\n }\n};\n\n// Sort by id property handler.\n//\n// a - Selector obj.\n// b - Selector obj.\n//\n// Returns Number.\nfunction sortById(a, b) {\n return a.id - b.id;\n}\n\n// Public: Find all matching decendants of the context element.\n//\n// context - An Element\n//\n// Returns Array of {selector, data, elements} matches.\nSelectorSet.prototype.queryAll = function(context) {\n if (!this.selectors.length) {\n return [];\n }\n\n var matches = {},\n results = [];\n var els = this.querySelectorAll(this.selectors.join(', '), context);\n\n var i, j, len, len2, el, m, match, obj;\n for (i = 0, len = els.length; i < len; i++) {\n el = els[i];\n m = this.matches(el);\n for (j = 0, len2 = m.length; j < len2; j++) {\n obj = m[j];\n if (!matches[obj.id]) {\n match = {\n id: obj.id,\n selector: obj.selector,\n data: obj.data,\n elements: []\n };\n matches[obj.id] = match;\n results.push(match);\n } else {\n match = matches[obj.id];\n }\n match.elements.push(el);\n }\n }\n\n return results.sort(sortById);\n};\n\n// Public: Match element against all selectors in set.\n//\n// el - An Element\n//\n// Returns Array of {selector, data} matches.\nSelectorSet.prototype.matches = function(el) {\n if (!el) {\n return [];\n }\n\n var i, j, k, len, len2, len3, index, keys, objs, obj, id;\n var indexes = this.activeIndexes,\n matchedIds = {},\n matches = [];\n\n for (i = 0, len = indexes.length; i < len; i++) {\n index = indexes[i];\n keys = index.element(el);\n if (keys) {\n for (j = 0, len2 = keys.length; j < len2; j++) {\n if ((objs = index.map.get(keys[j]))) {\n for (k = 0, len3 = objs.length; k < len3; k++) {\n obj = objs[k];\n id = obj.id;\n if (!matchedIds[id] && this.matchesSelector(el, obj.selector)) {\n matchedIds[id] = true;\n matches.push(obj);\n }\n }\n }\n }\n }\n }\n\n return matches.sort(sortById);\n};\n","import SelectorSet from 'selector-set';\n\nvar el = null;\nvar observer = null;\nvar queue = [];\n\nfunction scheduleBatch(document, callback) {\n var calls = [];\n\n function processBatchQueue() {\n var callsCopy = calls;\n calls = [];\n callback(callsCopy);\n }\n\n function scheduleBatchQueue() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n calls.push(args);\n if (calls.length === 1) scheduleMacroTask(document, processBatchQueue);\n }\n\n return scheduleBatchQueue;\n}\n\nfunction scheduleMacroTask(document, callback) {\n if (!observer) {\n observer = new MutationObserver(handleMutations);\n }\n\n if (!el) {\n el = document.createElement('div');\n observer.observe(el, { attributes: true });\n }\n\n queue.push(callback);\n el.setAttribute('data-twiddle', '' + Date.now());\n}\n\nfunction handleMutations() {\n var callbacks = queue;\n queue = [];\n for (var i = 0; i < callbacks.length; i++) {\n try {\n callbacks[i]();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n}\n\n// selector-observer processes dom mutations in two phases. This module applies\n// the Change set from the first phase and invokes the any registered hooks.\n\nvar initMap = new WeakMap();\nvar initializerMap = new WeakMap();\nvar subscriptionMap = new WeakMap();\nvar addMap = new WeakMap();\n\nfunction applyChanges(selectorObserver, changes) {\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i];\n var type = change[0];\n var el = change[1];\n var observer = change[2];\n if (type === ADD) {\n runInit(observer, el);\n runAdd(observer, el);\n } else if (type === REMOVE) {\n runRemove(observer, el);\n } else if (type === REMOVE_ALL) {\n runRemoveAll(selectorObserver.observers, el);\n }\n }\n}\n\n// Run observer node \"initialize\" callback once.\n// Call when observer selector matches node.\n//\n// observer - An observer Object.\n// el - An Element\n//\n// Returns nothing.\nfunction runInit(observer, el) {\n if (!(el instanceof observer.elementConstructor)) {\n return;\n }\n\n var initIds = initMap.get(el);\n if (!initIds) {\n initIds = [];\n initMap.set(el, initIds);\n }\n\n if (initIds.indexOf(observer.id) === -1) {\n var initializer = void 0;\n if (observer.initialize) {\n initializer = observer.initialize.call(undefined, el);\n }\n if (initializer) {\n var initializers = initializerMap.get(el);\n if (!initializers) {\n initializers = {};\n initializerMap.set(el, initializers);\n }\n initializers['' + observer.id] = initializer;\n }\n initIds.push(observer.id);\n }\n}\n\n// Run observer node \"add\" callback.\n// Call when observer selector matches node.\n//\n// observer - An observer Object.\n// el - An Element\n//\n// Returns nothing.\nfunction runAdd(observer, el) {\n if (!(el instanceof observer.elementConstructor)) {\n return;\n }\n\n var addIds = addMap.get(el);\n if (!addIds) {\n addIds = [];\n addMap.set(el, addIds);\n }\n\n if (addIds.indexOf(observer.id) === -1) {\n observer.elements.push(el);\n\n var initializers = initializerMap.get(el);\n var initializer = initializers ? initializers['' + observer.id] : null;\n if (initializer && initializer.add) {\n initializer.add.call(undefined, el);\n }\n\n if (observer.subscribe) {\n var subscription = observer.subscribe.call(undefined, el);\n if (subscription) {\n var subscriptions = subscriptionMap.get(el);\n if (!subscriptions) {\n subscriptions = {};\n subscriptionMap.set(el, subscriptions);\n }\n subscriptions['' + observer.id] = subscription;\n }\n }\n\n if (observer.add) {\n observer.add.call(undefined, el);\n }\n\n addIds.push(observer.id);\n }\n}\n\n// Runs all observer element \"remove\" callbacks.\n// Call when element is completely removed from the DOM.\n//\n// observer - An observer Object.\n// el - An Element\n//\n// Returns nothing.\nfunction runRemove(observer, el) {\n if (!(el instanceof observer.elementConstructor)) {\n return;\n }\n\n var addIds = addMap.get(el);\n if (!addIds) {\n return;\n }\n\n var index = observer.elements.indexOf(el);\n if (index !== -1) {\n observer.elements.splice(index, 1);\n }\n\n index = addIds.indexOf(observer.id);\n if (index !== -1) {\n var initializers = initializerMap.get(el);\n var initializer = initializers ? initializers['' + observer.id] : null;\n if (initializer) {\n if (initializer.remove) {\n initializer.remove.call(undefined, el);\n }\n }\n\n if (observer.subscribe) {\n var subscriptions = subscriptionMap.get(el);\n var subscription = subscriptions ? subscriptions['' + observer.id] : null;\n if (subscription && subscription.unsubscribe) {\n subscription.unsubscribe();\n }\n }\n\n if (observer.remove) {\n observer.remove.call(undefined, el);\n }\n\n addIds.splice(index, 1);\n }\n\n if (addIds.length === 0) {\n addMap.delete(el);\n }\n}\n\n// Runs all observer element \"remove\" callbacks.\n// Call when element is completely removed from the DOM.\n//\n// observes - Array of observers\n// el - An Element\n//\n// Returns nothing.\nfunction runRemoveAll(observers, el) {\n var addIds = addMap.get(el);\n if (!addIds) {\n return;\n }\n\n var ids = addIds.slice(0);\n for (var i = 0; i < ids.length; i++) {\n var observer = observers[ids[i]];\n if (!observer) {\n continue;\n }\n\n var index = observer.elements.indexOf(el);\n if (index !== -1) {\n observer.elements.splice(index, 1);\n }\n\n var initializers = initializerMap.get(el);\n var initializer = initializers ? initializers['' + observer.id] : null;\n if (initializer && initializer.remove) {\n initializer.remove.call(undefined, el);\n }\n\n var subscriptions = subscriptionMap.get(el);\n var subscription = subscriptions ? subscriptions['' + observer.id] : null;\n if (subscription && subscription.unsubscribe) {\n subscription.unsubscribe();\n }\n\n if (observer.remove) {\n observer.remove.call(undefined, el);\n }\n }\n addMap.delete(el);\n}\n\nvar innerHTMLReplacementIsBuggy = null;\n\n// In IE 9/10/11 replacing child via innerHTML will orphan all of the child\n// elements. This prevents walking the descendants of removedNodes.\n// https://connect.microsoft.com/IE/feedback/details/797844/ie9-10-11-dom-child-kill-bug\nfunction detectInnerHTMLReplacementBuggy(document) {\n if (innerHTMLReplacementIsBuggy === null) {\n var a = document.createElement('div');\n var b = document.createElement('div');\n var c = document.createElement('div');\n a.appendChild(b);\n b.appendChild(c);\n a.innerHTML = '';\n innerHTMLReplacementIsBuggy = c.parentNode !== b;\n }\n return innerHTMLReplacementIsBuggy;\n}\n\nfunction supportsSelectorMatching(node) {\n return 'matches' in node || 'webkitMatchesSelector' in node || 'mozMatchesSelector' in node || 'oMatchesSelector' in node || 'msMatchesSelector' in node;\n}\n\n// selector-observer processes dom mutations in two phases. This module\n// processes DOM mutations, revalidates selectors against the target element and\n// enqueues a Change for an observers hooks to be ran.\n\n// A set of Changes is structured as an Array of tuples:\n//\n// [ADD, element, observer]: Indicates that an observer starting matching\n// the element.\nvar ADD = 1;\n\n// [REMOVE, element, observer]: Indicates that an observer stopped matching\n// the element.\nvar REMOVE = 2;\n\n// [REMOVE_ALL, element]: Indicates that an element was removed from the\n// document and all related observers stopped matching the element.\nvar REMOVE_ALL = 3;\n\n// A handler for processing MutationObserver mutations.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// mutations - An array of MutationEvents\n//\n// Return nothing.\nfunction handleMutations$1(selectorObserver, changes, mutations) {\n for (var i = 0; i < mutations.length; i++) {\n var mutation = mutations[i];\n if (mutation.type === 'childList') {\n addNodes(selectorObserver, changes, mutation.addedNodes);\n removeNodes(selectorObserver, changes, mutation.removedNodes);\n } else if (mutation.type === 'attributes') {\n revalidateObservers(selectorObserver, changes, mutation.target);\n }\n }\n if (detectInnerHTMLReplacementBuggy(selectorObserver.ownerDocument)) {\n revalidateOrphanedElements(selectorObserver, changes);\n }\n}\n\n// Run observer node \"add\" callback once on the any matching\n// node and its subtree.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// nodes - A NodeList of Nodes\n//\n// Returns nothing.\nfunction addNodes(selectorObserver, changes, nodes) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n if (supportsSelectorMatching(node)) {\n var matches = selectorObserver.selectorSet.matches(node);\n for (var j = 0; j < matches.length; j++) {\n var data = matches[j].data;\n\n changes.push([ADD, node, data]);\n }\n }\n\n if ('querySelectorAll' in node) {\n var matches2 = selectorObserver.selectorSet.queryAll(node);\n for (var _j = 0; _j < matches2.length; _j++) {\n var _matches2$_j = matches2[_j],\n _data = _matches2$_j.data,\n elements = _matches2$_j.elements;\n\n for (var k = 0; k < elements.length; k++) {\n changes.push([ADD, elements[k], _data]);\n }\n }\n }\n }\n}\n\n// Run all observer node \"remove\" callbacks on the node\n// and its entire subtree.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// nodes - A NodeList of Nodes\n//\n// Returns nothing.\nfunction removeNodes(selectorObserver, changes, nodes) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if ('querySelectorAll' in node) {\n changes.push([REMOVE_ALL, node]);\n var descendants = node.querySelectorAll('*');\n for (var j = 0; j < descendants.length; j++) {\n changes.push([REMOVE_ALL, descendants[j]]);\n }\n }\n }\n}\n\n// Recheck all \"add\" observers to see if the selector still matches.\n// If not, run the \"remove\" callback.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// node - A Node\n//\n// Returns nothing.\nfunction revalidateObservers(selectorObserver, changes, node) {\n if (supportsSelectorMatching(node)) {\n var matches = selectorObserver.selectorSet.matches(node);\n for (var i = 0; i < matches.length; i++) {\n var data = matches[i].data;\n\n changes.push([ADD, node, data]);\n }\n }\n\n if ('querySelectorAll' in node) {\n var ids = addMap.get(node);\n if (ids) {\n for (var _i = 0; _i < ids.length; _i++) {\n var observer = selectorObserver.observers[ids[_i]];\n if (observer) {\n if (!selectorObserver.selectorSet.matchesSelector(node, observer.selector)) {\n changes.push([REMOVE, node, observer]);\n }\n }\n }\n }\n }\n}\n\n// Recheck all \"add\" observers to see if the selector still matches.\n// If not, run the \"remove\" callback. Runs on node and all its descendants.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// node - The root Node\n//\n// Returns nothing.\nfunction revalidateDescendantObservers(selectorObserver, changes, node) {\n if ('querySelectorAll' in node) {\n revalidateObservers(selectorObserver, changes, node);\n var descendants = node.querySelectorAll('*');\n for (var i = 0; i < descendants.length; i++) {\n revalidateObservers(selectorObserver, changes, descendants[i]);\n }\n }\n}\n\n// Recheck input after \"change\" event and possible related form elements.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// input - The HTMLInputElement\n//\n// Returns nothing.\nfunction revalidateInputObservers(selectorObserver, changes, inputs) {\n for (var i = 0; i < inputs.length; i++) {\n var input = inputs[i];\n var els = input.form ? input.form.elements : selectorObserver.rootNode.querySelectorAll('input');\n for (var j = 0; j < els.length; j++) {\n revalidateObservers(selectorObserver, changes, els[j]);\n }\n }\n}\n\n// Check all observed elements to see if they are still in the DOM.\n// Only intended to run on IE where innerHTML replacement is buggy.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n//\n// Returns nothing.\nfunction revalidateOrphanedElements(selectorObserver, changes) {\n for (var i = 0; i < selectorObserver.observers.length; i++) {\n var observer = selectorObserver.observers[i];\n if (observer) {\n var elements = observer.elements;\n\n for (var j = 0; j < elements.length; j++) {\n var el = elements[j];\n if (!el.parentNode) {\n changes.push([REMOVE_ALL, el]);\n }\n }\n }\n }\n}\n\nfunction whenReady(document, callback) {\n var readyState = document.readyState;\n if (readyState === 'interactive' || readyState === 'complete') {\n scheduleMacroTask(document, callback);\n } else {\n document.addEventListener('DOMContentLoaded', scheduleMacroTask(document, callback));\n }\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n// Observer uid counter\nvar uid = 0;\n\nfunction SelectorObserver(rootNode) {\n this.rootNode = rootNode.nodeType === 9 ? rootNode.documentElement : rootNode;\n this.ownerDocument = rootNode.nodeType === 9 ? rootNode : rootNode.ownerDocument;\n\n // Map of observer id to object\n this.observers = [];\n\n // Index of selectors to observer objects\n this.selectorSet = new SelectorSet();\n\n // Process all mutations from root element\n this.mutationObserver = new MutationObserver(handleRootMutations.bind(this, this));\n\n this._scheduleAddRootNodes = scheduleBatch(this.ownerDocument, addRootNodes.bind(this, this));\n\n this._handleThrottledChangedTargets = scheduleBatch(this.ownerDocument, handleChangedTargets.bind(this, this));\n this.rootNode.addEventListener('change', handleChangeEvents.bind(this, this), false);\n\n whenReady(this.ownerDocument, onReady.bind(this, this));\n}\n\nSelectorObserver.prototype.disconnect = function () {\n this.mutationObserver.disconnect();\n};\n\n// Register a new observer.\n//\n// selector - String CSS selector.\n// handlers - Initialize Function or Object with keys:\n// initialize - Function to invoke once when Node is first matched\n// add - Function to invoke when Node matches selector\n// remove - Function to invoke when Node no longer matches selector\n// subscribe - Function to invoke when Node matches selector and returns Subscription.\n//\n// Returns Observer object.\nSelectorObserver.prototype.observe = function (a, b) {\n var handlers = void 0;\n\n if (typeof b === 'function') {\n handlers = {\n selector: a,\n initialize: b\n };\n } else if ((typeof b === 'undefined' ? 'undefined' : _typeof(b)) === 'object') {\n handlers = b;\n handlers.selector = a;\n } else {\n handlers = a;\n }\n\n var self = this;\n\n var observer = {\n id: uid++,\n selector: handlers.selector,\n initialize: handlers.initialize,\n add: handlers.add,\n remove: handlers.remove,\n subscribe: handlers.subscribe,\n elements: [],\n elementConstructor: handlers.hasOwnProperty('constructor') ? handlers.constructor : this.ownerDocument.defaultView.Element,\n abort: function abort() {\n self._abortObserving(observer);\n }\n };\n this.selectorSet.add(observer.selector, observer);\n this.observers[observer.id] = observer;\n this._scheduleAddRootNodes();\n\n return observer;\n};\n\n// Removes observer and calls any remaining remove hooks.\n//\n// observer - Observer object\n//\n// Returns nothing.\nSelectorObserver.prototype._abortObserving = function (observer) {\n var elements = observer.elements;\n for (var i = 0; i < elements.length; i++) {\n runRemove(observer, elements[i]);\n }\n this.selectorSet.remove(observer.selector, observer);\n delete this.observers[observer.id];\n};\n\n// Internal: For hacking in dirty changes that aren't getting picked up\nSelectorObserver.prototype.triggerObservers = function (container) {\n var changes = [];\n revalidateDescendantObservers(this, changes, container);\n applyChanges(this, changes);\n};\n\nfunction onReady(selectorObserver) {\n selectorObserver.mutationObserver.observe(selectorObserver.rootNode, {\n childList: true,\n attributes: true,\n subtree: true\n });\n selectorObserver._scheduleAddRootNodes();\n}\n\nfunction addRootNodes(selectorObserver) {\n var changes = [];\n addNodes(selectorObserver, changes, [selectorObserver.rootNode]);\n applyChanges(selectorObserver, changes);\n}\n\nfunction handleRootMutations(selectorObserver, mutations) {\n var changes = [];\n handleMutations$1(selectorObserver, changes, mutations);\n applyChanges(selectorObserver, changes);\n}\n\nfunction handleChangeEvents(selectorObserver, event) {\n selectorObserver._handleThrottledChangedTargets(event.target);\n}\n\nfunction handleChangedTargets(selectorObserver, inputs) {\n var changes = [];\n revalidateInputObservers(selectorObserver, changes, inputs);\n applyChanges(selectorObserver, changes);\n}\n\n// observe\n//\n// Observe provides a declarative hook thats informed when an element becomes\n// matched by a selector, and then when it stops matching the selector.\n//\n// Examples\n//\n// observe('.js-foo', (el) => {\n// console.log(el, 'was added to the DOM')\n// })\n//\n// observe('.js-bar', {\n// add(el) { console.log('js-bar was added to', el) },\n// remove(el) { console.log 'js-bar was removed from', el) }\n// })\n//\n\nvar documentObserver = void 0;\n\nfunction getDocumentObserver() {\n if (!documentObserver) {\n documentObserver = new SelectorObserver(window.document);\n }\n return documentObserver;\n}\n\nfunction observe() {\n var _getDocumentObserver;\n\n return (_getDocumentObserver = getDocumentObserver()).observe.apply(_getDocumentObserver, arguments);\n}\n\nfunction triggerObservers() {\n var _getDocumentObserver2;\n\n return (_getDocumentObserver2 = getDocumentObserver()).triggerObservers.apply(_getDocumentObserver2, arguments);\n}\n\nexport default SelectorObserver;\nexport { getDocumentObserver, observe, triggerObservers };\n","import { provideCore } from \"@yext/answers-core\";\r\nimport { observe } from \"selector-observer\";\r\n\r\nconst core = provideCore({\r\n apiKey: \"bce1894db0359d566d0f82971cfbfede\",\r\n experienceKey: \"uc-san-diego-main-site-answers\",\r\n// experienceKey: \"uc-san-diego-taxonomy-answers\",\r\n locale: \"en\",\r\n experienceVersion: \"PRODUCTION\",\r\n});\r\n\r\nfunction debounce(func, timeout = 300) {\r\n let timer;\r\n return (...args) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => {\r\n func.apply(this, args);\r\n }, timeout);\r\n };\r\n}\r\n\r\nconst initSearchbar = () => {\r\n observe(\".input-container\", {\r\n add(element) {\r\n const inputDropdownContainer = element.parentElement;\r\n const input = element.querySelector(\"input\");\r\n const clearBtn = element.querySelector(\".search-bar__clear-btn\");\r\n const dropdownContainer = inputDropdownContainer.querySelector(\".dropdown-container\");\r\n const searchBarForm = element.closest(\"form\");\r\n\r\n const { dataset } = inputDropdownContainer;\r\n const { searchUrl, verticalKey, autocomplete } = dataset;\r\n\r\n const render = ({ results }) => {\r\n if (results.length) {\r\n let html = \"\";\r\n const items = results\r\n .map(({ value }, index) => {\r\n if (index > 2) return; // limit results 3 or less\r\n const searchpageUrl = new URL(searchUrl);\r\n searchpageUrl.searchParams.append(\"vertical\", verticalKey);\r\n searchpageUrl.searchParams.append(\"query\", value);\r\n return `
  • ${value}
  • `;\r\n })\r\n .join(\"\");\r\n html = ``;\r\n dropdownContainer.innerHTML = html;\r\n }\r\n };\r\n\r\n const getAutocompleteData = () => {\r\n if (autocomplete) {\r\n if (verticalKey) {\r\n core\r\n .verticalAutocomplete({\r\n verticalKey,\r\n input: input.value,\r\n })\r\n .then((data) => render(data, verticalKey))\r\n .catch(() => console.log(\"Unable to provide autocomplete options for searchbar\"));\r\n } else {\r\n core\r\n .universalAutocomplete({\r\n input: input.value,\r\n })\r\n .then((data) => render(data))\r\n .catch(() => console.log(\"Unable to provide autocomplete options for searchbar\"));\r\n }\r\n }\r\n };\r\n\r\n const focusInputDropdown = () => {\r\n if (inputDropdownContainer.classList.contains(\"active\")) {\r\n return;\r\n }\r\n\r\n inputDropdownContainer.classList.add(\"active\");\r\n input.focus();\r\n getAutocompleteData(input.value);\r\n };\r\n\r\n const blurInputDropdown = (event) => {\r\n if (inputDropdownContainer.contains(event.target)) {\r\n return;\r\n }\r\n\r\n inputDropdownContainer.classList.remove(\"active\");\r\n while (dropdownContainer.firstChild) {\r\n dropdownContainer.removeChild(dropdownContainer.firstChild);\r\n }\r\n };\r\n\r\n const clearInput = () => {\r\n input.value = \"\";\r\n\r\n while (dropdownContainer.firstChild) {\r\n dropdownContainer.removeChild(dropdownContainer.firstChild);\r\n }\r\n };\r\n\r\n const search = (event) => {\r\n event.preventDefault();\r\n const url = new URL(searchUrl);\r\n url.searchParams.append(\"query\", input.value);\r\n url.searchParams.append(\"vertical\", verticalKey);\r\n window.location = url.href;\r\n return false;\r\n };\r\n\r\n element.addEventListener(\"click\", focusInputDropdown);\r\n document.addEventListener(\"click\", blurInputDropdown);\r\n clearBtn.addEventListener(\"click\", clearInput);\r\n searchBarForm.onsubmit = search;\r\n input.addEventListener(\"keyup\", debounce(() => getAutocompleteData()));\r\n },\r\n });\r\n};\r\n\r\ninitSearchbar();"],"names":["global","self","this","__self__","F","fetch","DOMException","prototype","exports","support","Symbol","Blob","e","viewClasses","isArrayBufferView","ArrayBuffer","isView","obj","indexOf","Object","toString","call","normalizeName","name","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","iterator","next","shift","done","undefined","Headers","headers","map","forEach","append","Array","isArray","header","getOwnPropertyNames","consumed","body","bodyUsed","Promise","reject","fileReaderReady","reader","resolve","onload","result","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","get","type","rejected","Error","arrayBuffer","then","text","readAsText","chars","length","i","fromCharCode","join","readArrayBufferAsText","formData","decode","json","JSON","parse","oldValue","has","hasOwnProperty","callback","thisArg","keys","push","values","entries","methods","Request","input","options","method","upcased","url","credentials","mode","signal","toUpperCase","referrer","form","trim","split","bytes","replace","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","err","message","stack","create","constructor","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","key","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","defineProperty","ponyfill","ctx","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","enumerable","prop","DirectAnswerType","Source","AnswersCore","searchService","questionSubmissionService","autoCompleteService","universalSearch","verticalSearch","submitQuestion","universalAutocomplete","verticalAutocomplete","filterSearch","Matcher","ResultsFactory","results","source","_this","index","resultIndex","KnowledgeManager","fromKnowledgeManager","Google","fromGoogleCustomSearchEngine","Bing","fromBingCustomSearchEngine","Zendesk","fromZendeskSearchEngine","Algolia","fromAlgoliaSearchEngine","fromCustomSource","_a","rawData","data","description","link","website","id","distance","distanceFromFilter","highlightedFields","entityType","htmlTitle","htmlSnippet","snippet","title","html_url","objectID","Custom","fromDirectAnswer","fieldValues","__assign","assign","t","s","arguments","p","apply","createDirectAnswer","isFieldValueDirectAnswer","FieldValue","isFeaturedSnippetDirectAnswer","FeaturedSnippet","commonDirectAnswerData","answer","relatedResult","relatedItem","verticalKey","verticalConfigId","fieldType","entityName","fieldName","fieldApiName","createFilter","filter","fieldId","matcher","Between","numberRangeValue","limitMatcher","GreaterThan","GreaterThanOrEqualTo","start","LessThan","LessThanOrEqualTo","end","createNumberRangeValue","createLocationBias","latitude","longitude","displayName","locationDisplayName","accuracy","createSpellCheck","originalQuery","correctedQuery","createAppliedQueryFilter","displayKey","displayValue","details","createVerticalResults","appliedQueryFilters","queryDurationMillis","resultsCount","createVerticalSearchResponse","facets","verticalResults","queryId","directAnswer","searchIntents","facet","option","count","selected","spellCheck","locationBias","allResultsForVertical","alternativeVerticals","modules","uuid","meta","queryRulesActionsData","QuerySource","defaultApiVersion","defaultEndpoints","questionSubmission","createFailedVertical","errorType","serializeStaticFilters","isCombinedFilter","stringify","shapeCombinedFilterForApi","shapeFilterForApi","combinedFilter","shapedFilters","_i","_b","filters","combinator","filterValues","serializeFacets","reduce","shapedFacets","shapeFacetOptionArrayForApi","getClientSdk","additionalHttpHeaders","coreAgent","ANSWERS_CORE","customClientSdk","clientSdk","agent","version","__awaiter","_arguments","P","generator","fulfilled","step","__generator","f","y","g","_","label","sent","trys","ops","verb","v","op","pop","SearchServiceImpl","config","httpService","apiResponseValidator","universalSearchEndpoint","endpoints","verticalSearchEndpoint","_c","queryParams","_d","validationResult","_e","query","experienceKey","api_key","apiKey","experienceVersion","limit","stringifyLatLong","locale","skipSpellCheck","session_id","sessionId","sessionTrackingEnabled","queryTrigger","context","referrerPageUrl","querySource","Standard","visitorId","visitor","visitorIdMethod","idMethod","restrictVerticals","additionalQueryParams","token","validate","failedVerticals","_f","staticFilters","offset","retrieveFacets","facetFilters","sortBys","locationRadius","latLong","concat","QuestionSubmissionServiceImpl","endpoint","email","entityId","questionDescription","questionLanguage","questionText","site","post","sanitizeQueryParams","params","RequestMethods","HttpServiceImpl","authToken","GET","formatAsHttpHeader","Authorization","res","sanitizedBodyParams","POST","reqInit","urlWithParams","parsedUrl","URL","urlParams","search","substring","sanitizedParams","updatedUrl","origin","pathname","paramsString","addParamsToURL","window","combinedHeader","currentKey","httpFormattedHeader","extendStatics","__extends","b","setPrototypeOf","__proto__","__","AnswersError","_super","code","createAutocompleteResult","matchedSubstrings","verticalKeys","createAutocompleteResponse","responseResults","inputIntents","queryIntents","createFilterSearchResponse","responseCode","sections","section","businessId","FilterCombinator","QueryTrigger","SortType","Direction","AppliedQueryFilterType","LocationBiasMethod","SearchIntent","SpellCheckType","ErrorType","AutocompleteServiceImpl","httpRequester","universalEndpoint","verticalEndpoint","filterEndpoint","searchParams","sectioned","fields","entityTypeId","shouldFetchEntities","fetchEntities","search_parameters","excluded","excludedFields","ApiResponseValidator","apiResponse","validateResponseProp","validateMetaProp","checkForApiErrors","testFn","find","errors","SelectorSet","size","uid","selectors","selectorObjects","indexes","activeIndexes","docElem","document","documentElement","matches","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","matchesSelector","el","selector","querySelectorAll","idRe","sel","m","match","element","classRe","className","baseVal","Map","tagRe","nodeName","chunker","parseSelectorIndexes","allIndexes","j","dup","allIndexesLen","rest","exec","findByPrototype","ary","proto","len","item","sortById","logDefaultIndexUsed","add","indexProto","objs","selectorIndexes","selectorIndex","remove","k","selIndex","removedIds","removeAll","splice","queryAll","len2","els","elements","sort","len3","matchedIds","observer","queue","scheduleBatch","calls","processBatchQueue","callsCopy","_len","args","_key","scheduleMacroTask","MutationObserver","handleMutations","createElement","observe","attributes","setAttribute","Date","now","callbacks","setTimeout","initMap","WeakMap","initializerMap","subscriptionMap","addMap","applyChanges","selectorObserver","changes","change","ADD","runInit","runAdd","REMOVE","runRemove","REMOVE_ALL","runRemoveAll","observers","elementConstructor","initIds","initializer","initialize","initializers","addIds","subscribe","subscription","subscriptions","unsubscribe","delete","ids","innerHTMLReplacementIsBuggy","supportsSelectorMatching","node","handleMutations$1","mutations","mutation","addNodes","addedNodes","removeNodes","removedNodes","revalidateObservers","target","c","appendChild","innerHTML","parentNode","detectInnerHTMLReplacementBuggy","ownerDocument","revalidateOrphanedElements","nodes","selectorSet","matches2","_j","_matches2$_j","_data","descendants","_typeof","SelectorObserver","rootNode","nodeType","mutationObserver","handleRootMutations","bind","_scheduleAddRootNodes","addRootNodes","_handleThrottledChangedTargets","handleChangedTargets","handleChangeEvents","whenReady","onReady","childList","subtree","event","inputs","revalidateInputObservers","disconnect","handlers","defaultView","Element","_abortObserving","triggerObservers","container","revalidateDescendantObservers","documentObserver","getDocumentObserver","core","defaultedConfig","provideCore","_getDocumentObserver","inputDropdownContainer","parentElement","querySelector","clearBtn","dropdownContainer","searchBarForm","closest","dataset","searchUrl","autocomplete","render","html","searchpageUrl","href","getAutocompleteData","catch","console","log","classList","contains","focus","firstChild","removeChild","onsubmit","preventDefault","func","timeout","timer","clearTimeout","debounce"],"sourceRoot":""}