{"version":3,"file":"javascripts/chunks/428836e7327cc21331e0.578.js","mappings":"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","sources":["webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/internals/string-trim-forced.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/internals/string-trim.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/internals/whitespaces.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/modules/es.array.join.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/modules/es.string.split.js","webpack:///../.yarn/unplugged/core-js-npm-3.19.3-6f11d9f8bc/node_modules/core-js/modules/es.string.trim.js","webpack:///../.yarn/__virtual__/instantsearch.js-virtual-989e92f595/0/cache/instantsearch.js-npm-4.64.3-4324ead491-583788ac86.zip/node_modules/instantsearch.js/es/connectors/current-refinements/connectCurrentRefinements.js","webpack:///../.yarn/__virtual__/react-instantsearch-core-virtual-e6168d3b11/0/cache/react-instantsearch-core-npm-7.5.5-ff1c29c0b0-c19403f3aa.zip/node_modules/react-instantsearch-core/dist/es/connectors/useCurrentRefinements.js","webpack:///../.yarn/__virtual__/instantsearch.js-virtual-989e92f595/0/cache/instantsearch.js-npm-4.64.3-4324ead491-583788ac86.zip/node_modules/instantsearch.js/es/lib/utils/getWidgetAttribute.js","webpack:///../.yarn/__virtual__/instantsearch.js-virtual-989e92f595/0/cache/instantsearch.js-npm-4.64.3-4324ead491-583788ac86.zip/node_modules/instantsearch.js/es/connectors/dynamic-widgets/connectDynamicWidgets.js","webpack:///../.yarn/__virtual__/react-instantsearch-core-virtual-e6168d3b11/0/cache/react-instantsearch-core-npm-7.5.5-ff1c29c0b0-c19403f3aa.zip/node_modules/react-instantsearch-core/dist/es/connectors/useDynamicWidgets.js","webpack:///../.yarn/__virtual__/instantsearch.js-virtual-989e92f595/0/cache/instantsearch.js-npm-4.64.3-4324ead491-583788ac86.zip/node_modules/instantsearch.js/es/lib/utils/isFiniteNumber.js","webpack:///../.yarn/__virtual__/instantsearch.js-virtual-989e92f595/0/cache/instantsearch.js-npm-4.64.3-4324ead491-583788ac86.zip/node_modules/instantsearch.js/es/connectors/range/connectRange.js","webpack:///../.yarn/__virtual__/react-instantsearch-core-virtual-e6168d3b11/0/cache/react-instantsearch-core-npm-7.5.5-ff1c29c0b0-c19403f3aa.zip/node_modules/react-instantsearch-core/dist/es/connectors/useRange.js","webpack:///../.yarn/__virtual__/instantsearch.js-virtual-989e92f595/0/cache/instantsearch.js-npm-4.64.3-4324ead491-583788ac86.zip/node_modules/instantsearch.js/es/connectors/refinement-list/connectRefinementList.js","webpack:///../.yarn/__virtual__/react-instantsearch-core-virtual-e6168d3b11/0/cache/react-instantsearch-core-npm-7.5.5-ff1c29c0b0-c19403f3aa.zip/node_modules/react-instantsearch-core/dist/es/connectors/useRefinementList.js"],"sourcesContent":["var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar un$Join = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar arraySlice = require('../internals/array-slice-simple');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return call(nativeSplit, string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = call(regexpExec, separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n push(output, stringSlice(string, lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !exec(separatorCopy, '')) push(output, '');\n } else push(output, stringSlice(string, lastLastIndex));\n return output.length > lim ? arraySlice(output, 0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { getRefinements, checkRendering, createDocumentationMessageGenerator, noop, warning } from \"../../lib/utils/index.js\";\nvar withUsage = createDocumentationMessageGenerator({\n name: 'current-refinements',\n connector: true\n});\nvar connectCurrentRefinements = function connectCurrentRefinements(renderFn) {\n var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n checkRendering(renderFn, withUsage());\n return function (widgetParams) {\n if ((widgetParams || {}).includedAttributes && (widgetParams || {}).excludedAttributes) {\n throw new Error(withUsage('The options `includedAttributes` and `excludedAttributes` cannot be used together.'));\n }\n var _ref = widgetParams || {},\n includedAttributes = _ref.includedAttributes,\n _ref$excludedAttribut = _ref.excludedAttributes,\n excludedAttributes = _ref$excludedAttribut === void 0 ? ['query'] : _ref$excludedAttribut,\n _ref$transformItems = _ref.transformItems,\n transformItems = _ref$transformItems === void 0 ? function (items) {\n return items;\n } : _ref$transformItems;\n return {\n $$type: 'ais.currentRefinements',\n init: function init(initOptions) {\n var instantSearchInstance = initOptions.instantSearchInstance;\n renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {\n instantSearchInstance: instantSearchInstance\n }), true);\n },\n render: function render(renderOptions) {\n var instantSearchInstance = renderOptions.instantSearchInstance;\n renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(renderOptions)), {}, {\n instantSearchInstance: instantSearchInstance\n }), false);\n },\n dispose: function dispose() {\n unmountFn();\n },\n getRenderState: function getRenderState(renderState, renderOptions) {\n return _objectSpread(_objectSpread({}, renderState), {}, {\n currentRefinements: this.getWidgetRenderState(renderOptions)\n });\n },\n getWidgetRenderState: function getWidgetRenderState(_ref2) {\n var results = _ref2.results,\n scopedResults = _ref2.scopedResults,\n _createURL = _ref2.createURL,\n helper = _ref2.helper;\n function getItems() {\n if (!results) {\n return transformItems(getRefinementsItems({\n results: {},\n helper: helper,\n indexId: helper.state.index,\n includedAttributes: includedAttributes,\n excludedAttributes: excludedAttributes\n }), {\n results: results\n });\n }\n return scopedResults.reduce(function (accResults, scopedResult) {\n return accResults.concat(transformItems(getRefinementsItems({\n results: scopedResult.results,\n helper: scopedResult.helper,\n indexId: scopedResult.indexId,\n includedAttributes: includedAttributes,\n excludedAttributes: excludedAttributes\n }), {\n results: results\n }));\n }, []);\n }\n var items = getItems();\n return {\n items: items,\n canRefine: items.length > 0,\n refine: function refine(refinement) {\n return clearRefinement(helper, refinement);\n },\n createURL: function createURL(refinement) {\n return _createURL(clearRefinementFromState(helper.state, refinement));\n },\n widgetParams: widgetParams\n };\n }\n };\n };\n};\nfunction getRefinementsItems(_ref3) {\n var results = _ref3.results,\n helper = _ref3.helper,\n indexId = _ref3.indexId,\n includedAttributes = _ref3.includedAttributes,\n excludedAttributes = _ref3.excludedAttributes;\n var includesQuery = (includedAttributes || []).indexOf('query') !== -1 || (excludedAttributes || []).indexOf('query') === -1;\n var filterFunction = includedAttributes ? function (item) {\n return includedAttributes.indexOf(item.attribute) !== -1;\n } : function (item) {\n return excludedAttributes.indexOf(item.attribute) === -1;\n };\n var items = getRefinements(results, helper.state, includesQuery).map(normalizeRefinement).filter(filterFunction);\n return items.reduce(function (allItems, currentItem) {\n return [].concat(_toConsumableArray(allItems.filter(function (item) {\n return item.attribute !== currentItem.attribute;\n })), [{\n indexName: helper.state.index,\n indexId: indexId,\n attribute: currentItem.attribute,\n label: currentItem.attribute,\n refinements: items.filter(function (result) {\n return result.attribute === currentItem.attribute;\n })\n // We want to keep the order of refinements except the numeric ones.\n .sort(function (a, b) {\n return a.type === 'numeric' ? a.value - b.value : 0;\n }),\n refine: function refine(refinement) {\n return clearRefinement(helper, refinement);\n }\n }]);\n }, []);\n}\nfunction clearRefinementFromState(state, refinement) {\n state = state.resetPage();\n switch (refinement.type) {\n case 'facet':\n return state.removeFacetRefinement(refinement.attribute, String(refinement.value));\n case 'disjunctive':\n return state.removeDisjunctiveFacetRefinement(refinement.attribute, String(refinement.value));\n case 'hierarchical':\n return state.removeHierarchicalFacetRefinement(refinement.attribute);\n case 'exclude':\n return state.removeExcludeRefinement(refinement.attribute, String(refinement.value));\n case 'numeric':\n return state.removeNumericRefinement(refinement.attribute, refinement.operator, String(refinement.value));\n case 'tag':\n return state.removeTagRefinement(String(refinement.value));\n case 'query':\n return state.setQueryParameter('query', '');\n default:\n process.env.NODE_ENV === 'development' ? warning(false, \"The refinement type \\\"\".concat(refinement.type, \"\\\" does not exist and cannot be cleared from the current refinements.\")) : void 0;\n return state;\n }\n}\nfunction clearRefinement(helper, refinement) {\n helper.setState(clearRefinementFromState(helper.state, refinement)).search();\n}\nfunction getOperatorSymbol(operator) {\n switch (operator) {\n case '>=':\n return '≥';\n case '<=':\n return '≤';\n default:\n return operator;\n }\n}\nfunction normalizeRefinement(refinement) {\n var value = getValue(refinement);\n var label = refinement.operator ? \"\".concat(getOperatorSymbol(refinement.operator), \" \").concat(refinement.name) : refinement.name;\n var normalizedRefinement = {\n attribute: refinement.attribute,\n type: refinement.type,\n value: value,\n label: label\n };\n if (refinement.operator !== undefined) {\n normalizedRefinement.operator = refinement.operator;\n }\n if (refinement.count !== undefined) {\n normalizedRefinement.count = refinement.count;\n }\n if (refinement.exhaustive !== undefined) {\n normalizedRefinement.exhaustive = refinement.exhaustive;\n }\n return normalizedRefinement;\n}\nfunction getValue(refinement) {\n if (refinement.type === 'numeric') {\n return Number(refinement.name);\n }\n if ('escapedValue' in refinement) {\n return refinement.escapedValue;\n }\n return refinement.name;\n}\nexport default connectCurrentRefinements;","import connectCurrentRefinements from \"instantsearch.js/es/connectors/current-refinements/connectCurrentRefinements.js\";\nimport { useConnector } from \"../hooks/useConnector.js\";\nexport function useCurrentRefinements(props, additionalWidgetProperties) {\n return useConnector(connectCurrentRefinements, props, additionalWidgetProperties);\n}","export function getWidgetAttribute(widget, initOptions) {\n var _widget$getWidgetRend;\n var renderState = (_widget$getWidgetRend = widget.getWidgetRenderState) === null || _widget$getWidgetRend === void 0 ? void 0 : _widget$getWidgetRend.call(widget, initOptions);\n var attribute = null;\n if (renderState && renderState.widgetParams) {\n // casting as widgetParams is checked just before\n var widgetParams = renderState.widgetParams;\n if (widgetParams.attribute) {\n attribute = widgetParams.attribute;\n } else if (Array.isArray(widgetParams.attributes)) {\n attribute = widgetParams.attributes[0];\n }\n }\n if (typeof attribute !== 'string') {\n throw new Error(\"Could not find the attribute of the widget:\\n\\n\".concat(JSON.stringify(widget), \"\\n\\nPlease check whether the widget's getWidgetRenderState returns widgetParams.attribute correctly.\"));\n }\n return attribute;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nimport { checkRendering, createDocumentationMessageGenerator, getWidgetAttribute, noop, warning } from \"../../lib/utils/index.js\";\nvar withUsage = createDocumentationMessageGenerator({\n name: 'dynamic-widgets',\n connector: true\n});\nvar MAX_WILDCARD_FACETS = 20;\nvar connectDynamicWidgets = function connectDynamicWidgets(renderFn) {\n var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n checkRendering(renderFn, withUsage());\n return function (widgetParams) {\n var widgets = widgetParams.widgets,\n _widgetParams$maxValu = widgetParams.maxValuesPerFacet,\n maxValuesPerFacet = _widgetParams$maxValu === void 0 ? 20 : _widgetParams$maxValu,\n _widgetParams$facets = widgetParams.facets,\n facets = _widgetParams$facets === void 0 ? ['*'] : _widgetParams$facets,\n _widgetParams$transfo = widgetParams.transformItems,\n transformItems = _widgetParams$transfo === void 0 ? function (items) {\n return items;\n } : _widgetParams$transfo,\n fallbackWidget = widgetParams.fallbackWidget;\n if (!(widgets && Array.isArray(widgets) && widgets.every(function (widget) {\n return _typeof(widget) === 'object';\n }))) {\n throw new Error(withUsage('The `widgets` option expects an array of widgets.'));\n }\n if (!Array.isArray(facets)) {\n throw new Error(withUsage(\"The `facets` option only accepts an array of facets, you passed \".concat(JSON.stringify(facets))));\n }\n var localWidgets = new Map();\n return {\n $$type: 'ais.dynamicWidgets',\n init: function init(initOptions) {\n widgets.forEach(function (widget) {\n var attribute = getWidgetAttribute(widget, initOptions);\n localWidgets.set(attribute, {\n widget: widget,\n isMounted: false\n });\n });\n renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {\n instantSearchInstance: initOptions.instantSearchInstance\n }), true);\n },\n render: function render(renderOptions) {\n var parent = renderOptions.parent;\n var renderState = this.getWidgetRenderState(renderOptions);\n var widgetsToUnmount = [];\n var widgetsToMount = [];\n if (fallbackWidget) {\n renderState.attributesToRender.forEach(function (attribute) {\n if (!localWidgets.has(attribute)) {\n var widget = fallbackWidget({\n attribute: attribute\n });\n localWidgets.set(attribute, {\n widget: widget,\n isMounted: false\n });\n }\n });\n }\n localWidgets.forEach(function (_ref, attribute) {\n var widget = _ref.widget,\n isMounted = _ref.isMounted;\n var shouldMount = renderState.attributesToRender.indexOf(attribute) > -1;\n if (!isMounted && shouldMount) {\n widgetsToMount.push(widget);\n localWidgets.set(attribute, {\n widget: widget,\n isMounted: true\n });\n } else if (isMounted && !shouldMount) {\n widgetsToUnmount.push(widget);\n localWidgets.set(attribute, {\n widget: widget,\n isMounted: false\n });\n }\n });\n parent.addWidgets(widgetsToMount);\n // make sure this only happens after the regular render, otherwise it\n // happens too quick, since render is \"deferred\" for the next microtask,\n // so this needs to be a whole task later\n setTimeout(function () {\n return parent.removeWidgets(widgetsToUnmount);\n }, 0);\n renderFn(_objectSpread(_objectSpread({}, renderState), {}, {\n instantSearchInstance: renderOptions.instantSearchInstance\n }), false);\n },\n dispose: function dispose(_ref2) {\n var parent = _ref2.parent;\n var toRemove = [];\n localWidgets.forEach(function (_ref3) {\n var widget = _ref3.widget,\n isMounted = _ref3.isMounted;\n if (isMounted) {\n toRemove.push(widget);\n }\n });\n parent.removeWidgets(toRemove);\n unmountFn();\n },\n getWidgetSearchParameters: function getWidgetSearchParameters(state) {\n return facets.reduce(function (acc, curr) {\n return acc.addFacet(curr);\n }, state.setQueryParameters({\n maxValuesPerFacet: Math.max(maxValuesPerFacet || 0, state.maxValuesPerFacet || 0)\n }));\n },\n getRenderState: function getRenderState(renderState, renderOptions) {\n return _objectSpread(_objectSpread({}, renderState), {}, {\n dynamicWidgets: this.getWidgetRenderState(renderOptions)\n });\n },\n getWidgetRenderState: function getWidgetRenderState(_ref4) {\n var _results$renderingCon, _results$renderingCon2, _results$renderingCon3, _results$renderingCon4;\n var results = _ref4.results,\n state = _ref4.state;\n if (!results) {\n return {\n attributesToRender: [],\n widgetParams: widgetParams\n };\n }\n var attributesToRender = transformItems((_results$renderingCon = (_results$renderingCon2 = results.renderingContent) === null || _results$renderingCon2 === void 0 ? void 0 : (_results$renderingCon3 = _results$renderingCon2.facetOrdering) === null || _results$renderingCon3 === void 0 ? void 0 : (_results$renderingCon4 = _results$renderingCon3.facets) === null || _results$renderingCon4 === void 0 ? void 0 : _results$renderingCon4.order) !== null && _results$renderingCon !== void 0 ? _results$renderingCon : [], {\n results: results\n });\n if (!Array.isArray(attributesToRender)) {\n throw new Error(withUsage('The `transformItems` option expects a function that returns an Array.'));\n }\n process.env.NODE_ENV === 'development' ? warning(maxValuesPerFacet >= (state.maxValuesPerFacet || 0), \"The maxValuesPerFacet set by dynamic widgets (\".concat(maxValuesPerFacet, \") is smaller than one of the limits set by a widget (\").concat(state.maxValuesPerFacet, \"). This causes a mismatch in query parameters and thus an extra network request when that widget is mounted.\")) : void 0;\n process.env.NODE_ENV === 'development' ? warning(attributesToRender.length <= MAX_WILDCARD_FACETS || widgetParams.facets !== undefined, \"More than \".concat(MAX_WILDCARD_FACETS, \" facets are requested to be displayed without explicitly setting which facets to retrieve. This could have a performance impact. Set \\\"facets\\\" to [] to do two smaller network requests, or explicitly to ['*'] to avoid this warning.\")) : void 0;\n return {\n attributesToRender: attributesToRender,\n widgetParams: widgetParams\n };\n }\n };\n };\n};\nexport default connectDynamicWidgets;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport connectDynamicWidgets from \"instantsearch.js/es/connectors/dynamic-widgets/connectDynamicWidgets.js\";\nimport { useConnector } from \"../hooks/useConnector.js\";\nexport function useDynamicWidgets(props, additionalWidgetProperties) {\n return useConnector(connectDynamicWidgets, _objectSpread(_objectSpread({}, props), {}, {\n // We don't rely on InstantSearch.js for rendering widgets because React\n // directly manipulates the children.\n widgets: []\n }), additionalWidgetProperties);\n}","// This is the `Number.isFinite()` polyfill recommended by MDN.\n// We do not provide any tests for this function.\n// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite#Polyfill\n// @MAJOR Replace with the native `Number.isFinite` method\nexport function isFiniteNumber(value) {\n return typeof value === 'number' && isFinite(value);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport { checkRendering, createDocumentationMessageGenerator, isFiniteNumber, find, noop } from \"../../lib/utils/index.js\";\nvar withUsage = createDocumentationMessageGenerator({\n name: 'range-input',\n connector: true\n}, {\n name: 'range-slider',\n connector: true\n});\nvar $$type = 'ais.range';\n\n// @MAJOR: potentially we should consolidate these types\n\nfunction toPrecision(_ref) {\n var min = _ref.min,\n max = _ref.max,\n precision = _ref.precision;\n var pow = Math.pow(10, precision);\n return {\n min: min ? Math.floor(min * pow) / pow : min,\n max: max ? Math.ceil(max * pow) / pow : max\n };\n}\n\n/**\n * **Range** connector provides the logic to create custom widget that will let\n * the user refine results using a numeric range.\n *\n * This connectors provides a `refine()` function that accepts bounds. It will also provide\n * information about the min and max bounds for the current result set.\n */\nvar connectRange = function connectRange(renderFn) {\n var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n checkRendering(renderFn, withUsage());\n return function (widgetParams) {\n var _ref2 = widgetParams || {},\n _ref2$attribute = _ref2.attribute,\n attribute = _ref2$attribute === void 0 ? '' : _ref2$attribute,\n minBound = _ref2.min,\n maxBound = _ref2.max,\n _ref2$precision = _ref2.precision,\n precision = _ref2$precision === void 0 ? 0 : _ref2$precision;\n if (!attribute) {\n throw new Error(withUsage('The `attribute` option is required.'));\n }\n if (isFiniteNumber(minBound) && isFiniteNumber(maxBound) && minBound > maxBound) {\n throw new Error(withUsage(\"The `max` option can't be lower than `min`.\"));\n }\n var formatToNumber = function formatToNumber(v) {\n return Number(Number(v).toFixed(precision));\n };\n var rangeFormatter = {\n from: function from(v) {\n return v.toLocaleString();\n },\n to: function to(v) {\n return formatToNumber(v).toLocaleString();\n }\n };\n\n // eslint-disable-next-line complexity\n var getRefinedState = function getRefinedState(helper, currentRange, nextMin, nextMax) {\n var resolvedState = helper.state;\n var currentRangeMin = currentRange.min,\n currentRangeMax = currentRange.max;\n var _ref3 = resolvedState.getNumericRefinement(attribute, '>=') || [],\n _ref4 = _slicedToArray(_ref3, 1),\n min = _ref4[0];\n var _ref5 = resolvedState.getNumericRefinement(attribute, '<=') || [],\n _ref6 = _slicedToArray(_ref5, 1),\n max = _ref6[0];\n var isResetMin = nextMin === undefined || nextMin === '';\n var isResetMax = nextMax === undefined || nextMax === '';\n var _toPrecision = toPrecision({\n min: !isResetMin ? parseFloat(nextMin) : undefined,\n max: !isResetMax ? parseFloat(nextMax) : undefined,\n precision: precision\n }),\n nextMinAsNumber = _toPrecision.min,\n nextMaxAsNumber = _toPrecision.max;\n var newNextMin;\n if (!isFiniteNumber(minBound) && currentRangeMin === nextMinAsNumber) {\n newNextMin = undefined;\n } else if (isFiniteNumber(minBound) && isResetMin) {\n newNextMin = minBound;\n } else {\n newNextMin = nextMinAsNumber;\n }\n var newNextMax;\n if (!isFiniteNumber(maxBound) && currentRangeMax === nextMaxAsNumber) {\n newNextMax = undefined;\n } else if (isFiniteNumber(maxBound) && isResetMax) {\n newNextMax = maxBound;\n } else {\n newNextMax = nextMaxAsNumber;\n }\n var isResetNewNextMin = newNextMin === undefined;\n var isGreaterThanCurrentRange = isFiniteNumber(currentRangeMin) && currentRangeMin <= newNextMin;\n var isMinValid = isResetNewNextMin || isFiniteNumber(newNextMin) && (!isFiniteNumber(currentRangeMin) || isGreaterThanCurrentRange);\n var isResetNewNextMax = newNextMax === undefined;\n var isLowerThanRange = isFiniteNumber(newNextMax) && currentRangeMax >= newNextMax;\n var isMaxValid = isResetNewNextMax || isFiniteNumber(newNextMax) && (!isFiniteNumber(currentRangeMax) || isLowerThanRange);\n var hasMinChange = min !== newNextMin;\n var hasMaxChange = max !== newNextMax;\n if ((hasMinChange || hasMaxChange) && isMinValid && isMaxValid) {\n resolvedState = resolvedState.removeNumericRefinement(attribute);\n if (isFiniteNumber(newNextMin)) {\n resolvedState = resolvedState.addNumericRefinement(attribute, '>=', newNextMin);\n }\n if (isFiniteNumber(newNextMax)) {\n resolvedState = resolvedState.addNumericRefinement(attribute, '<=', newNextMax);\n }\n return resolvedState.resetPage();\n }\n return null;\n };\n var createSendEvent = function createSendEvent(instantSearchInstance) {\n return function () {\n if (arguments.length === 1) {\n instantSearchInstance.sendEventToInsights(arguments.length <= 0 ? undefined : arguments[0]);\n return;\n }\n };\n };\n function _getCurrentRange(stats) {\n var min;\n if (isFiniteNumber(minBound)) {\n min = minBound;\n } else if (isFiniteNumber(stats.min)) {\n min = stats.min;\n } else {\n min = 0;\n }\n var max;\n if (isFiniteNumber(maxBound)) {\n max = maxBound;\n } else if (isFiniteNumber(stats.max)) {\n max = stats.max;\n } else {\n max = 0;\n }\n return toPrecision({\n min: min,\n max: max,\n precision: precision\n });\n }\n function _getCurrentRefinement(helper) {\n var _ref7 = helper.getNumericRefinement(attribute, '>=') || [],\n _ref8 = _slicedToArray(_ref7, 1),\n minValue = _ref8[0];\n var _ref9 = helper.getNumericRefinement(attribute, '<=') || [],\n _ref10 = _slicedToArray(_ref9, 1),\n maxValue = _ref10[0];\n var min = isFiniteNumber(minValue) ? minValue : -Infinity;\n var max = isFiniteNumber(maxValue) ? maxValue : Infinity;\n return [min, max];\n }\n function _refine(helper, currentRange) {\n return function () {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [undefined, undefined],\n _ref12 = _slicedToArray(_ref11, 2),\n nextMin = _ref12[0],\n nextMax = _ref12[1];\n var refinedState = getRefinedState(helper, currentRange, nextMin, nextMax);\n if (refinedState) {\n helper.setState(refinedState).search();\n }\n };\n }\n return {\n $$type: $$type,\n init: function init(initOptions) {\n renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {\n instantSearchInstance: initOptions.instantSearchInstance\n }), true);\n },\n render: function render(renderOptions) {\n renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(renderOptions)), {}, {\n instantSearchInstance: renderOptions.instantSearchInstance\n }), false);\n },\n getRenderState: function getRenderState(renderState, renderOptions) {\n return _objectSpread(_objectSpread({}, renderState), {}, {\n range: _objectSpread(_objectSpread({}, renderState.range), {}, _defineProperty({}, attribute, this.getWidgetRenderState(renderOptions)))\n });\n },\n getWidgetRenderState: function getWidgetRenderState(_ref13) {\n var results = _ref13.results,\n helper = _ref13.helper,\n instantSearchInstance = _ref13.instantSearchInstance;\n var facetsFromResults = results && results.disjunctiveFacets || [];\n var facet = find(facetsFromResults, function (facetResult) {\n return facetResult.name === attribute;\n });\n var stats = facet && facet.stats || {\n min: undefined,\n max: undefined\n };\n var currentRange = _getCurrentRange(stats);\n var start = _getCurrentRefinement(helper);\n var refine;\n if (!results) {\n // On first render pass an empty range\n // to be able to bypass the validation\n // related to it\n refine = _refine(helper, {\n min: undefined,\n max: undefined\n });\n } else {\n refine = _refine(helper, currentRange);\n }\n return {\n refine: refine,\n canRefine: currentRange.min !== currentRange.max,\n format: rangeFormatter,\n range: currentRange,\n sendEvent: createSendEvent(instantSearchInstance),\n widgetParams: _objectSpread(_objectSpread({}, widgetParams), {}, {\n precision: precision\n }),\n start: start\n };\n },\n dispose: function dispose(_ref14) {\n var state = _ref14.state;\n unmountFn();\n return state.removeDisjunctiveFacet(attribute).removeNumericRefinement(attribute);\n },\n getWidgetUiState: function getWidgetUiState(uiState, _ref15) {\n var searchParameters = _ref15.searchParameters;\n var _searchParameters$get = searchParameters.getNumericRefinements(attribute),\n _searchParameters$get2 = _searchParameters$get['>='],\n min = _searchParameters$get2 === void 0 ? [] : _searchParameters$get2,\n _searchParameters$get3 = _searchParameters$get['<='],\n max = _searchParameters$get3 === void 0 ? [] : _searchParameters$get3;\n if (min.length === 0 && max.length === 0) {\n return uiState;\n }\n return _objectSpread(_objectSpread({}, uiState), {}, {\n range: _objectSpread(_objectSpread({}, uiState.range), {}, _defineProperty({}, attribute, \"\".concat(min, \":\").concat(max)))\n });\n },\n getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref16) {\n var uiState = _ref16.uiState;\n var widgetSearchParameters = searchParameters.addDisjunctiveFacet(attribute).setQueryParameters({\n numericRefinements: _objectSpread(_objectSpread({}, searchParameters.numericRefinements), {}, _defineProperty({}, attribute, {}))\n });\n if (isFiniteNumber(minBound)) {\n widgetSearchParameters = widgetSearchParameters.addNumericRefinement(attribute, '>=', minBound);\n }\n if (isFiniteNumber(maxBound)) {\n widgetSearchParameters = widgetSearchParameters.addNumericRefinement(attribute, '<=', maxBound);\n }\n var value = uiState.range && uiState.range[attribute];\n if (!value || value.indexOf(':') === -1) {\n return widgetSearchParameters;\n }\n var _value$split$map = value.split(':').map(parseFloat),\n _value$split$map2 = _slicedToArray(_value$split$map, 2),\n lowerBound = _value$split$map2[0],\n upperBound = _value$split$map2[1];\n if (isFiniteNumber(lowerBound) && (!isFiniteNumber(minBound) || minBound < lowerBound)) {\n widgetSearchParameters = widgetSearchParameters.removeNumericRefinement(attribute, '>=');\n widgetSearchParameters = widgetSearchParameters.addNumericRefinement(attribute, '>=', lowerBound);\n }\n if (isFiniteNumber(upperBound) && (!isFiniteNumber(maxBound) || upperBound < maxBound)) {\n widgetSearchParameters = widgetSearchParameters.removeNumericRefinement(attribute, '<=');\n widgetSearchParameters = widgetSearchParameters.addNumericRefinement(attribute, '<=', upperBound);\n }\n return widgetSearchParameters;\n }\n };\n };\n};\nexport default connectRange;","import connectRange from \"instantsearch.js/es/connectors/range/connectRange.js\";\nimport { useConnector } from \"../hooks/useConnector.js\";\nexport function useRange(props, additionalWidgetProperties) {\n return useConnector(connectRange, props, additionalWidgetProperties);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"name\", \"escapedValue\"],\n _excluded2 = [\"escapedValue\", \"value\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { escapeFacets, TAG_PLACEHOLDER, TAG_REPLACEMENT, checkRendering, createDocumentationMessageGenerator, createSendEventForFacet, noop, warning } from \"../../lib/utils/index.js\";\nvar withUsage = createDocumentationMessageGenerator({\n name: 'refinement-list',\n connector: true\n});\nvar DEFAULT_SORT = ['isRefined', 'count:desc', 'name:asc'];\n/**\n * **RefinementList** connector provides the logic to build a custom widget that\n * will let the user filter the results based on the values of a specific facet.\n *\n * **Requirement:** the attribute passed as `attribute` must be present in\n * attributesForFaceting of the searched index.\n *\n * This connector provides:\n * - a `refine()` function to select an item.\n * - a `toggleShowMore()` function to display more or less items\n * - a `searchForItems()` function to search within the items.\n */\nvar connectRefinementList = function connectRefinementList(renderFn) {\n var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n checkRendering(renderFn, withUsage());\n return function (widgetParams) {\n var _ref = widgetParams || {},\n attribute = _ref.attribute,\n _ref$operator = _ref.operator,\n operator = _ref$operator === void 0 ? 'or' : _ref$operator,\n _ref$limit = _ref.limit,\n limit = _ref$limit === void 0 ? 10 : _ref$limit,\n _ref$showMore = _ref.showMore,\n showMore = _ref$showMore === void 0 ? false : _ref$showMore,\n _ref$showMoreLimit = _ref.showMoreLimit,\n showMoreLimit = _ref$showMoreLimit === void 0 ? 20 : _ref$showMoreLimit,\n _ref$sortBy = _ref.sortBy,\n sortBy = _ref$sortBy === void 0 ? DEFAULT_SORT : _ref$sortBy,\n _ref$escapeFacetValue = _ref.escapeFacetValues,\n escapeFacetValues = _ref$escapeFacetValue === void 0 ? true : _ref$escapeFacetValue,\n _ref$transformItems = _ref.transformItems,\n transformItems = _ref$transformItems === void 0 ? function (items) {\n return items;\n } : _ref$transformItems;\n if (!attribute) {\n throw new Error(withUsage('The `attribute` option is required.'));\n }\n if (!/^(and|or)$/.test(operator)) {\n throw new Error(withUsage(\"The `operator` must one of: `\\\"and\\\"`, `\\\"or\\\"` (got \\\"\".concat(operator, \"\\\").\")));\n }\n if (showMore === true && showMoreLimit <= limit) {\n throw new Error(withUsage('`showMoreLimit` should be greater than `limit`.'));\n }\n var formatItems = function formatItems(_ref2) {\n var label = _ref2.name,\n value = _ref2.escapedValue,\n item = _objectWithoutProperties(_ref2, _excluded);\n return _objectSpread(_objectSpread({}, item), {}, {\n value: value,\n label: label,\n highlighted: label\n });\n };\n var lastResultsFromMainSearch;\n var lastItemsFromMainSearch = [];\n var hasExhaustiveItems = true;\n var triggerRefine;\n var sendEvent;\n var isShowingMore = false;\n // Provide the same function to the `renderFn` so that way the user\n // has to only bind it once when `isFirstRendering` for instance\n var toggleShowMore = function toggleShowMore() {};\n function cachedToggleShowMore() {\n toggleShowMore();\n }\n function createToggleShowMore(renderOptions, widget) {\n return function () {\n isShowingMore = !isShowingMore;\n widget.render(renderOptions);\n };\n }\n function getLimit() {\n return isShowingMore ? showMoreLimit : limit;\n }\n var searchForFacetValues = function searchForFacetValues() {\n return function () {};\n };\n var createSearchForFacetValues = function createSearchForFacetValues(helper, widget) {\n return function (renderOptions) {\n return function (query) {\n var instantSearchInstance = renderOptions.instantSearchInstance,\n searchResults = renderOptions.results;\n if (query === '' && lastItemsFromMainSearch) {\n // render with previous data from the helper.\n renderFn(_objectSpread(_objectSpread({}, widget.getWidgetRenderState(_objectSpread(_objectSpread({}, renderOptions), {}, {\n results: lastResultsFromMainSearch\n }))), {}, {\n instantSearchInstance: instantSearchInstance\n }), false);\n } else {\n var tags = {\n highlightPreTag: escapeFacetValues ? TAG_PLACEHOLDER.highlightPreTag : TAG_REPLACEMENT.highlightPreTag,\n highlightPostTag: escapeFacetValues ? TAG_PLACEHOLDER.highlightPostTag : TAG_REPLACEMENT.highlightPostTag\n };\n helper.searchForFacetValues(attribute, query,\n // We cap the `maxFacetHits` value to 100 because the Algolia API\n // doesn't support a greater number.\n // See https://www.algolia.com/doc/api-reference/api-parameters/maxFacetHits/\n Math.min(getLimit(), 100), tags).then(function (results) {\n var facetValues = escapeFacetValues ? escapeFacets(results.facetHits) : results.facetHits;\n var normalizedFacetValues = transformItems(facetValues.map(function (_ref3) {\n var escapedValue = _ref3.escapedValue,\n value = _ref3.value,\n item = _objectWithoutProperties(_ref3, _excluded2);\n return _objectSpread(_objectSpread({}, item), {}, {\n value: escapedValue,\n label: value\n });\n }), {\n results: searchResults\n });\n renderFn(_objectSpread(_objectSpread({}, widget.getWidgetRenderState(_objectSpread(_objectSpread({}, renderOptions), {}, {\n results: lastResultsFromMainSearch\n }))), {}, {\n items: normalizedFacetValues,\n canToggleShowMore: false,\n canRefine: true,\n isFromSearch: true,\n instantSearchInstance: instantSearchInstance\n }), false);\n });\n }\n };\n };\n };\n return {\n $$type: 'ais.refinementList',\n init: function init(initOptions) {\n renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {\n instantSearchInstance: initOptions.instantSearchInstance\n }), true);\n },\n render: function render(renderOptions) {\n renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(renderOptions)), {}, {\n instantSearchInstance: renderOptions.instantSearchInstance\n }), false);\n },\n getRenderState: function getRenderState(renderState, renderOptions) {\n return _objectSpread(_objectSpread({}, renderState), {}, {\n refinementList: _objectSpread(_objectSpread({}, renderState.refinementList), {}, _defineProperty({}, attribute, this.getWidgetRenderState(renderOptions)))\n });\n },\n getWidgetRenderState: function getWidgetRenderState(renderOptions) {\n var _this = this;\n var results = renderOptions.results,\n state = renderOptions.state,\n _createURL = renderOptions.createURL,\n instantSearchInstance = renderOptions.instantSearchInstance,\n helper = renderOptions.helper;\n var items = [];\n var facetValues = [];\n if (!sendEvent || !triggerRefine || !searchForFacetValues) {\n sendEvent = createSendEventForFacet({\n instantSearchInstance: instantSearchInstance,\n helper: helper,\n attribute: attribute,\n widgetType: this.$$type\n });\n triggerRefine = function triggerRefine(facetValue) {\n sendEvent('click:internal', facetValue);\n helper.toggleFacetRefinement(attribute, facetValue).search();\n };\n searchForFacetValues = createSearchForFacetValues(helper, this);\n }\n if (results) {\n var values = results.getFacetValues(attribute, {\n sortBy: sortBy,\n facetOrdering: sortBy === DEFAULT_SORT\n });\n facetValues = values && Array.isArray(values) ? values : [];\n items = transformItems(facetValues.slice(0, getLimit()).map(formatItems), {\n results: results\n });\n var maxValuesPerFacetConfig = state.maxValuesPerFacet;\n var currentLimit = getLimit();\n // If the limit is the max number of facet retrieved it is impossible to know\n // if the facets are exhaustive. The only moment we are sure it is exhaustive\n // is when it is strictly under the number requested unless we know that another\n // widget has requested more values (maxValuesPerFacet > getLimit()).\n // Because this is used for making the search of facets unable or not, it is important\n // to be conservative here.\n hasExhaustiveItems = maxValuesPerFacetConfig > currentLimit ? facetValues.length <= currentLimit : facetValues.length < currentLimit;\n lastResultsFromMainSearch = results;\n lastItemsFromMainSearch = items;\n if (renderOptions.results) {\n toggleShowMore = createToggleShowMore(renderOptions, this);\n }\n }\n\n // Do not mistake searchForFacetValues and searchFacetValues which is the actual search\n // function\n var searchFacetValues = searchForFacetValues && searchForFacetValues(renderOptions);\n var canShowLess = isShowingMore && lastItemsFromMainSearch.length > limit;\n var canShowMore = showMore && !hasExhaustiveItems;\n var canToggleShowMore = canShowLess || canShowMore;\n return {\n createURL: function createURL(facetValue) {\n return _createURL(function (uiState) {\n return _this.getWidgetUiState(uiState, {\n searchParameters: state.resetPage().toggleFacetRefinement(attribute, facetValue),\n helper: helper\n });\n });\n },\n items: items,\n refine: triggerRefine,\n searchForItems: searchFacetValues,\n isFromSearch: false,\n canRefine: items.length > 0,\n widgetParams: widgetParams,\n isShowingMore: isShowingMore,\n canToggleShowMore: canToggleShowMore,\n toggleShowMore: cachedToggleShowMore,\n sendEvent: sendEvent,\n hasExhaustiveItems: hasExhaustiveItems\n };\n },\n dispose: function dispose(_ref4) {\n var state = _ref4.state;\n unmountFn();\n var withoutMaxValuesPerFacet = state.setQueryParameter('maxValuesPerFacet', undefined);\n if (operator === 'and') {\n return withoutMaxValuesPerFacet.removeFacet(attribute);\n }\n return withoutMaxValuesPerFacet.removeDisjunctiveFacet(attribute);\n },\n getWidgetUiState: function getWidgetUiState(uiState, _ref5) {\n var searchParameters = _ref5.searchParameters;\n var values = operator === 'or' ? searchParameters.getDisjunctiveRefinements(attribute) : searchParameters.getConjunctiveRefinements(attribute);\n return removeEmptyRefinementsFromUiState(_objectSpread(_objectSpread({}, uiState), {}, {\n refinementList: _objectSpread(_objectSpread({}, uiState.refinementList), {}, _defineProperty({}, attribute, values))\n }), attribute);\n },\n getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {\n var uiState = _ref6.uiState;\n var isDisjunctive = operator === 'or';\n if (searchParameters.isHierarchicalFacet(attribute)) {\n process.env.NODE_ENV === 'development' ? warning(false, \"RefinementList: Attribute \\\"\".concat(attribute, \"\\\" is already used by another widget applying hierarchical faceting.\\nAs this is not supported, please make sure to remove this other widget or this RefinementList widget will not work at all.\")) : void 0;\n return searchParameters;\n }\n if (isDisjunctive && searchParameters.isConjunctiveFacet(attribute) || !isDisjunctive && searchParameters.isDisjunctiveFacet(attribute)) {\n process.env.NODE_ENV === 'development' ? warning(false, \"RefinementList: Attribute \\\"\".concat(attribute, \"\\\" is used by another refinement list with a different operator.\\nAs this is not supported, please make sure to only use this attribute with one of the two operators.\")) : void 0;\n return searchParameters;\n }\n var values = uiState.refinementList && uiState.refinementList[attribute];\n var withFacetConfiguration = isDisjunctive ? searchParameters.addDisjunctiveFacet(attribute).removeDisjunctiveFacetRefinement(attribute) : searchParameters.addFacet(attribute).removeFacetRefinement(attribute);\n var currentMaxValuesPerFacet = withFacetConfiguration.maxValuesPerFacet || 0;\n var nextMaxValuesPerFacet = Math.max(currentMaxValuesPerFacet, showMore ? showMoreLimit : limit);\n var withMaxValuesPerFacet = withFacetConfiguration.setQueryParameter('maxValuesPerFacet', nextMaxValuesPerFacet);\n if (!values) {\n var key = isDisjunctive ? 'disjunctiveFacetsRefinements' : 'facetsRefinements';\n return withMaxValuesPerFacet.setQueryParameters(_defineProperty({}, key, _objectSpread(_objectSpread({}, withMaxValuesPerFacet[key]), {}, _defineProperty({}, attribute, []))));\n }\n return values.reduce(function (parameters, value) {\n return isDisjunctive ? parameters.addDisjunctiveFacetRefinement(attribute, value) : parameters.addFacetRefinement(attribute, value);\n }, withMaxValuesPerFacet);\n }\n };\n };\n};\nfunction removeEmptyRefinementsFromUiState(indexUiState, attribute) {\n if (!indexUiState.refinementList) {\n return indexUiState;\n }\n if (!indexUiState.refinementList[attribute] || indexUiState.refinementList[attribute].length === 0) {\n delete indexUiState.refinementList[attribute];\n }\n if (Object.keys(indexUiState.refinementList).length === 0) {\n delete indexUiState.refinementList;\n }\n return indexUiState;\n}\nexport default connectRefinementList;","import connectRefinementList from \"instantsearch.js/es/connectors/refinement-list/connectRefinementList.js\";\nimport { useConnector } from \"../hooks/useConnector.js\";\nexport function useRefinementList(props, additionalWidgetProperties) {\n return useConnector(connectRefinementList, props, additionalWidgetProperties);\n}"],"names":["PROPER_FUNCTION_NAME","fails","whitespaces","module","exports","METHOD_NAME","name","uncurryThis","requireObjectCoercible","toString","replace","whitespace","ltrim","RegExp","rtrim","createMethod","TYPE","$this","string","start","end","trim","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","un$Join","join","ES3_STRINGS","Object","STRICT_METHOD","target","proto","forced","separator","this","undefined","apply","call","fixRegExpWellKnownSymbolLogic","isRegExp","anObject","speciesConstructor","advanceStringIndex","toLength","getMethod","arraySlice","callRegExpExec","regexpExec","stickyHelpers","UNSUPPORTED_Y","MAX_UINT32","min","Math","$push","push","exec","stringSlice","slice","SPLIT","nativeSplit","maybeCallNative","internalSplit","split","length","limit","lim","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","source","index","O","splitter","rx","S","res","done","value","C","unicodeMatching","p","q","A","e","z","i","re","originalExec","arguments","result","$trim","forcedStringTrimMethod","_typeof","obj","Symbol","iterator","constructor","prototype","_arrayLikeToArray","arr","len","arr2","Array","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","arg","input","hint","prim","toPrimitive","TypeError","String","_toPrimitive","_toPropertyKey","configurable","writable","withUsage","connector","getRefinementsItems","_ref3","results","helper","indexId","includedAttributes","excludedAttributes","includesQuery","indexOf","filterFunction","item","attribute","items","getRefinements","state","map","normalizeRefinement","reduce","allItems","currentItem","concat","isArray","_arrayWithoutHoles","iter","from","_iterableToArray","o","minLen","n","test","_unsupportedIterableToArray","_nonIterableSpread","indexName","label","refinements","sort","a","b","type","refine","refinement","clearRefinement","clearRefinementFromState","resetPage","removeFacetRefinement","removeDisjunctiveFacetRefinement","removeHierarchicalFacetRefinement","removeExcludeRefinement","removeNumericRefinement","operator","removeTagRefinement","setQueryParameter","setState","search","Number","escapedValue","getValue","getOperatorSymbol","normalizedRefinement","count","exhaustive","renderFn","unmountFn","noop","checkRendering","widgetParams","Error","_ref","_ref$excludedAttribut","_ref$transformItems","transformItems","$$type","init","initOptions","instantSearchInstance","getWidgetRenderState","render","renderOptions","dispose","getRenderState","renderState","currentRefinements","_ref2","scopedResults","_createURL","createURL","accResults","scopedResult","canRefine","useCurrentRefinements","props","additionalWidgetProperties","useConnector","getWidgetAttribute","widget","_widget$getWidgetRend","attributes","JSON","stringify","widgets","_widgetParams$maxValu","maxValuesPerFacet","_widgetParams$facets","facets","_widgetParams$transfo","fallbackWidget","every","localWidgets","Map","set","isMounted","parent","widgetsToUnmount","widgetsToMount","attributesToRender","has","shouldMount","addWidgets","setTimeout","removeWidgets","toRemove","getWidgetSearchParameters","acc","curr","addFacet","setQueryParameters","max","dynamicWidgets","_ref4","_results$renderingCon","_results$renderingCon2","_results$renderingCon3","_results$renderingCon4","renderingContent","facetOrdering","order","useDynamicWidgets","isFiniteNumber","isFinite","_slicedToArray","_arrayWithHoles","_i","_s","_e","_x","_r","_arr","_n","_d","next","err","return","_iterableToArrayLimit","_nonIterableRest","toPrecision","precision","pow","floor","ceil","_ref2$attribute","minBound","maxBound","_ref2$precision","rangeFormatter","v","toLocaleString","to","toFixed","formatToNumber","getRefinedState","currentRange","nextMin","nextMax","newNextMin","newNextMax","resolvedState","currentRangeMin","currentRangeMax","getNumericRefinement","isResetMin","isResetMax","_toPrecision","parseFloat","nextMinAsNumber","nextMaxAsNumber","isResetNewNextMin","isGreaterThanCurrentRange","isMinValid","isResetNewNextMax","isLowerThanRange","isMaxValid","addNumericRefinement","createSendEvent","sendEventToInsights","_refine","_ref11","_ref12","refinedState","range","_ref13","stats","facetsFromResults","disjunctiveFacets","facet","find","facetResult","minValue","maxValue","Infinity","_getCurrentRefinement","format","sendEvent","_ref14","removeDisjunctiveFacet","getWidgetUiState","uiState","_ref15","_searchParameters$get","searchParameters","getNumericRefinements","_searchParameters$get2","_searchParameters$get3","_ref16","widgetSearchParameters","addDisjunctiveFacet","numericRefinements","_value$split$map2","lowerBound","upperBound","useRange","_excluded","_excluded2","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","DEFAULT_SORT","removeEmptyRefinementsFromUiState","indexUiState","refinementList","_ref$operator","_ref$limit","_ref$showMore","showMore","_ref$showMoreLimit","showMoreLimit","_ref$sortBy","sortBy","_ref$escapeFacetValue","escapeFacetValues","lastResultsFromMainSearch","triggerRefine","formatItems","highlighted","lastItemsFromMainSearch","hasExhaustiveItems","isShowingMore","toggleShowMore","cachedToggleShowMore","getLimit","searchForFacetValues","_this","facetValues","createSendEventForFacet","widgetType","facetValue","toggleFacetRefinement","query","searchResults","tags","highlightPreTag","highlightPostTag","then","facetHits","normalizedFacetValues","canToggleShowMore","isFromSearch","createSearchForFacetValues","values","getFacetValues","maxValuesPerFacetConfig","currentLimit","createToggleShowMore","searchFacetValues","searchForItems","withoutMaxValuesPerFacet","removeFacet","_ref5","getDisjunctiveRefinements","getConjunctiveRefinements","_ref6","isDisjunctive","isHierarchicalFacet","isConjunctiveFacet","isDisjunctiveFacet","withFacetConfiguration","currentMaxValuesPerFacet","nextMaxValuesPerFacet","withMaxValuesPerFacet","parameters","addDisjunctiveFacetRefinement","addFacetRefinement","useRefinementList"],"sourceRoot":""}