@algolia/autocomplete-js 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/decycle.js","../../../autocomplete-shared/dist/esm/flatten.js","../../../autocomplete-shared/dist/esm/generateAutocompleteId.js","../../../autocomplete-shared/dist/esm/getAttributeValueByPath.js","../../../autocomplete-shared/dist/esm/getItemsCount.js","../../../autocomplete-shared/dist/esm/invariant.js","../../../autocomplete-shared/dist/esm/noop.js","../../../autocomplete-shared/dist/esm/version.js","../../../autocomplete-shared/dist/esm/userAgents.js","../../../autocomplete-shared/dist/esm/warn.js","../../../autocomplete-core/dist/esm/checkOptions.js","../../../autocomplete-core/dist/esm/createStore.js","../../../autocomplete-core/dist/esm/getAutocompleteSetters.js","../../../autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js","../../../autocomplete-core/dist/esm/utils/getNextActiveItemId.js","../../../autocomplete-core/dist/esm/utils/getNormalizedSources.js","../../../autocomplete-core/dist/esm/utils/getActiveItem.js","../../../autocomplete-core/dist/esm/utils/isOrContainsNode.js","../../../autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js","../../../autocomplete-core/dist/esm/getDefaultProps.js","../../../autocomplete-core/dist/esm/reshape.js","../../../autocomplete-core/dist/esm/resolve.js","../../../autocomplete-core/dist/esm/onInput.js","../../../autocomplete-core/dist/esm/onKeyDown.js","../../../autocomplete-core/dist/esm/getPropGetters.js","../../../autocomplete-core/dist/esm/metadata.js","../../../autocomplete-core/dist/esm/getCompletion.js","../../../autocomplete-core/dist/esm/stateReducer.js","../../../autocomplete-core/dist/esm/createAutocomplete.js","../../src/elements/ClearIcon.ts","../../src/utils/getHTMLElement.ts","../../src/utils/mergeClassNames.ts","../../src/utils/mergeDeep.ts","../../src/utils/setProperties.ts","../../src/getCreateDomElement.ts","../../src/elements/Input.ts","../../src/elements/LoadingIcon.ts","../../src/elements/SearchIcon.ts","../../src/createAutocompleteDom.ts","../../src/createEffectWrapper.ts","../../src/createReactiveWrapper.ts","../../node_modules/preact/dist/preact.mjs","../../../autocomplete-preset-algolia/dist/esm/constants/index.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAttribute.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitHighlight.js","../../../autocomplete-preset-algolia/dist/esm/highlight/isPartHighlighted.js","../../../autocomplete-preset-algolia/dist/esm/highlight/reverseHighlightedParts.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseHighlight.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitSnippet.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseSnippet.js","../../../autocomplete-preset-algolia/dist/esm/requester/createRequester.js","../../../autocomplete-preset-algolia/dist/esm/search/fetchAlgoliaResults.js","../../src/components/Highlight.ts","../../src/components/ReverseHighlight.ts","../../src/components/ReverseSnippet.ts","../../src/components/Snippet.ts","../../src/getDefaultOptions.ts","../../src/getPanelPlacementStyle.ts","../../src/render.tsx","../../src/userAgents.ts","../../src/autocomplete.ts","../../src/requesters/createAlgoliaRequester.ts","../../src/requesters/getAlgoliaFacets.ts","../../src/requesters/getAlgoliaResults.ts"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (timerId) {\n clearTimeout(timerId);\n }\n\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\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.\"); }\n\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); }\n\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; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Decycles objects with circular references.\n * This is used to print cyclic structures in development environment only.\n */\nexport function decycle(obj) {\n var seen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set();\n\n if (!(process.env.NODE_ENV !== 'production') || !obj || _typeof(obj) !== 'object') {\n return obj;\n }\n\n if (seen.has(obj)) {\n return '[Circular]';\n }\n\n var newSeen = seen.add(obj);\n\n if (Array.isArray(obj)) {\n return obj.map(function (x) {\n return decycle(x, newSeen);\n });\n }\n\n return Object.fromEntries(Object.entries(obj).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n return [key, decycle(value, newSeen)];\n }));\n}","export function flatten(values) {\n return values.reduce(function (a, b) {\n return a.concat(b);\n }, []);\n}","var autocompleteId = 0;\nexport function generateAutocompleteId() {\n return \"autocomplete-\".concat(autocompleteId++);\n}","export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export function getItemsCount(state) {\n if (state.collections.length === 0) {\n return 0;\n }\n\n return state.collections.reduce(function (sum, collection) {\n return sum + collection.items.length;\n }, 0);\n}","/**\n * Throws an error if the condition is not met in development mode.\n * This is used to make development a better experience to provide guidance as\n * to where the error comes from.\n */\nexport function invariant(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (!condition) {\n throw new Error(\"[Autocomplete] \".concat(typeof message === 'function' ? message() : message));\n }\n}","export var noop = function noop() {};","export var version = '1.5.1';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","export var warnCache = {\n current: {}\n};\n/**\n * Logs a warning if the condition is not met.\n * This is used to log issues in development environment only.\n */\n\nexport function warn(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (condition) {\n return;\n }\n\n var sanitizedMessage = message.trim();\n var hasAlreadyPrinted = warnCache.current[sanitizedMessage];\n\n if (!hasAlreadyPrinted) {\n warnCache.current[sanitizedMessage] = true; // eslint-disable-next-line no-console\n\n console.warn(\"[Autocomplete] \".concat(sanitizedMessage));\n }\n}","import { warn } from '@algolia/autocomplete-shared';\nexport function checkOptions(options) {\n process.env.NODE_ENV !== 'production' ? warn(!options.debug, 'The `debug` option is meant for development debugging and should not be used in production.') : void 0;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function createStore(reducer, props, onStoreStateChange) {\n var state = props.initialState;\n return {\n getState: function getState() {\n return state;\n },\n dispatch: function dispatch(action, payload) {\n var prevState = _objectSpread({}, state);\n\n state = reducer(state, {\n type: action,\n props: props,\n payload: payload\n });\n onStoreStateChange({\n state: state,\n prevState: prevState\n });\n },\n shouldSkipPendingUpdate: false\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function getAutocompleteSetters(_ref) {\n var store = _ref.store;\n\n var setActiveItemId = function setActiveItemId(value) {\n store.dispatch('setActiveItemId', value);\n };\n\n var setQuery = function setQuery(value) {\n store.dispatch('setQuery', value);\n };\n\n var setCollections = function setCollections(rawValue) {\n var baseItemId = 0;\n var value = rawValue.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n // We flatten the stored items to support calling `getAlgoliaResults`\n // from the source itself.\n items: flatten(collection.items).map(function (item) {\n return _objectSpread(_objectSpread({}, item), {}, {\n __autocomplete_id: baseItemId++\n });\n })\n });\n });\n store.dispatch('setCollections', value);\n };\n\n var setIsOpen = function setIsOpen(value) {\n store.dispatch('setIsOpen', value);\n };\n\n var setStatus = function setStatus(value) {\n store.dispatch('setStatus', value);\n };\n\n var setContext = function setContext(value) {\n store.dispatch('setContext', value);\n };\n\n return {\n setActiveItemId: setActiveItemId,\n setQuery: setQuery,\n setCollections: setCollections,\n setIsOpen: setIsOpen,\n setStatus: setStatus,\n setContext: setContext\n };\n}","/**\n * Creates a runner that executes promises in a concurrent-safe way.\n *\n * This is useful to prevent older promises to resolve after a newer promise,\n * otherwise resulting in stale resolved values.\n */\nexport function createConcurrentSafePromise() {\n var basePromiseId = -1;\n var latestResolvedId = -1;\n var latestResolvedValue = undefined;\n var runningPromisesCount = 0;\n\n function runConcurrentSafePromise(promise) {\n basePromiseId++;\n runningPromisesCount++;\n var currentPromiseId = basePromiseId;\n return Promise.resolve(promise).then(function (x) {\n // The promise might take too long to resolve and get outdated. This would\n // result in resolving stale values.\n // When this happens, we ignore the promise value and return the one\n // coming from the latest resolved value.\n //\n // +----------------------------------+\n // | 100ms |\n // | run(1) +---> R1 |\n // | 300ms |\n // | run(2) +-------------> R2 (SKIP) |\n // | 200ms |\n // | run(3) +--------> R3 |\n // +----------------------------------+\n if (latestResolvedValue && currentPromiseId < latestResolvedId) {\n return latestResolvedValue;\n }\n\n latestResolvedId = currentPromiseId;\n latestResolvedValue = x;\n return x;\n }).finally(function () {\n return runningPromisesCount--;\n });\n }\n\n runConcurrentSafePromise.isRunning = function () {\n return runningPromisesCount > 0;\n };\n\n return runConcurrentSafePromise;\n}","/**\n * Returns the next active item ID from the current state.\n *\n * We allow circular keyboard navigation from the base index.\n * The base index can either be `null` (nothing is highlighted) or `0`\n * (the first item is highlighted).\n * The base index is allowed to get assigned `null` only if\n * `props.defaultActiveItemId` is `null`. This pattern allows to \"stop\"\n * by the actual query before navigating to other suggestions as seen on\n * Google or Amazon.\n *\n * @param moveAmount The offset to increment (or decrement) the last index\n * @param baseIndex The current index to compute the next index from\n * @param itemCount The number of items\n * @param defaultActiveItemId The default active index to fallback to\n */\nexport function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) {\n if (!itemCount) {\n return null;\n }\n\n if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) {\n return itemCount + moveAmount;\n }\n\n var numericIndex = (baseIndex === null ? -1 : baseIndex) + moveAmount;\n\n if (numericIndex <= -1 || numericIndex >= itemCount) {\n return defaultActiveItemId === null ? null : 0;\n }\n\n return numericIndex;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { invariant, decycle, noop } from '@algolia/autocomplete-shared';\nexport function getNormalizedSources(getSources, params) {\n var seenSourceIds = [];\n return Promise.resolve(getSources(params)).then(function (sources) {\n invariant(Array.isArray(sources), function () {\n return \"The `getSources` function must return an array of sources but returned type \".concat(JSON.stringify(_typeof(sources)), \":\\n\\n\").concat(JSON.stringify(decycle(sources), null, 2));\n });\n return Promise.all(sources // We allow `undefined` and `false` sources to allow users to use\n // `Boolean(query) && source` (=> `false`).\n // We need to remove these values at this point.\n .filter(function (maybeSource) {\n return Boolean(maybeSource);\n }).map(function (source) {\n invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');\n\n if (seenSourceIds.includes(source.sourceId)) {\n throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(source.sourceId), \" is not unique.\"));\n }\n\n seenSourceIds.push(source.sourceId);\n\n var normalizedSource = _objectSpread({\n getItemInputValue: function getItemInputValue(_ref) {\n var state = _ref.state;\n return state.query;\n },\n getItemUrl: function getItemUrl() {\n return undefined;\n },\n onSelect: function onSelect(_ref2) {\n var setIsOpen = _ref2.setIsOpen;\n setIsOpen(false);\n },\n onActive: noop\n }, source);\n\n return Promise.resolve(normalizedSource);\n }));\n });\n}","// We don't have access to the autocomplete source when we call `onKeyDown`\n// or `onClick` because those are native browser events.\n// However, we can get the source from the suggestion index.\nfunction getCollectionFromActiveItemId(state) {\n // Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]\n // We want to get the accumulated counts:\n // [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]\n var accumulatedCollectionsCount = state.collections.map(function (collections) {\n return collections.items.length;\n }).reduce(function (acc, collectionsCount, index) {\n var previousValue = acc[index - 1] || 0;\n var nextValue = previousValue + collectionsCount;\n acc.push(nextValue);\n return acc;\n }, []); // Based on the accumulated counts, we can infer the index of the suggestion.\n\n var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {\n if (current <= state.activeItemId) {\n return acc + 1;\n }\n\n return acc;\n }, 0);\n return state.collections[collectionIndex];\n}\n/**\n * Gets the highlighted index relative to a suggestion object (not the absolute\n * highlighted index).\n *\n * Example:\n * [['a', 'b'], ['c', 'd', 'e'], ['f']]\n * ↑\n * (absolute: 3, relative: 1)\n */\n\n\nfunction getRelativeActiveItemId(_ref) {\n var state = _ref.state,\n collection = _ref.collection;\n var isOffsetFound = false;\n var counter = 0;\n var previousItemsOffset = 0;\n\n while (isOffsetFound === false) {\n var currentCollection = state.collections[counter];\n\n if (currentCollection === collection) {\n isOffsetFound = true;\n break;\n }\n\n previousItemsOffset += currentCollection.items.length;\n counter++;\n }\n\n return state.activeItemId - previousItemsOffset;\n}\n\nexport function getActiveItem(state) {\n var collection = getCollectionFromActiveItemId(state);\n\n if (!collection) {\n return null;\n }\n\n var item = collection.items[getRelativeActiveItemId({\n state: state,\n collection: collection\n })];\n var source = collection.source;\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: state\n });\n return {\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n source: source\n };\n}","export function isOrContainsNode(parent, child) {\n return parent === child || parent.contains(child);\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function mapToAlgoliaResponse(rawResults) {\n var results = rawResults.map(function (result) {\n var _hits;\n\n return _objectSpread(_objectSpread({}, result), {}, {\n hits: (_hits = result.hits) === null || _hits === void 0 ? void 0 : _hits.map(function (hit) {\n // Bring support for the Insights plugin.\n return _objectSpread(_objectSpread({}, hit), {}, {\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID\n });\n })\n });\n });\n return {\n results: results,\n hits: results.map(function (result) {\n return result.hits;\n }).filter(Boolean),\n facetHits: results.map(function (result) {\n var _facetHits;\n\n return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {\n // Bring support for the highlighting components.\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted\n }\n }\n };\n });\n }).filter(Boolean)\n };\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getItemsCount, generateAutocompleteId, flatten } from '@algolia/autocomplete-shared';\nimport { getNormalizedSources } from './utils';\nexport function getDefaultProps(props, pluginSubscribers) {\n var _props$id;\n\n /* eslint-disable no-restricted-globals */\n var environment = typeof window !== 'undefined' ? window : {};\n /* eslint-enable no-restricted-globals */\n\n var plugins = props.plugins || [];\n return _objectSpread(_objectSpread({\n debug: false,\n openOnFocus: false,\n placeholder: '',\n autoFocus: false,\n defaultActiveItemId: null,\n stallThreshold: 300,\n environment: environment,\n shouldPanelOpen: function shouldPanelOpen(_ref) {\n var state = _ref.state;\n return getItemsCount(state) > 0;\n },\n reshape: function reshape(_ref2) {\n var sources = _ref2.sources;\n return sources;\n }\n }, props), {}, {\n // Since `generateAutocompleteId` triggers a side effect (it increments\n // an internal counter), we don't want to execute it if unnecessary.\n id: (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : generateAutocompleteId(),\n plugins: plugins,\n // The following props need to be deeply defaulted.\n initialState: _objectSpread({\n activeItemId: null,\n query: '',\n completion: null,\n collections: [],\n isOpen: false,\n status: 'idle',\n context: {}\n }, props.initialState),\n onStateChange: function onStateChange(params) {\n var _props$onStateChange;\n\n (_props$onStateChange = props.onStateChange) === null || _props$onStateChange === void 0 ? void 0 : _props$onStateChange.call(props, params);\n plugins.forEach(function (x) {\n var _x$onStateChange;\n\n return (_x$onStateChange = x.onStateChange) === null || _x$onStateChange === void 0 ? void 0 : _x$onStateChange.call(x, params);\n });\n },\n onSubmit: function onSubmit(params) {\n var _props$onSubmit;\n\n (_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 ? void 0 : _props$onSubmit.call(props, params);\n plugins.forEach(function (x) {\n var _x$onSubmit;\n\n return (_x$onSubmit = x.onSubmit) === null || _x$onSubmit === void 0 ? void 0 : _x$onSubmit.call(x, params);\n });\n },\n onReset: function onReset(params) {\n var _props$onReset;\n\n (_props$onReset = props.onReset) === null || _props$onReset === void 0 ? void 0 : _props$onReset.call(props, params);\n plugins.forEach(function (x) {\n var _x$onReset;\n\n return (_x$onReset = x.onReset) === null || _x$onReset === void 0 ? void 0 : _x$onReset.call(x, params);\n });\n },\n getSources: function getSources(params) {\n return Promise.all([].concat(_toConsumableArray(plugins.map(function (plugin) {\n return plugin.getSources;\n })), [props.getSources]).filter(Boolean).map(function (getSources) {\n return getNormalizedSources(getSources, params);\n })).then(function (nested) {\n return flatten(nested);\n }).then(function (sources) {\n return sources.map(function (source) {\n return _objectSpread(_objectSpread({}, source), {}, {\n onSelect: function onSelect(params) {\n source.onSelect(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onSelect;\n\n return (_x$onSelect = x.onSelect) === null || _x$onSelect === void 0 ? void 0 : _x$onSelect.call(x, params);\n });\n },\n onActive: function onActive(params) {\n source.onActive(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onActive;\n\n return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params);\n });\n }\n });\n });\n });\n },\n navigator: _objectSpread({\n navigate: function navigate(_ref3) {\n var itemUrl = _ref3.itemUrl;\n environment.location.assign(itemUrl);\n },\n navigateNewTab: function navigateNewTab(_ref4) {\n var itemUrl = _ref4.itemUrl;\n var windowReference = environment.open(itemUrl, '_blank', 'noopener');\n windowReference === null || windowReference === void 0 ? void 0 : windowReference.focus();\n },\n navigateNewWindow: function navigateNewWindow(_ref5) {\n var itemUrl = _ref5.itemUrl;\n environment.open(itemUrl, '_blank', 'noopener');\n }\n }, props.navigator)\n });\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function reshape(_ref) {\n var collections = _ref.collections,\n props = _ref.props,\n state = _ref.state;\n // Sources are grouped by `sourceId` to conveniently pick them via destructuring.\n // Example: `const { recentSearchesPlugin } = sourcesBySourceId`\n var sourcesBySourceId = collections.reduce(function (acc, collection) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, collection.source.sourceId, _objectSpread(_objectSpread({}, collection.source), {}, {\n getItems: function getItems() {\n // We provide the resolved items from the collection to the `reshape` prop.\n return flatten(collection.items);\n }\n })));\n }, {});\n var reshapeSources = props.reshape({\n sources: Object.values(sourcesBySourceId),\n sourcesBySourceId: sourcesBySourceId,\n state: state\n }); // We reconstruct the collections with the items modified by the `reshape` prop.\n\n return flatten(reshapeSources).filter(Boolean).map(function (source) {\n return {\n source: source,\n items: source.getItems()\n };\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { decycle, flatten, invariant } from '@algolia/autocomplete-shared';\nimport { mapToAlgoliaResponse } from './utils';\n\nfunction isDescription(item) {\n return Boolean(item.execute);\n}\n\nfunction isRequesterDescription(description) {\n return Boolean(description === null || description === void 0 ? void 0 : description.execute);\n}\n\nexport function preResolve(itemsOrDescription, sourceId) {\n if (isRequesterDescription(itemsOrDescription)) {\n return _objectSpread(_objectSpread({}, itemsOrDescription), {}, {\n requests: itemsOrDescription.queries.map(function (query) {\n return {\n query: query,\n sourceId: sourceId,\n transformResponse: itemsOrDescription.transformResponse\n };\n })\n });\n }\n\n return {\n items: itemsOrDescription,\n sourceId: sourceId\n };\n}\nexport function resolve(items) {\n var packed = items.reduce(function (acc, current) {\n if (!isDescription(current)) {\n acc.push(current);\n return acc;\n }\n\n var searchClient = current.searchClient,\n execute = current.execute,\n requests = current.requests;\n var container = acc.find(function (item) {\n return isDescription(current) && isDescription(item) && item.searchClient === searchClient && item.execute === execute;\n });\n\n if (container) {\n var _container$items;\n\n (_container$items = container.items).push.apply(_container$items, _toConsumableArray(requests));\n } else {\n var request = {\n execute: execute,\n items: requests,\n searchClient: searchClient\n };\n acc.push(request);\n }\n\n return acc;\n }, []);\n var values = packed.map(function (maybeDescription) {\n if (!isDescription(maybeDescription)) {\n return Promise.resolve(maybeDescription);\n }\n\n var _ref = maybeDescription,\n execute = _ref.execute,\n items = _ref.items,\n searchClient = _ref.searchClient;\n return execute({\n searchClient: searchClient,\n requests: items\n });\n });\n return Promise.all(values).then(function (responses) {\n return flatten(responses);\n });\n}\nexport function postResolve(responses, sources) {\n return sources.map(function (source) {\n var matches = responses.filter(function (response) {\n return response.sourceId === source.sourceId;\n });\n var results = matches.map(function (_ref2) {\n var items = _ref2.items;\n return items;\n });\n var transform = matches[0].transformResponse;\n var items = transform ? transform(mapToAlgoliaResponse(results)) : results;\n invariant(Array.isArray(items), function () {\n return \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned type \").concat(JSON.stringify(_typeof(items)), \":\\n\\n\").concat(JSON.stringify(decycle(items), null, 2), \".\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\");\n });\n invariant(items.every(Boolean), \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned \").concat(JSON.stringify(undefined), \".\\n\\nDid you forget to return items?\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\"));\n return {\n source: source,\n items: items\n };\n });\n}","var _excluded = [\"event\", \"nextState\", \"props\", \"query\", \"refresh\", \"store\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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; }\n\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; }\n\nimport { reshape } from './reshape';\nimport { preResolve, resolve, postResolve } from './resolve';\nimport { createConcurrentSafePromise, getActiveItem } from './utils';\nvar lastStalledId = null;\nvar runConcurrentSafePromise = createConcurrentSafePromise();\nexport function onInput(_ref) {\n var event = _ref.event,\n _ref$nextState = _ref.nextState,\n nextState = _ref$nextState === void 0 ? {} : _ref$nextState,\n props = _ref.props,\n query = _ref.query,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n\n var setCollections = setters.setCollections,\n setIsOpen = setters.setIsOpen,\n setQuery = setters.setQuery,\n setActiveItemId = setters.setActiveItemId,\n setStatus = setters.setStatus;\n setQuery(query);\n setActiveItemId(props.defaultActiveItemId);\n\n if (!query && props.openOnFocus === false) {\n var _nextState$isOpen;\n\n var collections = store.getState().collections.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n items: []\n });\n });\n setStatus('idle');\n setCollections(collections);\n setIsOpen((_nextState$isOpen = nextState.isOpen) !== null && _nextState$isOpen !== void 0 ? _nextState$isOpen : props.shouldPanelOpen({\n state: store.getState()\n })); // We make sure to update the latest resolved value of the tracked\n // promises to keep late resolving promises from \"cancelling\" the state\n // updates performed in this code path.\n // We chain with a void promise to respect `onInput`'s expected return type.\n\n return runConcurrentSafePromise(collections).then(function () {\n return Promise.resolve();\n });\n }\n\n setStatus('loading');\n lastStalledId = props.environment.setTimeout(function () {\n setStatus('stalled');\n }, props.stallThreshold); // We track the entire promise chain triggered by `onInput` before mutating\n // the Autocomplete state to make sure that any state manipulation is based on\n // fresh data regardless of when promises individually resolve.\n // We don't track nested promises and only rely on the full chain resolution,\n // meaning we should only ever manipulate the state once this concurrent-safe\n // promise is resolved.\n\n return runConcurrentSafePromise(props.getSources(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters)).then(function (sources) {\n return Promise.all(sources.map(function (source) {\n return Promise.resolve(source.getItems(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters))).then(function (itemsOrDescription) {\n return preResolve(itemsOrDescription, source.sourceId);\n });\n })).then(resolve).then(function (responses) {\n return postResolve(responses, sources);\n }).then(function (collections) {\n return reshape({\n collections: collections,\n props: props,\n state: store.getState()\n });\n });\n })).then(function (collections) {\n var _nextState$isOpen2;\n\n // Parameters passed to `onInput` could be stale when the following code\n // executes, because `onInput` calls may not resolve in order.\n // If it becomes a problem we'll need to save the last passed parameters.\n // See: https://codesandbox.io/s/agitated-cookies-y290z\n setStatus('idle');\n\n if (store.shouldSkipPendingUpdate) {\n if (!runConcurrentSafePromise.isRunning()) {\n store.shouldSkipPendingUpdate = false;\n }\n\n return;\n }\n\n setCollections(collections);\n var isPanelOpen = props.shouldPanelOpen({\n state: store.getState()\n });\n setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : props.openOnFocus && !query && isPanelOpen || isPanelOpen);\n var highlightedItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }).finally(function () {\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n });\n}\nonInput.isRunning = runConcurrentSafePromise.isRunning;","var _excluded = [\"event\", \"props\", \"refresh\", \"store\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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; }\n\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; }\n\nimport { onInput } from './onInput';\nimport { getActiveItem } from './utils';\nexport function onKeyDown(_ref) {\n var event = _ref.event,\n props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n // eslint-disable-next-line no-inner-declarations\n var triggerScrollIntoView = function triggerScrollIntoView() {\n var nodeItem = props.environment.document.getElementById(\"\".concat(props.id, \"-item-\").concat(store.getState().activeItemId));\n\n if (nodeItem) {\n if (nodeItem.scrollIntoViewIfNeeded) {\n nodeItem.scrollIntoViewIfNeeded(false);\n } else {\n nodeItem.scrollIntoView(false);\n }\n }\n }; // eslint-disable-next-line no-inner-declarations\n\n\n var triggerOnActive = function triggerOnActive() {\n var highlightedItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }; // Default browser behavior changes the caret placement on ArrowUp and\n // ArrowDown.\n\n\n event.preventDefault(); // When re-opening the panel, we need to split the logic to keep the actions\n // synchronized as `onInput` returns a promise.\n\n if (store.getState().isOpen === false && (props.openOnFocus || Boolean(store.getState().query))) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n store.dispatch(event.key, {\n nextActiveItemId: props.defaultActiveItemId\n });\n triggerOnActive(); // Since we rely on the DOM, we need to wait for all the micro tasks to\n // finish (which include re-opening the panel) to make sure all the\n // elements are available.\n\n setTimeout(triggerScrollIntoView, 0);\n });\n } else {\n store.dispatch(event.key, {});\n triggerOnActive();\n triggerScrollIntoView();\n }\n } else if (event.key === 'Escape') {\n // This prevents the default browser behavior on `input[type=\"search\"]`\n // from removing the query right away because we first want to close the\n // panel.\n event.preventDefault();\n store.dispatch(event.key, null); // Hitting the `Escape` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // running and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n\n if (onInput.isRunning()) {\n store.shouldSkipPendingUpdate = true;\n }\n } else if (event.key === 'Enter') {\n // No active item, so we let the browser handle the native `onSubmit` form\n // event.\n if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) {\n return collection.items.length === 0;\n })) {\n return;\n } // This prevents the `onSubmit` event to be sent because an item is\n // highlighted.\n\n\n event.preventDefault();\n\n var _ref2 = getActiveItem(store.getState()),\n item = _ref2.item,\n itemInputValue = _ref2.itemInputValue,\n itemUrl = _ref2.itemUrl,\n source = _ref2.source;\n\n if (event.metaKey || event.ctrlKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewTab({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.shiftKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewWindow({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.altKey) {// Keep native browser behavior\n } else {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigate({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n return;\n }\n\n onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }\n}","var _excluded = [\"props\", \"refresh\", \"store\"],\n _excluded2 = [\"inputElement\", \"formElement\", \"panelElement\"],\n _excluded3 = [\"inputElement\"],\n _excluded4 = [\"inputElement\", \"maxLength\"],\n _excluded5 = [\"item\", \"source\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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; }\n\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; }\n\nimport { onInput } from './onInput';\nimport { onKeyDown as _onKeyDown } from './onKeyDown';\nimport { getActiveItem, isOrContainsNode } from './utils';\nexport function getPropGetters(_ref) {\n var props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n var getEnvironmentProps = function getEnvironmentProps(providedProps) {\n var inputElement = providedProps.inputElement,\n formElement = providedProps.formElement,\n panelElement = providedProps.panelElement,\n rest = _objectWithoutProperties(providedProps, _excluded2);\n\n return _objectSpread({\n // On touch devices, we do not rely on the native `blur` event of the\n // input to close the panel, but rather on a custom `touchstart` event\n // outside of the autocomplete elements.\n // This ensures a working experience on mobile because we blur the input\n // on touch devices when the user starts scrolling (`touchmove`).\n // @TODO: support cases where there are multiple Autocomplete instances.\n // Right now, a second instance makes this computation return false.\n onTouchStart: function onTouchStart(event) {\n // The `onTouchStart` event shouldn't trigger the `blur` handler when\n // it's not an interaction with Autocomplete. We detect it with the\n // following heuristics:\n // - the panel is closed AND there are no running requests\n // (no interaction with the autocomplete, no future state updates)\n // - OR the touched target is the input element (should open the panel)\n var isNotAutocompleteInteraction = store.getState().isOpen === false && !onInput.isRunning();\n\n if (isNotAutocompleteInteraction || event.target === inputElement) {\n return;\n }\n\n var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {\n return isOrContainsNode(contextNode, event.target);\n });\n\n if (isTargetWithinAutocomplete === false) {\n store.dispatch('blur', null); // If requests are still running when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n\n if (!props.debug && onInput.isRunning()) {\n store.shouldSkipPendingUpdate = true;\n }\n }\n },\n // When scrolling on touch devices (mobiles, tablets, etc.), we want to\n // mimic the native platform behavior where the input is blurred to\n // hide the virtual keyboard. This gives more vertical space to\n // discover all the suggestions showing up in the panel.\n onTouchMove: function onTouchMove(event) {\n if (store.getState().isOpen === false || inputElement !== props.environment.document.activeElement || event.target === inputElement) {\n return;\n }\n\n inputElement.blur();\n }\n }, rest);\n };\n\n var getRootProps = function getRootProps(rest) {\n return _objectSpread({\n role: 'combobox',\n 'aria-expanded': store.getState().isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-owns': store.getState().isOpen ? \"\".concat(props.id, \"-list\") : undefined,\n 'aria-labelledby': \"\".concat(props.id, \"-label\")\n }, rest);\n };\n\n var getFormProps = function getFormProps(providedProps) {\n var inputElement = providedProps.inputElement,\n rest = _objectWithoutProperties(providedProps, _excluded3);\n\n return _objectSpread({\n action: '',\n noValidate: true,\n role: 'search',\n onSubmit: function onSubmit(event) {\n var _providedProps$inputE;\n\n event.preventDefault();\n props.onSubmit(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('submit', null);\n (_providedProps$inputE = providedProps.inputElement) === null || _providedProps$inputE === void 0 ? void 0 : _providedProps$inputE.blur();\n },\n onReset: function onReset(event) {\n var _providedProps$inputE2;\n\n event.preventDefault();\n props.onReset(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('reset', null);\n (_providedProps$inputE2 = providedProps.inputElement) === null || _providedProps$inputE2 === void 0 ? void 0 : _providedProps$inputE2.focus();\n }\n }, rest);\n };\n\n var getInputProps = function getInputProps(providedProps) {\n function onFocus(event) {\n // We want to trigger a query when `openOnFocus` is true\n // because the panel should open with the current query.\n if (props.openOnFocus || Boolean(store.getState().query)) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().completion || store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n\n store.dispatch('focus', null);\n }\n\n var isTouchDevice = ('ontouchstart' in props.environment);\n\n var _ref2 = providedProps || {},\n inputElement = _ref2.inputElement,\n _ref2$maxLength = _ref2.maxLength,\n maxLength = _ref2$maxLength === void 0 ? 512 : _ref2$maxLength,\n rest = _objectWithoutProperties(_ref2, _excluded4);\n\n var activeItem = getActiveItem(store.getState());\n return _objectSpread({\n 'aria-autocomplete': 'both',\n 'aria-activedescendant': store.getState().isOpen && store.getState().activeItemId !== null ? \"\".concat(props.id, \"-item-\").concat(store.getState().activeItemId) : undefined,\n 'aria-controls': store.getState().isOpen ? \"\".concat(props.id, \"-list\") : undefined,\n 'aria-labelledby': \"\".concat(props.id, \"-label\"),\n value: store.getState().completion || store.getState().query,\n id: \"\".concat(props.id, \"-input\"),\n autoComplete: 'off',\n autoCorrect: 'off',\n autoCapitalize: 'off',\n enterKeyHint: activeItem !== null && activeItem !== void 0 && activeItem.itemUrl ? 'go' : 'search',\n spellCheck: 'false',\n autoFocus: props.autoFocus,\n placeholder: props.placeholder,\n maxLength: maxLength,\n type: 'search',\n onChange: function onChange(event) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: event.currentTarget.value.slice(0, maxLength),\n refresh: refresh,\n store: store\n }, setters));\n },\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(_objectSpread({\n event: event,\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n },\n onFocus: onFocus,\n onBlur: function onBlur() {\n // We do rely on the `blur` event on touch devices.\n // See explanation in `onTouchStart`.\n if (!isTouchDevice) {\n store.dispatch('blur', null); // If requests are still running when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n\n if (!props.debug && onInput.isRunning()) {\n store.shouldSkipPendingUpdate = true;\n }\n }\n },\n onClick: function onClick(event) {\n // When the panel is closed and you click on the input while\n // the input is focused, the `onFocus` event is not triggered\n // (default browser behavior).\n // In an autocomplete context, it makes sense to open the panel in this\n // case.\n // We mimic this event by catching the `onClick` event which\n // triggers the `onFocus` for the panel to open.\n if (providedProps.inputElement === props.environment.document.activeElement && !store.getState().isOpen) {\n onFocus(event);\n }\n }\n }, rest);\n };\n\n var getLabelProps = function getLabelProps(rest) {\n return _objectSpread({\n htmlFor: \"\".concat(props.id, \"-input\"),\n id: \"\".concat(props.id, \"-label\")\n }, rest);\n };\n\n var getListProps = function getListProps(rest) {\n return _objectSpread({\n role: 'listbox',\n 'aria-labelledby': \"\".concat(props.id, \"-label\"),\n id: \"\".concat(props.id, \"-list\")\n }, rest);\n };\n\n var getPanelProps = function getPanelProps(rest) {\n return _objectSpread({\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the panel so\n // that the blur event is not triggered, otherwise it closes the\n // panel.\n event.preventDefault();\n },\n onMouseLeave: function onMouseLeave() {\n store.dispatch('mouseleave', null);\n }\n }, rest);\n };\n\n var getItemProps = function getItemProps(providedProps) {\n var item = providedProps.item,\n source = providedProps.source,\n rest = _objectWithoutProperties(providedProps, _excluded5);\n\n return _objectSpread({\n id: \"\".concat(props.id, \"-item-\").concat(item.__autocomplete_id),\n role: 'option',\n 'aria-selected': store.getState().activeItemId === item.__autocomplete_id,\n onMouseMove: function onMouseMove(event) {\n if (item.__autocomplete_id === store.getState().activeItemId) {\n return;\n }\n\n store.dispatch('mousemove', item.__autocomplete_id);\n var activeItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && activeItem) {\n var _item = activeItem.item,\n itemInputValue = activeItem.itemInputValue,\n itemUrl = activeItem.itemUrl,\n _source = activeItem.source;\n\n _source.onActive(_objectSpread({\n event: event,\n item: _item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: _source,\n state: store.getState()\n }, setters));\n }\n },\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the item so it\n // can remain with the current `activeElement`.\n event.preventDefault();\n },\n onClick: function onClick(event) {\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: store.getState()\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: store.getState()\n }); // If `getItemUrl` is provided, it means that the suggestion\n // is a link, not plain text that aims at updating the query.\n // We can therefore skip the state change because it will update\n // the `activeItemId`, resulting in a UI flash, especially\n // noticeable on mobile.\n\n var runPreCommand = itemUrl ? Promise.resolve() : onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters));\n runPreCommand.then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }, rest);\n };\n\n return {\n getEnvironmentProps: getEnvironmentProps,\n getRootProps: getRootProps,\n getFormProps: getFormProps,\n getLabelProps: getLabelProps,\n getInputProps: getInputProps,\n getPanelProps: getPanelProps,\n getListProps: getListProps,\n getItemProps: getItemProps\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { userAgents } from '@algolia/autocomplete-shared';\nexport function getMetadata(_ref) {\n var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;\n\n var plugins = _ref.plugins,\n options = _ref.options;\n var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;\n var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};\n return {\n plugins: plugins.map(function (plugin) {\n return {\n name: plugin.name,\n options: Object.keys(plugin.__autocomplete_pluginOptions || [])\n };\n }),\n options: _objectSpread({\n 'autocomplete-core': Object.keys(options)\n }, extraOptions),\n ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])\n };\n}\nexport function injectMetadata(_ref3) {\n var _environment$navigato;\n\n var metadata = _ref3.metadata,\n environment = _ref3.environment;\n var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : _environment$navigato.userAgent.includes('Algolia Crawler');\n\n if (isMetadataEnabled) {\n var metadataContainer = environment.document.createElement('meta');\n var headRef = environment.document.querySelector('head');\n metadataContainer.name = 'algolia:metadata';\n setTimeout(function () {\n metadataContainer.content = JSON.stringify(metadata);\n headRef.appendChild(metadataContainer);\n }, 0);\n }\n}","import { getActiveItem } from './utils';\nexport function getCompletion(_ref) {\n var _getActiveItem;\n\n var state = _ref.state;\n\n if (state.isOpen === false || state.activeItemId === null) {\n return null;\n }\n\n return ((_getActiveItem = getActiveItem(state)) === null || _getActiveItem === void 0 ? void 0 : _getActiveItem.itemInputValue) || null;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getItemsCount, invariant } from '@algolia/autocomplete-shared';\nimport { getCompletion } from './getCompletion';\nimport { getNextActiveItemId } from './utils';\nexport var stateReducer = function stateReducer(state, action) {\n switch (action.type) {\n case 'setActiveItemId':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n\n case 'setQuery':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n query: action.payload,\n completion: null\n });\n }\n\n case 'setCollections':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n collections: action.payload\n });\n }\n\n case 'setIsOpen':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: action.payload\n });\n }\n\n case 'setStatus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n status: action.payload\n });\n }\n\n case 'setContext':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n context: _objectSpread(_objectSpread({}, state.context), action.payload)\n });\n }\n\n case 'ArrowDown':\n {\n var nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload.hasOwnProperty('nextActiveItemId') ? action.payload.nextActiveItemId : getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n\n return _objectSpread(_objectSpread({}, nextState), {}, {\n completion: getCompletion({\n state: nextState\n })\n });\n }\n\n case 'ArrowUp':\n {\n var _nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n\n return _objectSpread(_objectSpread({}, _nextState), {}, {\n completion: getCompletion({\n state: _nextState\n })\n });\n }\n\n case 'Escape':\n {\n if (state.isOpen) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n completion: null\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n query: '',\n status: 'idle',\n collections: []\n });\n }\n\n case 'submit':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n status: 'idle'\n });\n }\n\n case 'reset':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: // Since we open the panel on reset when openOnFocus=true\n // we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case)\n // Since we close the panel when openOnFocus=false\n // we lose track of the highlighted index. (Query-suggestions use-case)\n action.props.openOnFocus === true ? action.props.defaultActiveItemId : null,\n status: 'idle',\n query: ''\n });\n }\n\n case 'focus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId,\n isOpen: (action.props.openOnFocus || Boolean(state.query)) && action.props.shouldPanelOpen({\n state: state\n })\n });\n }\n\n case 'blur':\n {\n if (action.props.debug) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: false,\n activeItemId: null\n });\n }\n\n case 'mousemove':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n\n case 'mouseleave':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId\n });\n }\n\n default:\n invariant(false, \"The reducer action \".concat(JSON.stringify(action.type), \" is not supported.\"));\n return state;\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { checkOptions } from './checkOptions';\nimport { createStore } from './createStore';\nimport { getAutocompleteSetters } from './getAutocompleteSetters';\nimport { getDefaultProps } from './getDefaultProps';\nimport { getPropGetters } from './getPropGetters';\nimport { getMetadata, injectMetadata } from './metadata';\nimport { onInput } from './onInput';\nimport { stateReducer } from './stateReducer';\nexport function createAutocomplete(options) {\n checkOptions(options);\n var subscribers = [];\n var props = getDefaultProps(options, subscribers);\n var store = createStore(stateReducer, props, onStoreStateChange);\n var setters = getAutocompleteSetters({\n store: store\n });\n var propGetters = getPropGetters(_objectSpread({\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n\n function onStoreStateChange(_ref) {\n var prevState = _ref.prevState,\n state = _ref.state;\n props.onStateChange(_objectSpread({\n prevState: prevState,\n state: state,\n refresh: refresh\n }, setters));\n }\n\n function refresh() {\n return onInput(_objectSpread({\n event: new Event('input'),\n nextState: {\n isOpen: store.getState().isOpen\n },\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n\n props.plugins.forEach(function (plugin) {\n var _plugin$subscribe;\n\n return (_plugin$subscribe = plugin.subscribe) === null || _plugin$subscribe === void 0 ? void 0 : _plugin$subscribe.call(plugin, _objectSpread(_objectSpread({}, setters), {}, {\n refresh: refresh,\n onSelect: function onSelect(fn) {\n subscribers.push({\n onSelect: fn\n });\n },\n onActive: function onActive(fn) {\n subscribers.push({\n onActive: fn\n });\n }\n }));\n });\n injectMetadata({\n metadata: getMetadata({\n plugins: props.plugins,\n options: options\n }),\n environment: props.environment\n });\n return _objectSpread(_objectSpread({\n refresh: refresh\n }, propGetters), setters);\n}","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const ClearIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-ClearIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '18');\n element.setAttribute('height', '18');\n element.setAttribute('fill', 'currentColor');\n\n const path = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path'\n );\n path.setAttribute(\n 'd',\n 'M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z'\n );\n\n element.appendChild(path);\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\nimport { invariant } from '@algolia/autocomplete-shared';\n\nexport function getHTMLElement(\n environment: AutocompleteEnvironment,\n value: string | HTMLElement\n): HTMLElement {\n if (typeof value === 'string') {\n const element = environment.document.querySelector<HTMLElement>(value);\n\n invariant(\n element !== null,\n `The element ${JSON.stringify(value)} is not in the document.`\n );\n\n return element!;\n }\n\n return value;\n}\n","import { AutocompleteClassNames } from '../types';\n\nexport function mergeClassNames(\n ...values: Array<Partial<AutocompleteClassNames>>\n) {\n return values.reduce((acc, current) => {\n Object.keys(current).forEach((key) => {\n const accValue = acc[key];\n const currentValue = current[key];\n\n if (accValue !== currentValue) {\n acc[key] = [accValue, currentValue].filter(Boolean).join(' ');\n }\n });\n\n return acc;\n }, {});\n}\n","const isPlainObject = (value: unknown) =>\n value &&\n typeof value === 'object' &&\n Object.prototype.toString.call(value) === '[object Object]';\n\nexport function mergeDeep(...values: any[]) {\n return values.reduce((acc, current) => {\n Object.keys(current).forEach((key) => {\n const accValue = acc[key];\n const currentValue = current[key];\n\n if (Array.isArray(accValue) && Array.isArray(currentValue)) {\n acc[key] = accValue.concat(...currentValue);\n } else if (isPlainObject(accValue) && isPlainObject(currentValue)) {\n acc[key] = mergeDeep(accValue, currentValue);\n } else {\n acc[key] = currentValue;\n }\n });\n\n return acc;\n }, {});\n}\n","/* eslint-disable */\n\n/*\n * Taken from Preact\n *\n * See https://github.com/preactjs/preact/blob/6ab49d9020740127577bf4af66bf63f4af7f9fee/src/diff/props.js#L58-L151\n */\n\nfunction setStyle(style: object, key: string, value: any) {\n if (value === null) {\n style[key] = '';\n } else if (typeof value !== 'number') {\n style[key] = value;\n } else {\n style[key] = value + 'px';\n }\n}\n\n/**\n * Proxy an event to hooked event handlers\n */\nfunction eventProxy(this: any, event: Event) {\n this._listeners[event.type](event);\n}\n\n/**\n * Set a property value on a DOM node\n */\nexport function setProperty(dom: HTMLElement, name: string, value: any) {\n let useCapture: boolean;\n let nameLower: string;\n let oldValue = dom[name];\n\n if (name === 'style') {\n if (typeof value == 'string') {\n (dom as any).style = value;\n } else {\n if (value === null) {\n (dom as any).style = '';\n } else {\n for (name in value) {\n if (!oldValue || value[name] !== oldValue[name]) {\n setStyle(dom.style, name, value[name]);\n }\n }\n }\n }\n }\n // Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n else if (name[0] === 'o' && name[1] === 'n') {\n useCapture = name !== (name = name.replace(/Capture$/, ''));\n nameLower = name.toLowerCase();\n if (nameLower in dom) name = nameLower;\n name = name.slice(2);\n\n if (!(dom as any)._listeners) (dom as any)._listeners = {};\n (dom as any)._listeners[name] = value;\n\n if (value) {\n if (!oldValue) dom.addEventListener(name, eventProxy, useCapture);\n } else {\n dom.removeEventListener(name, eventProxy, useCapture);\n }\n } else if (\n name !== 'list' &&\n name !== 'tagName' &&\n // HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using\n // setAttribute\n name !== 'form' &&\n name !== 'type' &&\n name !== 'size' &&\n name !== 'download' &&\n name !== 'href' &&\n name in dom\n ) {\n dom[name] = value == null ? '' : value;\n } else if (typeof value != 'function' && name !== 'dangerouslySetInnerHTML') {\n if (\n value == null ||\n (value === false &&\n // ARIA-attributes have a different notion of boolean values.\n // The value `false` is different from the attribute not\n // existing on the DOM, so we can't remove it. For non-boolean\n // ARIA-attributes we could treat false as a removal, but the\n // amount of exceptions would cost us too many bytes. On top of\n // that other VDOM frameworks also always stringify `false`.\n !/^ar/.test(name))\n ) {\n dom.removeAttribute(name);\n } else {\n dom.setAttribute(name, value);\n }\n }\n}\n\nfunction getNormalizedName(name: string): string {\n switch (name) {\n case 'onChange':\n return 'onInput';\n default:\n return name;\n }\n}\n\nexport function setProperties(dom: HTMLElement, props: object): void {\n for (const name in props) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n}\n\nexport function setPropertiesWithoutEvents(\n dom: HTMLElement,\n props: object\n): void {\n for (const name in props) {\n if (!(name[0] === 'o' && name[1] === 'n')) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n }\n}\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { setProperties } from './utils';\n\ntype CreateDomElementProps = Record<string, unknown> & {\n children?: Node[];\n};\n\nexport function getCreateDomElement(environment: AutocompleteEnvironment) {\n return function createDomElement<KParam extends keyof HTMLElementTagNameMap>(\n tagName: KParam,\n { children = [], ...props }: CreateDomElementProps\n ): HTMLElementTagNameMap[KParam] {\n const element = environment.document.createElement<KParam>(tagName);\n setProperties(element, props);\n element.append(...children);\n\n return element;\n };\n}\n","import {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteEnvironment,\n AutocompleteScopeApi,\n} from '@algolia/autocomplete-core';\n\nimport { getCreateDomElement } from '../getCreateDomElement';\nimport { AutocompletePropGetters, AutocompleteState } from '../types';\nimport { AutocompleteElement } from '../types/AutocompleteElement';\nimport { setProperties } from '../utils';\n\ntype InputProps = {\n autocompleteScopeApi: AutocompleteScopeApi<any>;\n environment: AutocompleteEnvironment;\n getInputProps: AutocompletePropGetters<any>['getInputProps'];\n getInputPropsCore: AutocompleteCoreApi<any>['getInputProps'];\n onDetachedEscape?(): void;\n state: AutocompleteState<any>;\n};\n\nexport const Input: AutocompleteElement<InputProps, HTMLInputElement> = ({\n autocompleteScopeApi,\n environment,\n classNames,\n getInputProps,\n getInputPropsCore,\n onDetachedEscape,\n state,\n ...props\n}) => {\n const createDomElement = getCreateDomElement(environment);\n const element = createDomElement('input', props);\n const inputProps = getInputProps({\n state,\n props: getInputPropsCore({ inputElement: element }),\n inputElement: element,\n ...autocompleteScopeApi,\n });\n\n setProperties(element, {\n ...inputProps,\n onKeyDown(event: KeyboardEvent) {\n if (onDetachedEscape && event.key === 'Escape') {\n event.preventDefault();\n onDetachedEscape();\n return;\n }\n\n inputProps.onKeyDown(event);\n },\n });\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const LoadingIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-LoadingIcon');\n element.setAttribute('viewBox', '0 0 100 100');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n\n element.innerHTML = `<circle\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"35\"\n stroke=\"currentColor\"\n stroke-dasharray=\"164.93361431346415 56.97787143782138\"\n stroke-width=\"6\"\n>\n <animateTransform\n attributeName=\"transform\"\n type=\"rotate\"\n repeatCount=\"indefinite\"\n dur=\"1s\"\n values=\"0 50 50;90 50 50;180 50 50;360 50 50\"\n keyTimes=\"0;0.40;0.65;1\"\n />\n</circle>`;\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const SearchIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-SubmitIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.setAttribute('fill', 'currentColor');\n\n const path = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path'\n );\n path.setAttribute(\n 'd',\n 'M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z'\n );\n\n element.appendChild(path);\n\n return element;\n};\n","import {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteEnvironment,\n AutocompleteScopeApi,\n BaseItem,\n} from '@algolia/autocomplete-core';\n\nimport { ClearIcon, Input, LoadingIcon, SearchIcon } from './elements';\nimport { getCreateDomElement } from './getCreateDomElement';\nimport {\n AutocompleteClassNames,\n AutocompleteDom,\n AutocompletePropGetters,\n AutocompleteState,\n AutocompleteTranslations,\n} from './types';\nimport { setProperties } from './utils';\n\ntype CreateDomProps<TItem extends BaseItem> = {\n autocomplete: AutocompleteCoreApi<TItem>;\n autocompleteScopeApi: AutocompleteScopeApi<TItem>;\n classNames: AutocompleteClassNames;\n environment: AutocompleteEnvironment;\n isDetached: boolean;\n placeholder?: string;\n propGetters: AutocompletePropGetters<TItem>;\n setIsModalOpen(value: boolean): void;\n state: AutocompleteState<TItem>;\n translations: AutocompleteTranslations;\n};\n\nexport function createAutocompleteDom<TItem extends BaseItem>({\n autocomplete,\n autocompleteScopeApi,\n classNames,\n environment,\n isDetached,\n placeholder = 'Search',\n propGetters,\n setIsModalOpen,\n state,\n translations,\n}: CreateDomProps<TItem>): AutocompleteDom {\n const createDomElement = getCreateDomElement(environment);\n\n const rootProps = propGetters.getRootProps({\n state,\n props: autocomplete.getRootProps({}),\n ...autocompleteScopeApi,\n });\n const root = createDomElement('div', {\n class: classNames.root,\n ...rootProps,\n });\n const detachedContainer = createDomElement('div', {\n class: classNames.detachedContainer,\n onMouseDown(event: MouseEvent) {\n event.stopPropagation();\n },\n });\n const detachedOverlay = createDomElement('div', {\n class: classNames.detachedOverlay,\n children: [detachedContainer],\n onMouseDown() {\n setIsModalOpen(false);\n autocomplete.setIsOpen(false);\n },\n });\n\n const labelProps = propGetters.getLabelProps({\n state,\n props: autocomplete.getLabelProps({}),\n ...autocompleteScopeApi,\n });\n const submitButton = createDomElement('button', {\n class: classNames.submitButton,\n type: 'submit',\n title: translations.submitButtonTitle,\n children: [SearchIcon({ environment })],\n });\n const label = createDomElement('label', {\n class: classNames.label,\n children: [submitButton],\n ...labelProps,\n });\n const clearButton = createDomElement('button', {\n class: classNames.clearButton,\n type: 'reset',\n title: translations.clearButtonTitle,\n children: [ClearIcon({ environment })],\n });\n const loadingIndicator = createDomElement('div', {\n class: classNames.loadingIndicator,\n children: [LoadingIcon({ environment })],\n });\n\n const input = Input({\n class: classNames.input,\n environment,\n state,\n getInputProps: propGetters.getInputProps,\n getInputPropsCore: autocomplete.getInputProps,\n autocompleteScopeApi,\n onDetachedEscape: isDetached\n ? () => {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n }\n : undefined,\n });\n\n const inputWrapperPrefix = createDomElement('div', {\n class: classNames.inputWrapperPrefix,\n children: [label, loadingIndicator],\n });\n const inputWrapperSuffix = createDomElement('div', {\n class: classNames.inputWrapperSuffix,\n children: [clearButton],\n });\n const inputWrapper = createDomElement('div', {\n class: classNames.inputWrapper,\n children: [input],\n });\n\n const formProps = propGetters.getFormProps({\n state,\n props: autocomplete.getFormProps({ inputElement: input }),\n ...autocompleteScopeApi,\n });\n const form = createDomElement('form', {\n class: classNames.form,\n children: [inputWrapperPrefix, inputWrapper, inputWrapperSuffix],\n ...formProps,\n });\n const panelProps = propGetters.getPanelProps({\n state,\n props: autocomplete.getPanelProps({}),\n ...autocompleteScopeApi,\n });\n const panel = createDomElement('div', {\n class: classNames.panel,\n ...panelProps,\n });\n\n if (__TEST__) {\n setProperties(panel, {\n 'data-testid': 'panel',\n });\n }\n\n if (isDetached) {\n const detachedSearchButtonIcon = createDomElement('div', {\n class: classNames.detachedSearchButtonIcon,\n children: [SearchIcon({ environment })],\n });\n const detachedSearchButtonPlaceholder = createDomElement('div', {\n class: classNames.detachedSearchButtonPlaceholder,\n textContent: placeholder,\n });\n const detachedSearchButton = createDomElement('button', {\n class: classNames.detachedSearchButton,\n onClick(event: MouseEvent) {\n event.preventDefault();\n setIsModalOpen(true);\n },\n children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder],\n });\n const detachedCancelButton = createDomElement('button', {\n class: classNames.detachedCancelButton,\n textContent: translations.detachedCancelButtonText,\n onClick() {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n },\n });\n const detachedFormContainer = createDomElement('div', {\n class: classNames.detachedFormContainer,\n children: [form, detachedCancelButton],\n });\n\n detachedContainer.appendChild(detachedFormContainer);\n root.appendChild(detachedSearchButton);\n } else {\n root.appendChild(form);\n }\n\n return {\n detachedContainer,\n detachedOverlay,\n inputWrapper,\n input,\n root,\n form,\n label,\n submitButton,\n clearButton,\n loadingIndicator,\n panel,\n };\n}\n","type Effect = () => void;\ntype EffectFn = () => Effect;\ntype CleanupFn = () => void;\ntype EffectWrapper = {\n runEffect(fn: EffectFn): void;\n cleanupEffects(): void;\n runEffects(): void;\n};\n\nexport function createEffectWrapper(): EffectWrapper {\n let effects: EffectFn[] = [];\n let cleanups: CleanupFn[] = [];\n\n function runEffect(fn: EffectFn) {\n effects.push(fn);\n const effectCleanup = fn();\n cleanups.push(effectCleanup);\n }\n\n return {\n runEffect,\n cleanupEffects() {\n const currentCleanups = cleanups;\n cleanups = [];\n currentCleanups.forEach((cleanup) => {\n cleanup();\n });\n },\n runEffects() {\n const currentEffects = effects;\n effects = [];\n currentEffects.forEach((effect) => {\n runEffect(effect);\n });\n },\n };\n}\n","type ReactiveValue<TValue> = () => TValue;\nexport type Reactive<TValue> = {\n value: TValue;\n /**\n * @private\n */\n _fn: ReactiveValue<TValue>;\n /**\n * @private\n */\n _ref: {\n current: TValue;\n };\n};\n\nexport function createReactiveWrapper() {\n const reactives: Array<Reactive<any>> = [];\n\n return {\n reactive<TValue>(value: ReactiveValue<TValue>) {\n const current = value();\n const reactive: Reactive<TValue> = {\n _fn: value,\n _ref: { current },\n get value() {\n return this._ref.current;\n },\n set value(value) {\n this._ref.current = value;\n },\n };\n\n reactives.push(reactive);\n\n return reactive;\n },\n runReactives() {\n reactives.forEach((value) => {\n value._ref.current = value._fn();\n });\n },\n };\n}\n","var n,l,u,i,t,r,o,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,r,o,f={};for(o in u)\"key\"==o?t=u[o]:\"ref\"==o?r=u[o]:f[o]=u[o];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===f[o]&&(f[o]=l.defaultProps[o]);return y(l,f,t,r,null)}function y(n,i,t,r,o){var f={type:n,props:i,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++u:o};return null==o&&null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||r)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,r,o;n.__d&&(r=(t=(l=n).__v).__e,(o=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(o,t,i,l.__n,void 0!==o.ownerSVGElement,null!=t.__h?[r]:null,u,null==r?k(t):r,t.__h),z(u,t),t.__e!=r&&b(t)))})}function w(n,l,u,i,t,r,o,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||\"boolean\"==typeof _?null:\"string\"==typeof _||\"number\"==typeof _||\"bigint\"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,r,o,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),\"function\"==typeof _.type&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),\"function\"==typeof u.type&&(u.__d=s)):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&(\"function\"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){for(var i,t=n.__k,r=0;t&&r<t.length;r++)(i=t[r])&&(i.__=n,l=\"function\"==typeof i.type?x(i,l,u):P(u,i,i,t,i.__e,l));return l}function A(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,r){var o,f,e;if(void 0!==l.__d)o=l.__d,l.__d=void 0;else if(null==u||t!=r||null==t.parentNode)n:if(null==r||r.parentNode!==n)n.appendChild(t),o=null;else{for(f=r,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,r),o=r}return void 0!==o?o:t.nextSibling}function C(n,l,u,i,t){var r;for(r in u)\"children\"===r||\"key\"===r||r in l||H(n,r,null,u[r],i);for(r in l)t&&\"function\"!=typeof l[r]||\"children\"===r||\"key\"===r||\"value\"===r||\"checked\"===r||u[r]===l[r]||H(n,r,l[r],u[r],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||s.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var r;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])r=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?i||n.addEventListener(l,r?T:I,r):n.removeEventListener(l,r?T:I,r);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,r,o,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,o=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,r,o,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==o&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,r,o,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=o)&&(u.__e=e,u.__h=!!c,o[o.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,r,o,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if(\"svg\"===d&&(r=!0),null!=o)for(;_<o.length;_++)if((s=o[_])&&\"setAttribute\"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,o[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=r?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),o=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(o=o&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=o)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,r,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,r&&\"foreignObject\"!==d,o,f,o?o[0]:i.__k&&k(i,0),c),null!=o)for(_=o.length;_--;)null!=o[_]&&h(o[_]);c||(\"value\"in p&&void 0!==(_=p.value)&&(_!==y.value||_!==l.value||\"progress\"===d&&!_)&&H(l,\"value\",_,y.value,!1),\"checked\"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,\"checked\",_,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,r;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(r=0;r<t.length;r++)t[r]&&N(t[r],u,\"function\"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var r,o,f;l.__&&l.__(u,i),o=(r=\"function\"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!r&&t||i).__k=v(d,null,[u]),o||e,e,void 0!==i.ownerSVGElement,!r&&t?[t]:o?null:i.firstChild?n.call(i.childNodes):null,f,!r&&t?t:o?o.__e:i.firstChild,r),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,r,o,f=a({},l.props);for(o in u)\"key\"==o?t=u[o]:\"ref\"==o?r=u[o]:f[o]=u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,r||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","export var HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport var HIGHLIGHT_POST_TAG = '__/aa-highlight__';","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet() {\n var initialValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = initialValue;\n return {\n get: function get() {\n return value;\n },\n add: function add(part) {\n var lastPart = value[value.length - 1];\n\n if ((lastPart === null || lastPart === void 0 ? void 0 : lastPart.isHighlighted) === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted\n };\n } else {\n value.push(part);\n }\n }\n };\n}\n\nexport function parseAttribute(_ref) {\n var highlightedValue = _ref.highlightedValue;\n var preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n var firstValue = preTagParts.shift();\n var parts = createAttributeSet(firstValue ? [{\n value: firstValue,\n isHighlighted: false\n }] : []);\n preTagParts.forEach(function (part) {\n var postTagParts = part.split(HIGHLIGHT_POST_TAG);\n parts.add({\n value: postTagParts[0],\n isHighlighted: true\n });\n\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false\n });\n }\n });\n return parts.get();\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitHighlight(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_highlightResult'].concat(_toConsumableArray(path), ['value']));\n\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToHighlight`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","var htmlEscapes = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\"\n};\nvar hasAlphanumeric = new RegExp(/\\w/i);\nvar regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nvar regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\n\nfunction unescape(value) {\n return value && regexHasEscapedHtml.test(value) ? value.replace(regexEscapedHtml, function (character) {\n return htmlEscapes[character];\n }) : value;\n}\n\nexport function isPartHighlighted(parts, i) {\n var _parts, _parts2;\n\n var current = parts[i];\n var isNextHighlighted = ((_parts = parts[i + 1]) === null || _parts === void 0 ? void 0 : _parts.isHighlighted) || true;\n var isPreviousHighlighted = ((_parts2 = parts[i - 1]) === null || _parts2 === void 0 ? void 0 : _parts2.isHighlighted) || true;\n\n if (!hasAlphanumeric.test(unescape(current.value)) && isPreviousHighlighted === isNextHighlighted) {\n return isPreviousHighlighted;\n }\n\n return current.isHighlighted;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { isPartHighlighted } from './isPartHighlighted';\nexport function reverseHighlightedParts(parts) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some(function (part) {\n return part.isHighlighted;\n })) {\n return parts.map(function (part) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: false\n });\n });\n }\n\n return parts.map(function (part, i) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: !isPartHighlighted(parts, i)\n });\n });\n}","import { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseHighlight(props) {\n return reverseHighlightedParts(parseAlgoliaHitHighlight(props));\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitSnippet(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_snippetResult'].concat(_toConsumableArray(path), ['value']));\n\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToSnippet`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","import { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseSnippet(props) {\n return reverseHighlightedParts(parseAlgoliaHitSnippet(props));\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function createRequester(fetcher) {\n function execute(fetcherParams) {\n return fetcher({\n searchClient: fetcherParams.searchClient,\n queries: fetcherParams.requests.map(function (x) {\n return x.query;\n })\n }).then(function (responses) {\n return responses.map(function (response, index) {\n var _fetcherParams$reques = fetcherParams.requests[index],\n sourceId = _fetcherParams$reques.sourceId,\n transformResponse = _fetcherParams$reques.transformResponse;\n return {\n items: response,\n sourceId: sourceId,\n transformResponse: transformResponse\n };\n });\n });\n }\n\n return function createSpecifiedRequester(requesterParams) {\n return function requester(requestParams) {\n return _objectSpread(_objectSpread({\n execute: execute\n }, requesterParams), requestParams);\n };\n };\n}","var _excluded = [\"params\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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; }\n\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; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nimport { userAgents as coreUserAgents } from '@algolia/autocomplete-shared';\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nexport function fetchAlgoliaResults(_ref) {\n var searchClient = _ref.searchClient,\n queries = _ref.queries,\n _ref$userAgents = _ref.userAgents,\n userAgents = _ref$userAgents === void 0 ? [] : _ref$userAgents;\n\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n var algoliaAgents = [].concat(_toConsumableArray(coreUserAgents), _toConsumableArray(userAgents));\n algoliaAgents.forEach(function (_ref2) {\n var segment = _ref2.segment,\n version = _ref2.version;\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.search(queries.map(function (searchParameters) {\n var params = searchParameters.params,\n headers = _objectWithoutProperties(searchParameters, _excluded);\n\n return _objectSpread(_objectSpread({}, headers), {}, {\n params: _objectSpread({\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG\n }, params)\n });\n })).then(function (response) {\n return response.results;\n });\n}","import { parseAlgoliaHitHighlight } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createHighlightComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n return function Highlight<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitHighlight<THit>({ hit, attribute }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n };\n}\n","import { parseAlgoliaHitReverseHighlight } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createReverseHighlightComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n return function ReverseHighlight<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitReverseHighlight<THit>({\n hit,\n attribute,\n }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n };\n}\n","import { parseAlgoliaHitReverseSnippet } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createReverseSnippetComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n return function ReverseSnippet<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitReverseSnippet<THit>({\n hit,\n attribute,\n }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n };\n}\n","import { parseAlgoliaHitSnippet } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createSnippetComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n return function Snippet<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitSnippet<THit>({ hit, attribute }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n };\n}\n","import { AutocompleteEnvironment, BaseItem } from '@algolia/autocomplete-core';\nimport {\n generateAutocompleteId,\n invariant,\n} from '@algolia/autocomplete-shared';\nimport {\n createElement as preactCreateElement,\n Fragment as PreactFragment,\n render,\n} from 'preact';\n\nimport {\n createHighlightComponent,\n createReverseHighlightComponent,\n createReverseSnippetComponent,\n createSnippetComponent,\n} from './components';\nimport {\n AutocompleteClassNames,\n AutocompleteComponents,\n AutocompleteOptions,\n AutocompleteRender,\n AutocompleteRenderer,\n AutocompleteTranslations,\n} from './types';\nimport { getHTMLElement, mergeClassNames } from './utils';\n\nconst defaultClassNames: AutocompleteClassNames = {\n clearButton: 'aa-ClearButton',\n detachedCancelButton: 'aa-DetachedCancelButton',\n detachedContainer: 'aa-DetachedContainer',\n detachedFormContainer: 'aa-DetachedFormContainer',\n detachedOverlay: 'aa-DetachedOverlay',\n detachedSearchButton: 'aa-DetachedSearchButton',\n detachedSearchButtonIcon: 'aa-DetachedSearchButtonIcon',\n detachedSearchButtonPlaceholder: 'aa-DetachedSearchButtonPlaceholder',\n form: 'aa-Form',\n input: 'aa-Input',\n inputWrapper: 'aa-InputWrapper',\n inputWrapperPrefix: 'aa-InputWrapperPrefix',\n inputWrapperSuffix: 'aa-InputWrapperSuffix',\n item: 'aa-Item',\n label: 'aa-Label',\n list: 'aa-List',\n loadingIndicator: 'aa-LoadingIndicator',\n panel: 'aa-Panel',\n panelLayout: 'aa-PanelLayout aa-Panel--scrollable',\n root: 'aa-Autocomplete',\n source: 'aa-Source',\n sourceFooter: 'aa-SourceFooter',\n sourceHeader: 'aa-SourceHeader',\n sourceNoResults: 'aa-SourceNoResults',\n submitButton: 'aa-SubmitButton',\n};\n\nconst defaultRender: AutocompleteRender<any> = ({ children }, root) => {\n render(children, root);\n};\n\nconst defaultRenderer: AutocompleteRenderer = {\n createElement: preactCreateElement,\n Fragment: PreactFragment,\n};\n\nexport function getDefaultOptions<TItem extends BaseItem>(\n options: AutocompleteOptions<TItem>\n) {\n const {\n classNames,\n container,\n getEnvironmentProps,\n getFormProps,\n getInputProps,\n getItemProps,\n getLabelProps,\n getListProps,\n getPanelProps,\n getRootProps,\n panelContainer,\n panelPlacement,\n render,\n renderNoResults,\n renderer,\n detachedMediaQuery,\n components,\n translations,\n ...core\n } = options;\n\n /* eslint-disable no-restricted-globals */\n const environment: AutocompleteEnvironment = (typeof window !== 'undefined'\n ? window\n : {}) as typeof window;\n /* eslint-enable no-restricted-globals */\n const containerElement = getHTMLElement(environment, container);\n\n invariant(\n containerElement.tagName !== 'INPUT',\n 'The `container` option does not support `input` elements. You need to change the container to a `div`.'\n );\n\n const defaultedRenderer = renderer ?? defaultRenderer;\n const defaultComponents: AutocompleteComponents = {\n Highlight: createHighlightComponent(defaultedRenderer),\n ReverseHighlight: createReverseHighlightComponent(defaultedRenderer),\n ReverseSnippet: createReverseSnippetComponent(defaultedRenderer),\n Snippet: createSnippetComponent(defaultedRenderer),\n };\n const defaultTranslations: AutocompleteTranslations = {\n clearButtonTitle: 'Clear',\n detachedCancelButtonText: 'Cancel',\n submitButtonTitle: 'Submit',\n };\n\n return {\n renderer: {\n classNames: mergeClassNames(\n defaultClassNames,\n classNames ?? {}\n ) as AutocompleteClassNames,\n container: containerElement,\n getEnvironmentProps: getEnvironmentProps ?? (({ props }) => props),\n getFormProps: getFormProps ?? (({ props }) => props),\n getInputProps: getInputProps ?? (({ props }) => props),\n getItemProps: getItemProps ?? (({ props }) => props),\n getLabelProps: getLabelProps ?? (({ props }) => props),\n getListProps: getListProps ?? (({ props }) => props),\n getPanelProps: getPanelProps ?? (({ props }) => props),\n getRootProps: getRootProps ?? (({ props }) => props),\n panelContainer: panelContainer\n ? getHTMLElement(environment, panelContainer)\n : environment.document.body,\n panelPlacement: panelPlacement ?? 'input-wrapper-width',\n render: render ?? defaultRender,\n renderNoResults,\n renderer: defaultedRenderer,\n detachedMediaQuery:\n detachedMediaQuery ??\n getComputedStyle(environment.document.documentElement).getPropertyValue(\n '--aa-detached-media-query'\n ),\n components: {\n ...defaultComponents,\n ...components,\n },\n translations: {\n ...defaultTranslations,\n ...translations,\n },\n },\n core: {\n ...core,\n id: core.id ?? generateAutocompleteId(),\n environment,\n },\n };\n}\n","import { AutocompleteOptions } from './types';\n\ntype GetPanelPlacementStyleParams = Pick<\n Required<AutocompleteOptions<any>>,\n 'panelPlacement' | 'environment'\n> & {\n container: HTMLElement;\n form: HTMLElement;\n};\n\nexport function getPanelPlacementStyle({\n panelPlacement,\n container,\n form,\n environment,\n}: GetPanelPlacementStyleParams) {\n const containerRect = container.getBoundingClientRect();\n // Some browsers have specificities to retrieve the document scroll position.\n // See https://stackoverflow.com/a/28633515/9940315\n const scrollTop =\n (environment.pageYOffset as number) ||\n environment.document.documentElement.scrollTop ||\n environment.document.body.scrollTop ||\n 0;\n const top = scrollTop + containerRect.top + containerRect.height;\n\n switch (panelPlacement) {\n case 'start': {\n return {\n top,\n left: containerRect.left,\n };\n }\n\n case 'end': {\n return {\n top,\n right:\n environment.document.documentElement.clientWidth -\n (containerRect.left + containerRect.width),\n };\n }\n\n case 'full-width': {\n return {\n top,\n left: 0,\n right: 0,\n width: 'unset',\n maxWidth: 'unset',\n };\n }\n\n case 'input-wrapper-width': {\n const formRect = form.getBoundingClientRect();\n\n return {\n top,\n left: formRect.left,\n right:\n environment.document.documentElement.clientWidth -\n (formRect.left + formRect.width),\n width: 'unset',\n maxWidth: 'unset',\n };\n }\n\n default: {\n throw new Error(\n `[Autocomplete] The \\`panelPlacement\\` value ${JSON.stringify(\n panelPlacement\n )} is not valid.`\n );\n }\n }\n}\n","/** @jsx createElement */\nimport {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteScopeApi,\n} from '@algolia/autocomplete-core';\nimport { BaseItem } from '@algolia/autocomplete-core/src';\n\nimport {\n AutocompleteClassNames,\n AutocompleteComponents,\n AutocompleteDom,\n AutocompletePropGetters,\n AutocompleteRender,\n AutocompleteState,\n Pragma,\n PragmaFrag,\n} from './types';\nimport { setProperties, setPropertiesWithoutEvents } from './utils';\n\ntype RenderProps<TItem extends BaseItem> = {\n autocomplete: AutocompleteCoreApi<TItem>;\n autocompleteScopeApi: AutocompleteScopeApi<TItem>;\n classNames: AutocompleteClassNames;\n components: AutocompleteComponents;\n createElement: Pragma;\n dom: AutocompleteDom;\n Fragment: PragmaFrag;\n panelContainer: HTMLElement;\n propGetters: AutocompletePropGetters<TItem>;\n state: AutocompleteState<TItem>;\n};\n\nexport function renderSearchBox<TItem extends BaseItem>({\n autocomplete,\n autocompleteScopeApi,\n dom,\n propGetters,\n state,\n}: RenderProps<TItem>): void {\n setPropertiesWithoutEvents(\n dom.root,\n propGetters.getRootProps({\n state,\n props: autocomplete.getRootProps({}),\n ...autocompleteScopeApi,\n })\n );\n setPropertiesWithoutEvents(\n dom.input,\n propGetters.getInputProps({\n state,\n props: autocomplete.getInputProps({ inputElement: dom.input }),\n inputElement: dom.input,\n ...autocompleteScopeApi,\n })\n );\n setProperties(dom.label, { hidden: state.status === 'stalled' });\n setProperties(dom.loadingIndicator, { hidden: state.status !== 'stalled' });\n setProperties(dom.clearButton, { hidden: !state.query });\n}\n\nexport function renderPanel<TItem extends BaseItem>(\n render: AutocompleteRender<TItem>,\n {\n autocomplete,\n autocompleteScopeApi,\n classNames,\n createElement,\n dom,\n Fragment,\n panelContainer,\n propGetters,\n state,\n components,\n }: RenderProps<TItem>\n): void {\n if (!state.isOpen) {\n if (panelContainer.contains(dom.panel)) {\n panelContainer.removeChild(dom.panel);\n }\n\n return;\n }\n\n // We add the panel element to the DOM when it's not yet appended and that the\n // items are fetched.\n if (!panelContainer.contains(dom.panel) && state.status !== 'loading') {\n panelContainer.appendChild(dom.panel);\n }\n\n dom.panel.classList.toggle('aa-Panel--stalled', state.status === 'stalled');\n\n const sections = state.collections\n .filter(\n ({ source, items }) => source.templates.noResults || items.length > 0\n )\n .map(({ source, items }, sourceIndex) => (\n <section\n key={sourceIndex}\n className={classNames.source}\n data-autocomplete-source-id={source.sourceId}\n >\n {source.templates.header && (\n <div className={classNames.sourceHeader}>\n {source.templates.header({\n components,\n createElement,\n Fragment,\n items,\n source,\n state,\n })}\n </div>\n )}\n\n {source.templates.noResults && items.length === 0 ? (\n <div className={classNames.sourceNoResults}>\n {source.templates.noResults({\n components,\n createElement,\n Fragment,\n source,\n state,\n })}\n </div>\n ) : (\n <ul\n className={classNames.list}\n {...propGetters.getListProps({\n state,\n props: autocomplete.getListProps({}),\n ...autocompleteScopeApi,\n })}\n >\n {items.map((item) => {\n const itemProps = autocomplete.getItemProps({\n item,\n source,\n });\n\n return (\n <li\n key={itemProps.id}\n className={classNames.item}\n {...propGetters.getItemProps({\n state,\n props: itemProps,\n ...autocompleteScopeApi,\n })}\n >\n {source.templates.item({\n components,\n createElement,\n Fragment,\n item,\n state,\n })}\n </li>\n );\n })}\n </ul>\n )}\n\n {source.templates.footer && (\n <div className={classNames.sourceFooter}>\n {source.templates.footer({\n components,\n createElement,\n Fragment,\n items,\n source,\n state,\n })}\n </div>\n )}\n </section>\n ));\n\n const children = (\n <Fragment>\n <div className={classNames.panelLayout}>{sections}</div>\n <div className=\"aa-GradientBottom\" />\n </Fragment>\n );\n const elements = sections.reduce((acc, current) => {\n acc[current.props['data-autocomplete-source-id']] = current;\n return acc;\n }, {});\n\n render(\n {\n children,\n state,\n sections,\n elements,\n createElement,\n Fragment,\n components,\n ...autocompleteScopeApi,\n },\n dom.panel\n );\n}\n","import { version } from '@algolia/autocomplete-shared';\n\nexport const userAgents = [{ segment: 'autocomplete-js', version }];\n","import {\n AutocompleteScopeApi,\n BaseItem,\n createAutocomplete,\n} from '@algolia/autocomplete-core';\nimport {\n createRef,\n debounce,\n getItemsCount,\n} from '@algolia/autocomplete-shared';\n\nimport { createAutocompleteDom } from './createAutocompleteDom';\nimport { createEffectWrapper } from './createEffectWrapper';\nimport { createReactiveWrapper } from './createReactiveWrapper';\nimport { getDefaultOptions } from './getDefaultOptions';\nimport { getPanelPlacementStyle } from './getPanelPlacementStyle';\nimport { renderPanel, renderSearchBox } from './render';\nimport {\n AutocompleteApi,\n AutocompleteOptions,\n AutocompletePropGetters,\n AutocompleteSource,\n AutocompleteState,\n} from './types';\nimport { userAgents } from './userAgents';\nimport { mergeDeep, setProperties } from './utils';\n\nexport function autocomplete<TItem extends BaseItem>(\n options: AutocompleteOptions<TItem>\n): AutocompleteApi<TItem> {\n const { runEffect, cleanupEffects, runEffects } = createEffectWrapper();\n const { reactive, runReactives } = createReactiveWrapper();\n\n const hasNoResultsSourceTemplateRef = createRef(false);\n const optionsRef = createRef(options);\n const onStateChangeRef = createRef<\n AutocompleteOptions<TItem>['onStateChange']\n >(undefined);\n const props = reactive(() => getDefaultOptions(optionsRef.current));\n const isDetached = reactive(\n () =>\n props.value.core.environment.matchMedia(\n props.value.renderer.detachedMediaQuery\n ).matches\n );\n\n const autocomplete = reactive(() =>\n createAutocomplete<TItem>({\n ...props.value.core,\n onStateChange(params) {\n hasNoResultsSourceTemplateRef.current = params.state.collections.some(\n (collection) =>\n (collection.source as AutocompleteSource<TItem>).templates.noResults\n );\n onStateChangeRef.current?.(params as any);\n props.value.core.onStateChange?.(params as any);\n },\n shouldPanelOpen:\n optionsRef.current.shouldPanelOpen ||\n (({ state }) => {\n if (isDetached.value) {\n return true;\n }\n\n const hasItems = getItemsCount(state) > 0;\n\n if (!props.value.core.openOnFocus && !state.query) {\n return hasItems;\n }\n\n const hasNoResultsTemplate = Boolean(\n hasNoResultsSourceTemplateRef.current ||\n props.value.renderer.renderNoResults\n );\n\n return (!hasItems && hasNoResultsTemplate) || hasItems;\n }),\n __autocomplete_metadata: {\n userAgents,\n options,\n },\n })\n );\n const lastStateRef = createRef<AutocompleteState<TItem>>({\n collections: [],\n completion: null,\n context: {},\n isOpen: false,\n query: '',\n activeItemId: null,\n status: 'idle',\n ...props.value.core.initialState,\n });\n\n const propGetters: AutocompletePropGetters<TItem> = {\n getEnvironmentProps: props.value.renderer.getEnvironmentProps,\n getFormProps: props.value.renderer.getFormProps,\n getInputProps: props.value.renderer.getInputProps,\n getItemProps: props.value.renderer.getItemProps,\n getLabelProps: props.value.renderer.getLabelProps,\n getListProps: props.value.renderer.getListProps,\n getPanelProps: props.value.renderer.getPanelProps,\n getRootProps: props.value.renderer.getRootProps,\n };\n const autocompleteScopeApi: AutocompleteScopeApi<TItem> = {\n setActiveItemId: autocomplete.value.setActiveItemId,\n setQuery: autocomplete.value.setQuery,\n setCollections: autocomplete.value.setCollections,\n setIsOpen: autocomplete.value.setIsOpen,\n setStatus: autocomplete.value.setStatus,\n setContext: autocomplete.value.setContext,\n refresh: autocomplete.value.refresh,\n };\n\n const dom = reactive(() =>\n createAutocompleteDom({\n autocomplete: autocomplete.value,\n autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n environment: props.value.core.environment,\n isDetached: isDetached.value,\n placeholder: props.value.core.placeholder,\n propGetters,\n setIsModalOpen,\n state: lastStateRef.current,\n translations: props.value.renderer.translations,\n })\n );\n\n function setPanelPosition() {\n setProperties(dom.value.panel, {\n style: isDetached.value\n ? {}\n : getPanelPlacementStyle({\n panelPlacement: props.value.renderer.panelPlacement,\n container: dom.value.root,\n form: dom.value.form,\n environment: props.value.core.environment,\n }),\n });\n }\n\n function scheduleRender(state: AutocompleteState<TItem>) {\n lastStateRef.current = state;\n\n const renderProps = {\n autocomplete: autocomplete.value,\n autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n components: props.value.renderer.components,\n container: props.value.renderer.container,\n createElement: props.value.renderer.renderer.createElement,\n dom: dom.value,\n Fragment: props.value.renderer.renderer.Fragment,\n panelContainer: isDetached.value\n ? dom.value.detachedContainer\n : props.value.renderer.panelContainer,\n propGetters,\n state: lastStateRef.current,\n };\n\n const render =\n (!getItemsCount(state) &&\n !hasNoResultsSourceTemplateRef.current &&\n props.value.renderer.renderNoResults) ||\n props.value.renderer.render;\n\n renderSearchBox(renderProps);\n renderPanel(render, renderProps);\n }\n\n runEffect(() => {\n const environmentProps = autocomplete.value.getEnvironmentProps({\n formElement: dom.value.form,\n panelElement: dom.value.panel,\n inputElement: dom.value.input,\n });\n\n setProperties(props.value.core.environment as any, environmentProps);\n\n return () => {\n setProperties(\n props.value.core.environment as any,\n Object.keys(environmentProps).reduce((acc, key) => {\n return {\n ...acc,\n [key]: undefined,\n };\n }, {})\n );\n };\n });\n\n runEffect(() => {\n const panelContainerElement = isDetached.value\n ? props.value.core.environment.document.body\n : props.value.renderer.panelContainer;\n const panelElement = isDetached.value\n ? dom.value.detachedOverlay\n : dom.value.panel;\n\n if (isDetached.value && lastStateRef.current.isOpen) {\n setIsModalOpen(true);\n }\n\n scheduleRender(lastStateRef.current);\n\n return () => {\n if (panelContainerElement.contains(panelElement)) {\n panelContainerElement.removeChild(panelElement);\n }\n };\n });\n\n runEffect(() => {\n const containerElement = props.value.renderer.container;\n containerElement.appendChild(dom.value.root);\n\n return () => {\n containerElement.removeChild(dom.value.root);\n };\n });\n\n runEffect(() => {\n const debouncedRender = debounce<{\n state: AutocompleteState<TItem>;\n }>(({ state }) => {\n scheduleRender(state);\n }, 0);\n\n onStateChangeRef.current = ({ state, prevState }) => {\n if (isDetached.value && prevState.isOpen !== state.isOpen) {\n setIsModalOpen(state.isOpen);\n }\n\n // The outer DOM might have changed since the last time the panel was\n // positioned. The layout might have shifted vertically for instance.\n // It's therefore safer to re-calculate the panel position before opening\n // it again.\n if (!isDetached.value && state.isOpen && !prevState.isOpen) {\n setPanelPosition();\n }\n\n // We scroll to the top of the panel whenever the query changes (i.e. new\n // results come in) so that users don't have to.\n if (state.query !== prevState.query) {\n const scrollablePanels = props.value.core.environment.document.querySelectorAll(\n '.aa-Panel--scrollable'\n );\n scrollablePanels.forEach((scrollablePanel) => {\n if (scrollablePanel.scrollTop !== 0) {\n scrollablePanel.scrollTop = 0;\n }\n });\n }\n\n debouncedRender({ state });\n };\n\n return () => {\n onStateChangeRef.current = undefined;\n };\n });\n\n runEffect(() => {\n const onResize = debounce<Event>(() => {\n const previousIsDetached = isDetached.value;\n isDetached.value = props.value.core.environment.matchMedia(\n props.value.renderer.detachedMediaQuery\n ).matches;\n\n if (previousIsDetached !== isDetached.value) {\n update({});\n } else {\n requestAnimationFrame(setPanelPosition);\n }\n }, 20);\n props.value.core.environment.addEventListener('resize', onResize);\n\n return () => {\n props.value.core.environment.removeEventListener('resize', onResize);\n };\n });\n\n runEffect(() => {\n if (!isDetached.value) {\n return () => {};\n }\n\n function toggleModalClassname(isActive: boolean) {\n dom.value.detachedContainer.classList.toggle(\n 'aa-DetachedContainer--modal',\n isActive\n );\n }\n\n function onChange(event: MediaQueryListEvent) {\n toggleModalClassname(event.matches);\n }\n\n const isModalDetachedMql = props.value.core.environment.matchMedia(\n getComputedStyle(\n props.value.core.environment.document.documentElement\n ).getPropertyValue('--aa-detached-modal-media-query')\n );\n\n toggleModalClassname(isModalDetachedMql.matches);\n\n // Prior to Safari 14, `MediaQueryList` isn't based on `EventTarget`,\n // so we must use `addListener` and `removeListener` to observe media query lists.\n // See https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener\n const hasModernEventListener = Boolean(isModalDetachedMql.addEventListener);\n\n hasModernEventListener\n ? isModalDetachedMql.addEventListener('change', onChange)\n : isModalDetachedMql.addListener(onChange);\n\n return () => {\n hasModernEventListener\n ? isModalDetachedMql.removeEventListener('change', onChange)\n : isModalDetachedMql.removeListener(onChange);\n };\n });\n\n runEffect(() => {\n requestAnimationFrame(setPanelPosition);\n\n return () => {};\n });\n\n function destroy() {\n cleanupEffects();\n }\n\n function update(updatedOptions: Partial<AutocompleteOptions<TItem>> = {}) {\n cleanupEffects();\n\n optionsRef.current = mergeDeep(\n props.value.renderer,\n props.value.core,\n { initialState: lastStateRef.current },\n updatedOptions\n );\n\n runReactives();\n runEffects();\n\n autocomplete.value.refresh().then(() => {\n scheduleRender(lastStateRef.current);\n });\n }\n\n function setIsModalOpen(value: boolean) {\n requestAnimationFrame(() => {\n const prevValue = props.value.core.environment.document.body.contains(\n dom.value.detachedOverlay\n );\n\n if (value === prevValue) {\n return;\n }\n\n if (value) {\n props.value.core.environment.document.body.appendChild(\n dom.value.detachedOverlay\n );\n props.value.core.environment.document.body.classList.add('aa-Detached');\n dom.value.input.focus();\n } else {\n props.value.core.environment.document.body.removeChild(\n dom.value.detachedOverlay\n );\n props.value.core.environment.document.body.classList.remove(\n 'aa-Detached'\n );\n autocomplete.value.setQuery('');\n autocomplete.value.refresh();\n }\n });\n }\n\n return {\n ...autocompleteScopeApi,\n update,\n destroy,\n };\n}\n","import {\n createRequester,\n fetchAlgoliaResults,\n} from '@algolia/autocomplete-preset-algolia';\n\nimport { userAgents } from '../userAgents';\n\nexport const createAlgoliaRequester = createRequester((params) =>\n fetchAlgoliaResults({\n ...params,\n userAgents,\n })\n);\n","import { RequestParams } from '@algolia/autocomplete-preset-algolia';\nimport { MultipleQueriesQuery } from '@algolia/client-search';\n\nimport { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia facet hits from multiple indices.\n */\nexport function getAlgoliaFacets<TTHit>(requestParams: RequestParams<TTHit>) {\n const requester = createAlgoliaRequester({\n transformResponse: (response) => response.facetHits,\n });\n\n const queries = requestParams.queries.map((query) => ({\n ...query,\n type: 'facet',\n })) as MultipleQueriesQuery[];\n\n return requester({\n ...requestParams,\n queries,\n });\n}\n","import { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia results from multiple indices.\n */\nexport const getAlgoliaResults = createAlgoliaRequester({\n transformResponse: (response) => response.hits,\n});\n"],"names":["createRef","initialValue","current","debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","len","arr2","_i","Symbol","iterator","_arr","_n","_d","_s","_e","next","done","push","value","err","isArray","_typeof","obj","decycle","seen","Set","has","newSeen","add","map","x","fromEntries","entries","_ref","_ref2","key","flatten","values","reduce","a","b","concat","autocompleteId","generateAutocompleteId","getAttributeValueByPath","record","path","getItemsCount","state","collections","sum","collection","items","invariant","condition","message","Error","noop","version","userAgents","segment","warnCache","warn","sanitizedMessage","trim","hasAlreadyPrinted","console","checkOptions","options","process","debug","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","createStore","reducer","props","onStoreStateChange","initialState","getState","dispatch","action","payload","prevState","type","shouldSkipPendingUpdate","getAutocompleteSetters","store","setActiveItemId","setQuery","setCollections","rawValue","baseItemId","item","__autocomplete_id","setIsOpen","setStatus","setContext","createConcurrentSafePromise","basePromiseId","latestResolvedId","latestResolvedValue","runningPromisesCount","runConcurrentSafePromise","promise","currentPromiseId","Promise","resolve","then","finally","isRunning","getNextActiveItemId","moveAmount","baseIndex","itemCount","defaultActiveItemId","numericIndex","getNormalizedSources","getSources","params","seenSourceIds","sources","JSON","stringify","all","maybeSource","Boolean","sourceId","includes","normalizedSource","getItemInputValue","query","getItemUrl","onSelect","onActive","getCollectionFromActiveItemId","accumulatedCollectionsCount","acc","collectionsCount","index","previousValue","nextValue","collectionIndex","activeItemId","getRelativeActiveItemId","isOffsetFound","counter","previousItemsOffset","currentCollection","getActiveItem","itemInputValue","itemUrl","isOrContainsNode","parent","child","contains","mapToAlgoliaResponse","rawResults","results","result","_hits","hits","hit","__autocomplete_indexName","__autocomplete_queryID","queryID","facetHits","_facetHits","facetHit","label","count","_highlightResult","highlighted","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","getDefaultProps","pluginSubscribers","_props$id","environment","window","plugins","openOnFocus","placeholder","autoFocus","stallThreshold","shouldPanelOpen","reshape","id","completion","isOpen","status","context","onStateChange","_props$onStateChange","_x$onStateChange","onSubmit","_props$onSubmit","_x$onSubmit","onReset","_props$onReset","_x$onReset","plugin","nested","_x$onSelect","_x$onActive","navigator","navigate","_ref3","location","assign","navigateNewTab","_ref4","windowReference","open","focus","navigateNewWindow","_ref5","sourcesBySourceId","getItems","reshapeSources","isDescription","execute","isRequesterDescription","description","preResolve","itemsOrDescription","requests","queries","transformResponse","packed","searchClient","container","find","_container$items","request","maybeDescription","responses","postResolve","matches","response","transform","every","_excluded","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","lastStalledId","onInput","event","_ref$nextState","nextState","refresh","setters","_nextState$isOpen","_nextState$isOpen2","isPanelOpen","highlightedItem","onKeyDown","triggerScrollIntoView","nodeItem","document","getElementById","scrollIntoViewIfNeeded","scrollIntoView","triggerOnActive","preventDefault","nextActiveItemId","metaKey","ctrlKey","shiftKey","altKey","_excluded2","_excluded3","_excluded4","_excluded5","getPropGetters","getEnvironmentProps","providedProps","inputElement","formElement","panelElement","rest","onTouchStart","isNotAutocompleteInteraction","isTargetWithinAutocomplete","some","contextNode","onTouchMove","activeElement","blur","getRootProps","role","getFormProps","noValidate","_providedProps$inputE","_providedProps$inputE2","getInputProps","onFocus","isTouchDevice","_ref2$maxLength","maxLength","activeItem","autoComplete","autoCorrect","autoCapitalize","enterKeyHint","spellCheck","onChange","currentTarget","_onKeyDown","onBlur","onClick","getLabelProps","htmlFor","getListProps","getPanelProps","onMouseDown","onMouseLeave","getItemProps","onMouseMove","_item","_source","runPreCommand","getMetadata","_","_options$__autocomple","_options$__autocomple2","_options$__autocomple3","optionsKey","__autocomplete_metadata","extraOptions","__autocomplete_pluginOptions","ua","injectMetadata","_environment$navigato","metadata","isMetadataEnabled","userAgent","metadataContainer","createElement","headRef","querySelector","content","appendChild","getCompletion","_getActiveItem","stateReducer","hasOwnProperty","_nextState","createAutocomplete","subscribers","propGetters","Event","_plugin$subscribe","subscribe","ClearIcon","element","createElementNS","setAttribute","getHTMLElement","mergeClassNames","accValue","currentValue","join","isPlainObject","mergeDeep","setStyle","style","eventProxy","_listeners","setProperty","dom","useCapture","nameLower","oldValue","replace","toLowerCase","addEventListener","removeEventListener","removeAttribute","getNormalizedName","setProperties","setPropertiesWithoutEvents","getCreateDomElement","createDomElement","tagName","children","append","Input","autocompleteScopeApi","classNames","getInputPropsCore","onDetachedEscape","inputProps","LoadingIcon","innerHTML","SearchIcon","createAutocompleteDom","autocomplete","isDetached","setIsModalOpen","translations","rootProps","root","class","detachedContainer","stopPropagation","detachedOverlay","labelProps","submitButton","title","submitButtonTitle","clearButton","clearButtonTitle","loadingIndicator","input","inputWrapperPrefix","inputWrapperSuffix","inputWrapper","formProps","form","panelProps","panel","detachedSearchButtonIcon","detachedSearchButtonPlaceholder","textContent","detachedSearchButton","detachedCancelButton","detachedCancelButtonText","detachedFormContainer","createEffectWrapper","effects","cleanups","runEffect","effectCleanup","cleanupEffects","currentCleanups","cleanup","runEffects","currentEffects","effect","createReactiveWrapper","reactives","reactive","_fn","runReactives","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","createAttributeSet","get","part","lastPart","isHighlighted","parseAttribute","highlightedValue","preTagParts","split","firstValue","shift","parts","postTagParts","parseAlgoliaHitHighlight","attribute","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","unescape","character","isPartHighlighted","_parts","_parts2","isNextHighlighted","isPreviousHighlighted","reverseHighlightedParts","parseAlgoliaHitReverseHighlight","parseAlgoliaHitSnippet","parseAlgoliaHitReverseSnippet","createRequester","fetcher","fetcherParams","_fetcherParams$reques","createSpecifiedRequester","requesterParams","requester","requestParams","fetchAlgoliaResults","_ref$userAgents","addAlgoliaAgent","algoliaAgents","coreUserAgents","search","searchParameters","headers","hitsPerPage","highlightPreTag","highlightPostTag","createHighlightComponent","Fragment","Highlight","createReverseHighlightComponent","ReverseHighlight","createReverseSnippetComponent","ReverseSnippet","createSnippetComponent","Snippet","defaultClassNames","list","panelLayout","sourceFooter","sourceHeader","sourceNoResults","defaultRender","render","defaultRenderer","preactCreateElement","PreactFragment","getDefaultOptions","panelContainer","panelPlacement","renderNoResults","renderer","detachedMediaQuery","components","core","containerElement","defaultedRenderer","defaultComponents","defaultTranslations","body","getComputedStyle","documentElement","getPropertyValue","getPanelPlacementStyle","containerRect","getBoundingClientRect","scrollTop","pageYOffset","top","height","left","right","clientWidth","width","maxWidth","formRect","renderSearchBox","hidden","renderPanel","removeChild","classList","toggle","sections","templates","noResults","sourceIndex","header","itemProps","footer","elements","hasNoResultsSourceTemplateRef","optionsRef","onStateChangeRef","matchMedia","hasItems","hasNoResultsTemplate","lastStateRef","setPanelPosition","scheduleRender","renderProps","environmentProps","panelContainerElement","debouncedRender","scrollablePanels","querySelectorAll","scrollablePanel","onResize","previousIsDetached","update","requestAnimationFrame","toggleModalClassname","isActive","isModalDetachedMql","hasModernEventListener","addListener","removeListener","destroy","updatedOptions","prevValue","remove","createAlgoliaRequester","getAlgoliaFacets","getAlgoliaResults"],"mappings":"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CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,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"}
1
+ {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/decycle.js","../../../autocomplete-shared/dist/esm/flatten.js","../../../autocomplete-shared/dist/esm/generateAutocompleteId.js","../../../autocomplete-shared/dist/esm/getAttributeValueByPath.js","../../../autocomplete-shared/dist/esm/getItemsCount.js","../../../autocomplete-shared/dist/esm/invariant.js","../../../autocomplete-shared/dist/esm/noop.js","../../../autocomplete-shared/dist/esm/version.js","../../../autocomplete-shared/dist/esm/userAgents.js","../../../autocomplete-shared/dist/esm/warn.js","../../../autocomplete-core/dist/esm/checkOptions.js","../../../autocomplete-core/dist/esm/utils/createCancelablePromise.js","../../../autocomplete-core/dist/esm/utils/createCancelablePromiseList.js","../../../autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js","../../../autocomplete-core/dist/esm/utils/getNextActiveItemId.js","../../../autocomplete-core/dist/esm/utils/getNormalizedSources.js","../../../autocomplete-core/dist/esm/utils/getActiveItem.js","../../../autocomplete-core/dist/esm/utils/isOrContainsNode.js","../../../autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js","../../../autocomplete-core/dist/esm/createStore.js","../../../autocomplete-core/dist/esm/getAutocompleteSetters.js","../../../autocomplete-core/dist/esm/getDefaultProps.js","../../../autocomplete-core/dist/esm/reshape.js","../../../autocomplete-core/dist/esm/resolve.js","../../../autocomplete-core/dist/esm/onInput.js","../../../autocomplete-core/dist/esm/onKeyDown.js","../../../autocomplete-core/dist/esm/getPropGetters.js","../../../autocomplete-core/dist/esm/metadata.js","../../../autocomplete-core/dist/esm/getCompletion.js","../../../autocomplete-core/dist/esm/stateReducer.js","../../../autocomplete-core/dist/esm/createAutocomplete.js","../../src/elements/ClearIcon.ts","../../src/utils/getHTMLElement.ts","../../src/utils/mergeClassNames.ts","../../src/utils/mergeDeep.ts","../../src/utils/setProperties.ts","../../src/getCreateDomElement.ts","../../src/elements/Input.ts","../../src/elements/LoadingIcon.ts","../../src/elements/SearchIcon.ts","../../src/createAutocompleteDom.ts","../../src/createEffectWrapper.ts","../../src/createReactiveWrapper.ts","../../node_modules/preact/dist/preact.mjs","../../../autocomplete-preset-algolia/dist/esm/constants/index.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAttribute.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitHighlight.js","../../../autocomplete-preset-algolia/dist/esm/highlight/isPartHighlighted.js","../../../autocomplete-preset-algolia/dist/esm/highlight/reverseHighlightedParts.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseHighlight.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitSnippet.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseSnippet.js","../../../autocomplete-preset-algolia/dist/esm/requester/createRequester.js","../../../autocomplete-preset-algolia/dist/esm/search/fetchAlgoliaResults.js","../../src/components/Highlight.ts","../../src/components/ReverseHighlight.ts","../../src/components/ReverseSnippet.ts","../../src/components/Snippet.ts","../../src/getDefaultOptions.ts","../../src/getPanelPlacementStyle.ts","../../src/render.tsx","../../src/userAgents.ts","../../src/autocomplete.ts","../../src/requesters/createAlgoliaRequester.ts","../../src/requesters/getAlgoliaFacets.ts","../../src/requesters/getAlgoliaResults.ts"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (timerId) {\n clearTimeout(timerId);\n }\n\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\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.\"); }\n\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); }\n\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; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Decycles objects with circular references.\n * This is used to print cyclic structures in development environment only.\n */\nexport function decycle(obj) {\n var seen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set();\n\n if (!(process.env.NODE_ENV !== 'production') || !obj || _typeof(obj) !== 'object') {\n return obj;\n }\n\n if (seen.has(obj)) {\n return '[Circular]';\n }\n\n var newSeen = seen.add(obj);\n\n if (Array.isArray(obj)) {\n return obj.map(function (x) {\n return decycle(x, newSeen);\n });\n }\n\n return Object.fromEntries(Object.entries(obj).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n return [key, decycle(value, newSeen)];\n }));\n}","export function flatten(values) {\n return values.reduce(function (a, b) {\n return a.concat(b);\n }, []);\n}","var autocompleteId = 0;\nexport function generateAutocompleteId() {\n return \"autocomplete-\".concat(autocompleteId++);\n}","export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export function getItemsCount(state) {\n if (state.collections.length === 0) {\n return 0;\n }\n\n return state.collections.reduce(function (sum, collection) {\n return sum + collection.items.length;\n }, 0);\n}","/**\n * Throws an error if the condition is not met in development mode.\n * This is used to make development a better experience to provide guidance as\n * to where the error comes from.\n */\nexport function invariant(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (!condition) {\n throw new Error(\"[Autocomplete] \".concat(typeof message === 'function' ? message() : message));\n }\n}","export var noop = function noop() {};","export var version = '1.5.2';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","export var warnCache = {\n current: {}\n};\n/**\n * Logs a warning if the condition is not met.\n * This is used to log issues in development environment only.\n */\n\nexport function warn(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (condition) {\n return;\n }\n\n var sanitizedMessage = message.trim();\n var hasAlreadyPrinted = warnCache.current[sanitizedMessage];\n\n if (!hasAlreadyPrinted) {\n warnCache.current[sanitizedMessage] = true; // eslint-disable-next-line no-console\n\n console.warn(\"[Autocomplete] \".concat(sanitizedMessage));\n }\n}","import { warn } from '@algolia/autocomplete-shared';\nexport function checkOptions(options) {\n process.env.NODE_ENV !== 'production' ? warn(!options.debug, 'The `debug` option is meant for development debugging and should not be used in production.') : void 0;\n}","function createInternalCancelablePromise(promise, initialState) {\n var state = initialState;\n return {\n then: function then(onfulfilled, onrejected) {\n return createInternalCancelablePromise(promise.then(createCallback(onfulfilled, state, promise), createCallback(onrejected, state, promise)), state);\n },\n catch: function _catch(onrejected) {\n return createInternalCancelablePromise(promise.catch(createCallback(onrejected, state, promise)), state);\n },\n finally: function _finally(onfinally) {\n if (onfinally) {\n state.onCancelList.push(onfinally);\n }\n\n return createInternalCancelablePromise(promise.finally(createCallback(onfinally && function () {\n state.onCancelList = [];\n return onfinally();\n }, state, promise)), state);\n },\n cancel: function cancel() {\n state.isCanceled = true;\n var callbacks = state.onCancelList;\n state.onCancelList = [];\n callbacks.forEach(function (callback) {\n callback();\n });\n },\n isCanceled: function isCanceled() {\n return state.isCanceled === true;\n }\n };\n}\n\nexport function createCancelablePromise(executor) {\n return createInternalCancelablePromise(new Promise(function (resolve, reject) {\n return executor(resolve, reject);\n }), {\n isCanceled: false,\n onCancelList: []\n });\n}\n\ncreateCancelablePromise.resolve = function (value) {\n return cancelable(Promise.resolve(value));\n};\n\ncreateCancelablePromise.reject = function (reason) {\n return cancelable(Promise.reject(reason));\n};\n\nexport function cancelable(promise) {\n return createInternalCancelablePromise(promise, {\n isCanceled: false,\n onCancelList: []\n });\n}\n\nfunction createCallback(onResult, state, fallback) {\n if (!onResult) {\n return fallback;\n }\n\n return function callback(arg) {\n if (state.isCanceled) {\n return arg;\n }\n\n return onResult(arg);\n };\n}","export function createCancelablePromiseList() {\n var list = [];\n return {\n add: function add(cancelablePromise) {\n list.push(cancelablePromise);\n return cancelablePromise.finally(function () {\n list = list.filter(function (item) {\n return item !== cancelablePromise;\n });\n });\n },\n cancelAll: function cancelAll() {\n list.forEach(function (promise) {\n return promise.cancel();\n });\n },\n isEmpty: function isEmpty() {\n return list.length === 0;\n }\n };\n}","/**\n * Creates a runner that executes promises in a concurrent-safe way.\n *\n * This is useful to prevent older promises to resolve after a newer promise,\n * otherwise resulting in stale resolved values.\n */\nexport function createConcurrentSafePromise() {\n var basePromiseId = -1;\n var latestResolvedId = -1;\n var latestResolvedValue = undefined;\n return function runConcurrentSafePromise(promise) {\n basePromiseId++;\n var currentPromiseId = basePromiseId;\n return Promise.resolve(promise).then(function (x) {\n // The promise might take too long to resolve and get outdated. This would\n // result in resolving stale values.\n // When this happens, we ignore the promise value and return the one\n // coming from the latest resolved value.\n //\n // +----------------------------------+\n // | 100ms |\n // | run(1) +---> R1 |\n // | 300ms |\n // | run(2) +-------------> R2 (SKIP) |\n // | 200ms |\n // | run(3) +--------> R3 |\n // +----------------------------------+\n if (latestResolvedValue && currentPromiseId < latestResolvedId) {\n return latestResolvedValue;\n }\n\n latestResolvedId = currentPromiseId;\n latestResolvedValue = x;\n return x;\n });\n };\n}","/**\n * Returns the next active item ID from the current state.\n *\n * We allow circular keyboard navigation from the base index.\n * The base index can either be `null` (nothing is highlighted) or `0`\n * (the first item is highlighted).\n * The base index is allowed to get assigned `null` only if\n * `props.defaultActiveItemId` is `null`. This pattern allows to \"stop\"\n * by the actual query before navigating to other suggestions as seen on\n * Google or Amazon.\n *\n * @param moveAmount The offset to increment (or decrement) the last index\n * @param baseIndex The current index to compute the next index from\n * @param itemCount The number of items\n * @param defaultActiveItemId The default active index to fallback to\n */\nexport function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) {\n if (!itemCount) {\n return null;\n }\n\n if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) {\n return itemCount + moveAmount;\n }\n\n var numericIndex = (baseIndex === null ? -1 : baseIndex) + moveAmount;\n\n if (numericIndex <= -1 || numericIndex >= itemCount) {\n return defaultActiveItemId === null ? null : 0;\n }\n\n return numericIndex;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { invariant, decycle, noop } from '@algolia/autocomplete-shared';\nexport function getNormalizedSources(getSources, params) {\n var seenSourceIds = [];\n return Promise.resolve(getSources(params)).then(function (sources) {\n invariant(Array.isArray(sources), function () {\n return \"The `getSources` function must return an array of sources but returned type \".concat(JSON.stringify(_typeof(sources)), \":\\n\\n\").concat(JSON.stringify(decycle(sources), null, 2));\n });\n return Promise.all(sources // We allow `undefined` and `false` sources to allow users to use\n // `Boolean(query) && source` (=> `false`).\n // We need to remove these values at this point.\n .filter(function (maybeSource) {\n return Boolean(maybeSource);\n }).map(function (source) {\n invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');\n\n if (seenSourceIds.includes(source.sourceId)) {\n throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(source.sourceId), \" is not unique.\"));\n }\n\n seenSourceIds.push(source.sourceId);\n\n var normalizedSource = _objectSpread({\n getItemInputValue: function getItemInputValue(_ref) {\n var state = _ref.state;\n return state.query;\n },\n getItemUrl: function getItemUrl() {\n return undefined;\n },\n onSelect: function onSelect(_ref2) {\n var setIsOpen = _ref2.setIsOpen;\n setIsOpen(false);\n },\n onActive: noop\n }, source);\n\n return Promise.resolve(normalizedSource);\n }));\n });\n}","// We don't have access to the autocomplete source when we call `onKeyDown`\n// or `onClick` because those are native browser events.\n// However, we can get the source from the suggestion index.\nfunction getCollectionFromActiveItemId(state) {\n // Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]\n // We want to get the accumulated counts:\n // [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]\n var accumulatedCollectionsCount = state.collections.map(function (collections) {\n return collections.items.length;\n }).reduce(function (acc, collectionsCount, index) {\n var previousValue = acc[index - 1] || 0;\n var nextValue = previousValue + collectionsCount;\n acc.push(nextValue);\n return acc;\n }, []); // Based on the accumulated counts, we can infer the index of the suggestion.\n\n var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {\n if (current <= state.activeItemId) {\n return acc + 1;\n }\n\n return acc;\n }, 0);\n return state.collections[collectionIndex];\n}\n/**\n * Gets the highlighted index relative to a suggestion object (not the absolute\n * highlighted index).\n *\n * Example:\n * [['a', 'b'], ['c', 'd', 'e'], ['f']]\n * ↑\n * (absolute: 3, relative: 1)\n */\n\n\nfunction getRelativeActiveItemId(_ref) {\n var state = _ref.state,\n collection = _ref.collection;\n var isOffsetFound = false;\n var counter = 0;\n var previousItemsOffset = 0;\n\n while (isOffsetFound === false) {\n var currentCollection = state.collections[counter];\n\n if (currentCollection === collection) {\n isOffsetFound = true;\n break;\n }\n\n previousItemsOffset += currentCollection.items.length;\n counter++;\n }\n\n return state.activeItemId - previousItemsOffset;\n}\n\nexport function getActiveItem(state) {\n var collection = getCollectionFromActiveItemId(state);\n\n if (!collection) {\n return null;\n }\n\n var item = collection.items[getRelativeActiveItemId({\n state: state,\n collection: collection\n })];\n var source = collection.source;\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: state\n });\n return {\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n source: source\n };\n}","export function isOrContainsNode(parent, child) {\n return parent === child || parent.contains(child);\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function mapToAlgoliaResponse(rawResults) {\n var results = rawResults.map(function (result) {\n var _hits;\n\n return _objectSpread(_objectSpread({}, result), {}, {\n hits: (_hits = result.hits) === null || _hits === void 0 ? void 0 : _hits.map(function (hit) {\n // Bring support for the Insights plugin.\n return _objectSpread(_objectSpread({}, hit), {}, {\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID\n });\n })\n });\n });\n return {\n results: results,\n hits: results.map(function (result) {\n return result.hits;\n }).filter(Boolean),\n facetHits: results.map(function (result) {\n var _facetHits;\n\n return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {\n // Bring support for the highlighting components.\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted\n }\n }\n };\n });\n }).filter(Boolean)\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { createCancelablePromiseList } from './utils';\nexport function createStore(reducer, props, onStoreStateChange) {\n var state = props.initialState;\n return {\n getState: function getState() {\n return state;\n },\n dispatch: function dispatch(action, payload) {\n var prevState = _objectSpread({}, state);\n\n state = reducer(state, {\n type: action,\n props: props,\n payload: payload\n });\n onStoreStateChange({\n state: state,\n prevState: prevState\n });\n },\n pendingRequests: createCancelablePromiseList()\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function getAutocompleteSetters(_ref) {\n var store = _ref.store;\n\n var setActiveItemId = function setActiveItemId(value) {\n store.dispatch('setActiveItemId', value);\n };\n\n var setQuery = function setQuery(value) {\n store.dispatch('setQuery', value);\n };\n\n var setCollections = function setCollections(rawValue) {\n var baseItemId = 0;\n var value = rawValue.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n // We flatten the stored items to support calling `getAlgoliaResults`\n // from the source itself.\n items: flatten(collection.items).map(function (item) {\n return _objectSpread(_objectSpread({}, item), {}, {\n __autocomplete_id: baseItemId++\n });\n })\n });\n });\n store.dispatch('setCollections', value);\n };\n\n var setIsOpen = function setIsOpen(value) {\n store.dispatch('setIsOpen', value);\n };\n\n var setStatus = function setStatus(value) {\n store.dispatch('setStatus', value);\n };\n\n var setContext = function setContext(value) {\n store.dispatch('setContext', value);\n };\n\n return {\n setActiveItemId: setActiveItemId,\n setQuery: setQuery,\n setCollections: setCollections,\n setIsOpen: setIsOpen,\n setStatus: setStatus,\n setContext: setContext\n };\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getItemsCount, generateAutocompleteId, flatten } from '@algolia/autocomplete-shared';\nimport { getNormalizedSources } from './utils';\nexport function getDefaultProps(props, pluginSubscribers) {\n var _props$id;\n\n /* eslint-disable no-restricted-globals */\n var environment = typeof window !== 'undefined' ? window : {};\n /* eslint-enable no-restricted-globals */\n\n var plugins = props.plugins || [];\n return _objectSpread(_objectSpread({\n debug: false,\n openOnFocus: false,\n placeholder: '',\n autoFocus: false,\n defaultActiveItemId: null,\n stallThreshold: 300,\n environment: environment,\n shouldPanelOpen: function shouldPanelOpen(_ref) {\n var state = _ref.state;\n return getItemsCount(state) > 0;\n },\n reshape: function reshape(_ref2) {\n var sources = _ref2.sources;\n return sources;\n }\n }, props), {}, {\n // Since `generateAutocompleteId` triggers a side effect (it increments\n // an internal counter), we don't want to execute it if unnecessary.\n id: (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : generateAutocompleteId(),\n plugins: plugins,\n // The following props need to be deeply defaulted.\n initialState: _objectSpread({\n activeItemId: null,\n query: '',\n completion: null,\n collections: [],\n isOpen: false,\n status: 'idle',\n context: {}\n }, props.initialState),\n onStateChange: function onStateChange(params) {\n var _props$onStateChange;\n\n (_props$onStateChange = props.onStateChange) === null || _props$onStateChange === void 0 ? void 0 : _props$onStateChange.call(props, params);\n plugins.forEach(function (x) {\n var _x$onStateChange;\n\n return (_x$onStateChange = x.onStateChange) === null || _x$onStateChange === void 0 ? void 0 : _x$onStateChange.call(x, params);\n });\n },\n onSubmit: function onSubmit(params) {\n var _props$onSubmit;\n\n (_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 ? void 0 : _props$onSubmit.call(props, params);\n plugins.forEach(function (x) {\n var _x$onSubmit;\n\n return (_x$onSubmit = x.onSubmit) === null || _x$onSubmit === void 0 ? void 0 : _x$onSubmit.call(x, params);\n });\n },\n onReset: function onReset(params) {\n var _props$onReset;\n\n (_props$onReset = props.onReset) === null || _props$onReset === void 0 ? void 0 : _props$onReset.call(props, params);\n plugins.forEach(function (x) {\n var _x$onReset;\n\n return (_x$onReset = x.onReset) === null || _x$onReset === void 0 ? void 0 : _x$onReset.call(x, params);\n });\n },\n getSources: function getSources(params) {\n return Promise.all([].concat(_toConsumableArray(plugins.map(function (plugin) {\n return plugin.getSources;\n })), [props.getSources]).filter(Boolean).map(function (getSources) {\n return getNormalizedSources(getSources, params);\n })).then(function (nested) {\n return flatten(nested);\n }).then(function (sources) {\n return sources.map(function (source) {\n return _objectSpread(_objectSpread({}, source), {}, {\n onSelect: function onSelect(params) {\n source.onSelect(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onSelect;\n\n return (_x$onSelect = x.onSelect) === null || _x$onSelect === void 0 ? void 0 : _x$onSelect.call(x, params);\n });\n },\n onActive: function onActive(params) {\n source.onActive(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onActive;\n\n return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params);\n });\n }\n });\n });\n });\n },\n navigator: _objectSpread({\n navigate: function navigate(_ref3) {\n var itemUrl = _ref3.itemUrl;\n environment.location.assign(itemUrl);\n },\n navigateNewTab: function navigateNewTab(_ref4) {\n var itemUrl = _ref4.itemUrl;\n var windowReference = environment.open(itemUrl, '_blank', 'noopener');\n windowReference === null || windowReference === void 0 ? void 0 : windowReference.focus();\n },\n navigateNewWindow: function navigateNewWindow(_ref5) {\n var itemUrl = _ref5.itemUrl;\n environment.open(itemUrl, '_blank', 'noopener');\n }\n }, props.navigator)\n });\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function reshape(_ref) {\n var collections = _ref.collections,\n props = _ref.props,\n state = _ref.state;\n // Sources are grouped by `sourceId` to conveniently pick them via destructuring.\n // Example: `const { recentSearchesPlugin } = sourcesBySourceId`\n var sourcesBySourceId = collections.reduce(function (acc, collection) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, collection.source.sourceId, _objectSpread(_objectSpread({}, collection.source), {}, {\n getItems: function getItems() {\n // We provide the resolved items from the collection to the `reshape` prop.\n return flatten(collection.items);\n }\n })));\n }, {});\n var reshapeSources = props.reshape({\n sources: Object.values(sourcesBySourceId),\n sourcesBySourceId: sourcesBySourceId,\n state: state\n }); // We reconstruct the collections with the items modified by the `reshape` prop.\n\n return flatten(reshapeSources).filter(Boolean).map(function (source) {\n return {\n source: source,\n items: source.getItems()\n };\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { decycle, flatten, invariant } from '@algolia/autocomplete-shared';\nimport { mapToAlgoliaResponse } from './utils';\n\nfunction isDescription(item) {\n return Boolean(item.execute);\n}\n\nfunction isRequesterDescription(description) {\n return Boolean(description === null || description === void 0 ? void 0 : description.execute);\n}\n\nexport function preResolve(itemsOrDescription, sourceId) {\n if (isRequesterDescription(itemsOrDescription)) {\n return _objectSpread(_objectSpread({}, itemsOrDescription), {}, {\n requests: itemsOrDescription.queries.map(function (query) {\n return {\n query: query,\n sourceId: sourceId,\n transformResponse: itemsOrDescription.transformResponse\n };\n })\n });\n }\n\n return {\n items: itemsOrDescription,\n sourceId: sourceId\n };\n}\nexport function resolve(items) {\n var packed = items.reduce(function (acc, current) {\n if (!isDescription(current)) {\n acc.push(current);\n return acc;\n }\n\n var searchClient = current.searchClient,\n execute = current.execute,\n requests = current.requests;\n var container = acc.find(function (item) {\n return isDescription(current) && isDescription(item) && item.searchClient === searchClient && item.execute === execute;\n });\n\n if (container) {\n var _container$items;\n\n (_container$items = container.items).push.apply(_container$items, _toConsumableArray(requests));\n } else {\n var request = {\n execute: execute,\n items: requests,\n searchClient: searchClient\n };\n acc.push(request);\n }\n\n return acc;\n }, []);\n var values = packed.map(function (maybeDescription) {\n if (!isDescription(maybeDescription)) {\n return Promise.resolve(maybeDescription);\n }\n\n var _ref = maybeDescription,\n execute = _ref.execute,\n items = _ref.items,\n searchClient = _ref.searchClient;\n return execute({\n searchClient: searchClient,\n requests: items\n });\n });\n return Promise.all(values).then(function (responses) {\n return flatten(responses);\n });\n}\nexport function postResolve(responses, sources) {\n return sources.map(function (source) {\n var matches = responses.filter(function (response) {\n return response.sourceId === source.sourceId;\n });\n var results = matches.map(function (_ref2) {\n var items = _ref2.items;\n return items;\n });\n var transform = matches[0].transformResponse;\n var items = transform ? transform(mapToAlgoliaResponse(results)) : results;\n invariant(Array.isArray(items), function () {\n return \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned type \").concat(JSON.stringify(_typeof(items)), \":\\n\\n\").concat(JSON.stringify(decycle(items), null, 2), \".\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\");\n });\n invariant(items.every(Boolean), \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned \").concat(JSON.stringify(undefined), \".\\n\\nDid you forget to return items?\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\"));\n return {\n source: source,\n items: items\n };\n });\n}","var _excluded = [\"event\", \"nextState\", \"props\", \"query\", \"refresh\", \"store\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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; }\n\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; }\n\nimport { reshape } from './reshape';\nimport { preResolve, resolve, postResolve } from './resolve';\nimport { cancelable, createConcurrentSafePromise, getActiveItem } from './utils';\nvar lastStalledId = null;\nvar runConcurrentSafePromise = createConcurrentSafePromise();\nexport function onInput(_ref) {\n var event = _ref.event,\n _ref$nextState = _ref.nextState,\n nextState = _ref$nextState === void 0 ? {} : _ref$nextState,\n props = _ref.props,\n query = _ref.query,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n\n var setCollections = setters.setCollections,\n setIsOpen = setters.setIsOpen,\n setQuery = setters.setQuery,\n setActiveItemId = setters.setActiveItemId,\n setStatus = setters.setStatus;\n setQuery(query);\n setActiveItemId(props.defaultActiveItemId);\n\n if (!query && props.openOnFocus === false) {\n var _nextState$isOpen;\n\n var collections = store.getState().collections.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n items: []\n });\n });\n setStatus('idle');\n setCollections(collections);\n setIsOpen((_nextState$isOpen = nextState.isOpen) !== null && _nextState$isOpen !== void 0 ? _nextState$isOpen : props.shouldPanelOpen({\n state: store.getState()\n })); // We make sure to update the latest resolved value of the tracked\n // promises to keep late resolving promises from \"cancelling\" the state\n // updates performed in this code path.\n // We chain with a void promise to respect `onInput`'s expected return type.\n\n var _request = cancelable(runConcurrentSafePromise(collections).then(function () {\n return Promise.resolve();\n }));\n\n return store.pendingRequests.add(_request);\n }\n\n setStatus('loading');\n lastStalledId = props.environment.setTimeout(function () {\n setStatus('stalled');\n }, props.stallThreshold); // We track the entire promise chain triggered by `onInput` before mutating\n // the Autocomplete state to make sure that any state manipulation is based on\n // fresh data regardless of when promises individually resolve.\n // We don't track nested promises and only rely on the full chain resolution,\n // meaning we should only ever manipulate the state once this concurrent-safe\n // promise is resolved.\n\n var request = cancelable(runConcurrentSafePromise(props.getSources(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters)).then(function (sources) {\n return Promise.all(sources.map(function (source) {\n return Promise.resolve(source.getItems(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters))).then(function (itemsOrDescription) {\n return preResolve(itemsOrDescription, source.sourceId);\n });\n })).then(resolve).then(function (responses) {\n return postResolve(responses, sources);\n }).then(function (collections) {\n return reshape({\n collections: collections,\n props: props,\n state: store.getState()\n });\n });\n }))).then(function (collections) {\n var _nextState$isOpen2;\n\n // Parameters passed to `onInput` could be stale when the following code\n // executes, because `onInput` calls may not resolve in order.\n // If it becomes a problem we'll need to save the last passed parameters.\n // See: https://codesandbox.io/s/agitated-cookies-y290z\n setStatus('idle');\n setCollections(collections);\n var isPanelOpen = props.shouldPanelOpen({\n state: store.getState()\n });\n setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : props.openOnFocus && !query && isPanelOpen || isPanelOpen);\n var highlightedItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }).finally(function () {\n setStatus('idle');\n\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n });\n return store.pendingRequests.add(request);\n}","var _excluded = [\"event\", \"props\", \"refresh\", \"store\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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; }\n\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; }\n\nimport { onInput } from './onInput';\nimport { getActiveItem } from './utils';\nexport function onKeyDown(_ref) {\n var event = _ref.event,\n props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n // eslint-disable-next-line no-inner-declarations\n var triggerScrollIntoView = function triggerScrollIntoView() {\n var nodeItem = props.environment.document.getElementById(\"\".concat(props.id, \"-item-\").concat(store.getState().activeItemId));\n\n if (nodeItem) {\n if (nodeItem.scrollIntoViewIfNeeded) {\n nodeItem.scrollIntoViewIfNeeded(false);\n } else {\n nodeItem.scrollIntoView(false);\n }\n }\n }; // eslint-disable-next-line no-inner-declarations\n\n\n var triggerOnActive = function triggerOnActive() {\n var highlightedItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }; // Default browser behavior changes the caret placement on ArrowUp and\n // ArrowDown.\n\n\n event.preventDefault(); // When re-opening the panel, we need to split the logic to keep the actions\n // synchronized as `onInput` returns a promise.\n\n if (store.getState().isOpen === false && (props.openOnFocus || Boolean(store.getState().query))) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n store.dispatch(event.key, {\n nextActiveItemId: props.defaultActiveItemId\n });\n triggerOnActive(); // Since we rely on the DOM, we need to wait for all the micro tasks to\n // finish (which include re-opening the panel) to make sure all the\n // elements are available.\n\n setTimeout(triggerScrollIntoView, 0);\n });\n } else {\n store.dispatch(event.key, {});\n triggerOnActive();\n triggerScrollIntoView();\n }\n } else if (event.key === 'Escape') {\n // This prevents the default browser behavior on `input[type=\"search\"]`\n // from removing the query right away because we first want to close the\n // panel.\n event.preventDefault();\n store.dispatch(event.key, null); // Hitting the `Escape` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // pending and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n\n store.pendingRequests.cancelAll();\n } else if (event.key === 'Enter') {\n // No active item, so we let the browser handle the native `onSubmit` form\n // event.\n if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) {\n return collection.items.length === 0;\n })) {\n return;\n } // This prevents the `onSubmit` event to be sent because an item is\n // highlighted.\n\n\n event.preventDefault();\n\n var _ref2 = getActiveItem(store.getState()),\n item = _ref2.item,\n itemInputValue = _ref2.itemInputValue,\n itemUrl = _ref2.itemUrl,\n source = _ref2.source;\n\n if (event.metaKey || event.ctrlKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewTab({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.shiftKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewWindow({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.altKey) {// Keep native browser behavior\n } else {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigate({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n return;\n }\n\n onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }\n}","var _excluded = [\"props\", \"refresh\", \"store\"],\n _excluded2 = [\"inputElement\", \"formElement\", \"panelElement\"],\n _excluded3 = [\"inputElement\"],\n _excluded4 = [\"inputElement\", \"maxLength\"],\n _excluded5 = [\"item\", \"source\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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; }\n\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; }\n\nimport { onInput } from './onInput';\nimport { onKeyDown as _onKeyDown } from './onKeyDown';\nimport { getActiveItem, isOrContainsNode } from './utils';\nexport function getPropGetters(_ref) {\n var props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n var getEnvironmentProps = function getEnvironmentProps(providedProps) {\n var inputElement = providedProps.inputElement,\n formElement = providedProps.formElement,\n panelElement = providedProps.panelElement,\n rest = _objectWithoutProperties(providedProps, _excluded2);\n\n return _objectSpread({\n // On touch devices, we do not rely on the native `blur` event of the\n // input to close the panel, but rather on a custom `touchstart` event\n // outside of the autocomplete elements.\n // This ensures a working experience on mobile because we blur the input\n // on touch devices when the user starts scrolling (`touchmove`).\n // @TODO: support cases where there are multiple Autocomplete instances.\n // Right now, a second instance makes this computation return false.\n onTouchStart: function onTouchStart(event) {\n // The `onTouchStart` event shouldn't trigger the `blur` handler when\n // it's not an interaction with Autocomplete. We detect it with the\n // following heuristics:\n // - the panel is closed AND there are no pending requests\n // (no interaction with the autocomplete, no future state updates)\n // - OR the touched target is the input element (should open the panel)\n var isAutocompleteInteraction = store.getState().isOpen || !store.pendingRequests.isEmpty();\n\n if (!isAutocompleteInteraction || event.target === inputElement) {\n return;\n }\n\n var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {\n return isOrContainsNode(contextNode, event.target);\n });\n\n if (isTargetWithinAutocomplete === false) {\n store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n }\n },\n // When scrolling on touch devices (mobiles, tablets, etc.), we want to\n // mimic the native platform behavior where the input is blurred to\n // hide the virtual keyboard. This gives more vertical space to\n // discover all the suggestions showing up in the panel.\n onTouchMove: function onTouchMove(event) {\n if (store.getState().isOpen === false || inputElement !== props.environment.document.activeElement || event.target === inputElement) {\n return;\n }\n\n inputElement.blur();\n }\n }, rest);\n };\n\n var getRootProps = function getRootProps(rest) {\n return _objectSpread({\n role: 'combobox',\n 'aria-expanded': store.getState().isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-owns': store.getState().isOpen ? \"\".concat(props.id, \"-list\") : undefined,\n 'aria-labelledby': \"\".concat(props.id, \"-label\")\n }, rest);\n };\n\n var getFormProps = function getFormProps(providedProps) {\n var inputElement = providedProps.inputElement,\n rest = _objectWithoutProperties(providedProps, _excluded3);\n\n return _objectSpread({\n action: '',\n noValidate: true,\n role: 'search',\n onSubmit: function onSubmit(event) {\n var _providedProps$inputE;\n\n event.preventDefault();\n props.onSubmit(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('submit', null);\n (_providedProps$inputE = providedProps.inputElement) === null || _providedProps$inputE === void 0 ? void 0 : _providedProps$inputE.blur();\n },\n onReset: function onReset(event) {\n var _providedProps$inputE2;\n\n event.preventDefault();\n props.onReset(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('reset', null);\n (_providedProps$inputE2 = providedProps.inputElement) === null || _providedProps$inputE2 === void 0 ? void 0 : _providedProps$inputE2.focus();\n }\n }, rest);\n };\n\n var getInputProps = function getInputProps(providedProps) {\n function onFocus(event) {\n // We want to trigger a query when `openOnFocus` is true\n // because the panel should open with the current query.\n if (props.openOnFocus || Boolean(store.getState().query)) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().completion || store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n\n store.dispatch('focus', null);\n }\n\n var isTouchDevice = ('ontouchstart' in props.environment);\n\n var _ref2 = providedProps || {},\n inputElement = _ref2.inputElement,\n _ref2$maxLength = _ref2.maxLength,\n maxLength = _ref2$maxLength === void 0 ? 512 : _ref2$maxLength,\n rest = _objectWithoutProperties(_ref2, _excluded4);\n\n var activeItem = getActiveItem(store.getState());\n return _objectSpread({\n 'aria-autocomplete': 'both',\n 'aria-activedescendant': store.getState().isOpen && store.getState().activeItemId !== null ? \"\".concat(props.id, \"-item-\").concat(store.getState().activeItemId) : undefined,\n 'aria-controls': store.getState().isOpen ? \"\".concat(props.id, \"-list\") : undefined,\n 'aria-labelledby': \"\".concat(props.id, \"-label\"),\n value: store.getState().completion || store.getState().query,\n id: \"\".concat(props.id, \"-input\"),\n autoComplete: 'off',\n autoCorrect: 'off',\n autoCapitalize: 'off',\n enterKeyHint: activeItem !== null && activeItem !== void 0 && activeItem.itemUrl ? 'go' : 'search',\n spellCheck: 'false',\n autoFocus: props.autoFocus,\n placeholder: props.placeholder,\n maxLength: maxLength,\n type: 'search',\n onChange: function onChange(event) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: event.currentTarget.value.slice(0, maxLength),\n refresh: refresh,\n store: store\n }, setters));\n },\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(_objectSpread({\n event: event,\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n },\n onFocus: onFocus,\n onBlur: function onBlur() {\n // We do rely on the `blur` event on touch devices.\n // See explanation in `onTouchStart`.\n if (!isTouchDevice) {\n store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n }\n },\n onClick: function onClick(event) {\n // When the panel is closed and you click on the input while\n // the input is focused, the `onFocus` event is not triggered\n // (default browser behavior).\n // In an autocomplete context, it makes sense to open the panel in this\n // case.\n // We mimic this event by catching the `onClick` event which\n // triggers the `onFocus` for the panel to open.\n if (providedProps.inputElement === props.environment.document.activeElement && !store.getState().isOpen) {\n onFocus(event);\n }\n }\n }, rest);\n };\n\n var getLabelProps = function getLabelProps(rest) {\n return _objectSpread({\n htmlFor: \"\".concat(props.id, \"-input\"),\n id: \"\".concat(props.id, \"-label\")\n }, rest);\n };\n\n var getListProps = function getListProps(rest) {\n return _objectSpread({\n role: 'listbox',\n 'aria-labelledby': \"\".concat(props.id, \"-label\"),\n id: \"\".concat(props.id, \"-list\")\n }, rest);\n };\n\n var getPanelProps = function getPanelProps(rest) {\n return _objectSpread({\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the panel so\n // that the blur event is not triggered, otherwise it closes the\n // panel.\n event.preventDefault();\n },\n onMouseLeave: function onMouseLeave() {\n store.dispatch('mouseleave', null);\n }\n }, rest);\n };\n\n var getItemProps = function getItemProps(providedProps) {\n var item = providedProps.item,\n source = providedProps.source,\n rest = _objectWithoutProperties(providedProps, _excluded5);\n\n return _objectSpread({\n id: \"\".concat(props.id, \"-item-\").concat(item.__autocomplete_id),\n role: 'option',\n 'aria-selected': store.getState().activeItemId === item.__autocomplete_id,\n onMouseMove: function onMouseMove(event) {\n if (item.__autocomplete_id === store.getState().activeItemId) {\n return;\n }\n\n store.dispatch('mousemove', item.__autocomplete_id);\n var activeItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && activeItem) {\n var _item = activeItem.item,\n itemInputValue = activeItem.itemInputValue,\n itemUrl = activeItem.itemUrl,\n _source = activeItem.source;\n\n _source.onActive(_objectSpread({\n event: event,\n item: _item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: _source,\n state: store.getState()\n }, setters));\n }\n },\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the item so it\n // can remain with the current `activeElement`.\n event.preventDefault();\n },\n onClick: function onClick(event) {\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: store.getState()\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: store.getState()\n }); // If `getItemUrl` is provided, it means that the suggestion\n // is a link, not plain text that aims at updating the query.\n // We can therefore skip the state change because it will update\n // the `activeItemId`, resulting in a UI flash, especially\n // noticeable on mobile.\n\n var runPreCommand = itemUrl ? Promise.resolve() : onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters));\n runPreCommand.then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }, rest);\n };\n\n return {\n getEnvironmentProps: getEnvironmentProps,\n getRootProps: getRootProps,\n getFormProps: getFormProps,\n getLabelProps: getLabelProps,\n getInputProps: getInputProps,\n getPanelProps: getPanelProps,\n getListProps: getListProps,\n getItemProps: getItemProps\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { userAgents } from '@algolia/autocomplete-shared';\nexport function getMetadata(_ref) {\n var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;\n\n var plugins = _ref.plugins,\n options = _ref.options;\n var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;\n var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};\n return {\n plugins: plugins.map(function (plugin) {\n return {\n name: plugin.name,\n options: Object.keys(plugin.__autocomplete_pluginOptions || [])\n };\n }),\n options: _objectSpread({\n 'autocomplete-core': Object.keys(options)\n }, extraOptions),\n ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])\n };\n}\nexport function injectMetadata(_ref3) {\n var _environment$navigato;\n\n var metadata = _ref3.metadata,\n environment = _ref3.environment;\n var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : _environment$navigato.userAgent.includes('Algolia Crawler');\n\n if (isMetadataEnabled) {\n var metadataContainer = environment.document.createElement('meta');\n var headRef = environment.document.querySelector('head');\n metadataContainer.name = 'algolia:metadata';\n setTimeout(function () {\n metadataContainer.content = JSON.stringify(metadata);\n headRef.appendChild(metadataContainer);\n }, 0);\n }\n}","import { getActiveItem } from './utils';\nexport function getCompletion(_ref) {\n var _getActiveItem;\n\n var state = _ref.state;\n\n if (state.isOpen === false || state.activeItemId === null) {\n return null;\n }\n\n return ((_getActiveItem = getActiveItem(state)) === null || _getActiveItem === void 0 ? void 0 : _getActiveItem.itemInputValue) || null;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getItemsCount, invariant } from '@algolia/autocomplete-shared';\nimport { getCompletion } from './getCompletion';\nimport { getNextActiveItemId } from './utils';\nexport var stateReducer = function stateReducer(state, action) {\n switch (action.type) {\n case 'setActiveItemId':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n\n case 'setQuery':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n query: action.payload,\n completion: null\n });\n }\n\n case 'setCollections':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n collections: action.payload\n });\n }\n\n case 'setIsOpen':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: action.payload\n });\n }\n\n case 'setStatus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n status: action.payload\n });\n }\n\n case 'setContext':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n context: _objectSpread(_objectSpread({}, state.context), action.payload)\n });\n }\n\n case 'ArrowDown':\n {\n var nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload.hasOwnProperty('nextActiveItemId') ? action.payload.nextActiveItemId : getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n\n return _objectSpread(_objectSpread({}, nextState), {}, {\n completion: getCompletion({\n state: nextState\n })\n });\n }\n\n case 'ArrowUp':\n {\n var _nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n\n return _objectSpread(_objectSpread({}, _nextState), {}, {\n completion: getCompletion({\n state: _nextState\n })\n });\n }\n\n case 'Escape':\n {\n if (state.isOpen) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n completion: null\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n query: '',\n status: 'idle',\n collections: []\n });\n }\n\n case 'submit':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n status: 'idle'\n });\n }\n\n case 'reset':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: // Since we open the panel on reset when openOnFocus=true\n // we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case)\n // Since we close the panel when openOnFocus=false\n // we lose track of the highlighted index. (Query-suggestions use-case)\n action.props.openOnFocus === true ? action.props.defaultActiveItemId : null,\n status: 'idle',\n query: ''\n });\n }\n\n case 'focus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId,\n isOpen: (action.props.openOnFocus || Boolean(state.query)) && action.props.shouldPanelOpen({\n state: state\n })\n });\n }\n\n case 'blur':\n {\n if (action.props.debug) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: false,\n activeItemId: null\n });\n }\n\n case 'mousemove':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n\n case 'mouseleave':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId\n });\n }\n\n default:\n invariant(false, \"The reducer action \".concat(JSON.stringify(action.type), \" is not supported.\"));\n return state;\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { checkOptions } from './checkOptions';\nimport { createStore } from './createStore';\nimport { getAutocompleteSetters } from './getAutocompleteSetters';\nimport { getDefaultProps } from './getDefaultProps';\nimport { getPropGetters } from './getPropGetters';\nimport { getMetadata, injectMetadata } from './metadata';\nimport { onInput } from './onInput';\nimport { stateReducer } from './stateReducer';\nexport function createAutocomplete(options) {\n checkOptions(options);\n var subscribers = [];\n var props = getDefaultProps(options, subscribers);\n var store = createStore(stateReducer, props, onStoreStateChange);\n var setters = getAutocompleteSetters({\n store: store\n });\n var propGetters = getPropGetters(_objectSpread({\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n\n function onStoreStateChange(_ref) {\n var prevState = _ref.prevState,\n state = _ref.state;\n props.onStateChange(_objectSpread({\n prevState: prevState,\n state: state,\n refresh: refresh\n }, setters));\n }\n\n function refresh() {\n return onInput(_objectSpread({\n event: new Event('input'),\n nextState: {\n isOpen: store.getState().isOpen\n },\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n\n props.plugins.forEach(function (plugin) {\n var _plugin$subscribe;\n\n return (_plugin$subscribe = plugin.subscribe) === null || _plugin$subscribe === void 0 ? void 0 : _plugin$subscribe.call(plugin, _objectSpread(_objectSpread({}, setters), {}, {\n refresh: refresh,\n onSelect: function onSelect(fn) {\n subscribers.push({\n onSelect: fn\n });\n },\n onActive: function onActive(fn) {\n subscribers.push({\n onActive: fn\n });\n }\n }));\n });\n injectMetadata({\n metadata: getMetadata({\n plugins: props.plugins,\n options: options\n }),\n environment: props.environment\n });\n return _objectSpread(_objectSpread({\n refresh: refresh\n }, propGetters), setters);\n}","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const ClearIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-ClearIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '18');\n element.setAttribute('height', '18');\n element.setAttribute('fill', 'currentColor');\n\n const path = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path'\n );\n path.setAttribute(\n 'd',\n 'M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z'\n );\n\n element.appendChild(path);\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\nimport { invariant } from '@algolia/autocomplete-shared';\n\nexport function getHTMLElement(\n environment: AutocompleteEnvironment,\n value: string | HTMLElement\n): HTMLElement {\n if (typeof value === 'string') {\n const element = environment.document.querySelector<HTMLElement>(value);\n\n invariant(\n element !== null,\n `The element ${JSON.stringify(value)} is not in the document.`\n );\n\n return element!;\n }\n\n return value;\n}\n","import { AutocompleteClassNames } from '../types';\n\nexport function mergeClassNames(\n ...values: Array<Partial<AutocompleteClassNames>>\n) {\n return values.reduce((acc, current) => {\n Object.keys(current).forEach((key) => {\n const accValue = acc[key];\n const currentValue = current[key];\n\n if (accValue !== currentValue) {\n acc[key] = [accValue, currentValue].filter(Boolean).join(' ');\n }\n });\n\n return acc;\n }, {});\n}\n","const isPlainObject = (value: unknown) =>\n value &&\n typeof value === 'object' &&\n Object.prototype.toString.call(value) === '[object Object]';\n\nexport function mergeDeep(...values: any[]) {\n return values.reduce((acc, current) => {\n Object.keys(current).forEach((key) => {\n const accValue = acc[key];\n const currentValue = current[key];\n\n if (Array.isArray(accValue) && Array.isArray(currentValue)) {\n acc[key] = accValue.concat(...currentValue);\n } else if (isPlainObject(accValue) && isPlainObject(currentValue)) {\n acc[key] = mergeDeep(accValue, currentValue);\n } else {\n acc[key] = currentValue;\n }\n });\n\n return acc;\n }, {});\n}\n","/* eslint-disable */\n\n/*\n * Taken from Preact\n *\n * See https://github.com/preactjs/preact/blob/6ab49d9020740127577bf4af66bf63f4af7f9fee/src/diff/props.js#L58-L151\n */\n\nfunction setStyle(style: object, key: string, value: any) {\n if (value === null) {\n style[key] = '';\n } else if (typeof value !== 'number') {\n style[key] = value;\n } else {\n style[key] = value + 'px';\n }\n}\n\n/**\n * Proxy an event to hooked event handlers\n */\nfunction eventProxy(this: any, event: Event) {\n this._listeners[event.type](event);\n}\n\n/**\n * Set a property value on a DOM node\n */\nexport function setProperty(dom: HTMLElement, name: string, value: any) {\n let useCapture: boolean;\n let nameLower: string;\n let oldValue = dom[name];\n\n if (name === 'style') {\n if (typeof value == 'string') {\n (dom as any).style = value;\n } else {\n if (value === null) {\n (dom as any).style = '';\n } else {\n for (name in value) {\n if (!oldValue || value[name] !== oldValue[name]) {\n setStyle(dom.style, name, value[name]);\n }\n }\n }\n }\n }\n // Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n else if (name[0] === 'o' && name[1] === 'n') {\n useCapture = name !== (name = name.replace(/Capture$/, ''));\n nameLower = name.toLowerCase();\n if (nameLower in dom) name = nameLower;\n name = name.slice(2);\n\n if (!(dom as any)._listeners) (dom as any)._listeners = {};\n (dom as any)._listeners[name] = value;\n\n if (value) {\n if (!oldValue) dom.addEventListener(name, eventProxy, useCapture);\n } else {\n dom.removeEventListener(name, eventProxy, useCapture);\n }\n } else if (\n name !== 'list' &&\n name !== 'tagName' &&\n // HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using\n // setAttribute\n name !== 'form' &&\n name !== 'type' &&\n name !== 'size' &&\n name !== 'download' &&\n name !== 'href' &&\n name in dom\n ) {\n dom[name] = value == null ? '' : value;\n } else if (typeof value != 'function' && name !== 'dangerouslySetInnerHTML') {\n if (\n value == null ||\n (value === false &&\n // ARIA-attributes have a different notion of boolean values.\n // The value `false` is different from the attribute not\n // existing on the DOM, so we can't remove it. For non-boolean\n // ARIA-attributes we could treat false as a removal, but the\n // amount of exceptions would cost us too many bytes. On top of\n // that other VDOM frameworks also always stringify `false`.\n !/^ar/.test(name))\n ) {\n dom.removeAttribute(name);\n } else {\n dom.setAttribute(name, value);\n }\n }\n}\n\nfunction getNormalizedName(name: string): string {\n switch (name) {\n case 'onChange':\n return 'onInput';\n default:\n return name;\n }\n}\n\nexport function setProperties(dom: HTMLElement, props: object): void {\n for (const name in props) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n}\n\nexport function setPropertiesWithoutEvents(\n dom: HTMLElement,\n props: object\n): void {\n for (const name in props) {\n if (!(name[0] === 'o' && name[1] === 'n')) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n }\n}\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { setProperties } from './utils';\n\ntype CreateDomElementProps = Record<string, unknown> & {\n children?: Node[];\n};\n\nexport function getCreateDomElement(environment: AutocompleteEnvironment) {\n return function createDomElement<KParam extends keyof HTMLElementTagNameMap>(\n tagName: KParam,\n { children = [], ...props }: CreateDomElementProps\n ): HTMLElementTagNameMap[KParam] {\n const element = environment.document.createElement<KParam>(tagName);\n setProperties(element, props);\n element.append(...children);\n\n return element;\n };\n}\n","import {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteEnvironment,\n AutocompleteScopeApi,\n} from '@algolia/autocomplete-core';\n\nimport { getCreateDomElement } from '../getCreateDomElement';\nimport { AutocompletePropGetters, AutocompleteState } from '../types';\nimport { AutocompleteElement } from '../types/AutocompleteElement';\nimport { setProperties } from '../utils';\n\ntype InputProps = {\n autocompleteScopeApi: AutocompleteScopeApi<any>;\n environment: AutocompleteEnvironment;\n getInputProps: AutocompletePropGetters<any>['getInputProps'];\n getInputPropsCore: AutocompleteCoreApi<any>['getInputProps'];\n onDetachedEscape?(): void;\n state: AutocompleteState<any>;\n};\n\nexport const Input: AutocompleteElement<InputProps, HTMLInputElement> = ({\n autocompleteScopeApi,\n environment,\n classNames,\n getInputProps,\n getInputPropsCore,\n onDetachedEscape,\n state,\n ...props\n}) => {\n const createDomElement = getCreateDomElement(environment);\n const element = createDomElement('input', props);\n const inputProps = getInputProps({\n state,\n props: getInputPropsCore({ inputElement: element }),\n inputElement: element,\n ...autocompleteScopeApi,\n });\n\n setProperties(element, {\n ...inputProps,\n onKeyDown(event: KeyboardEvent) {\n if (onDetachedEscape && event.key === 'Escape') {\n event.preventDefault();\n onDetachedEscape();\n return;\n }\n\n inputProps.onKeyDown(event);\n },\n });\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const LoadingIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-LoadingIcon');\n element.setAttribute('viewBox', '0 0 100 100');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n\n element.innerHTML = `<circle\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"35\"\n stroke=\"currentColor\"\n stroke-dasharray=\"164.93361431346415 56.97787143782138\"\n stroke-width=\"6\"\n>\n <animateTransform\n attributeName=\"transform\"\n type=\"rotate\"\n repeatCount=\"indefinite\"\n dur=\"1s\"\n values=\"0 50 50;90 50 50;180 50 50;360 50 50\"\n keyTimes=\"0;0.40;0.65;1\"\n />\n</circle>`;\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const SearchIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-SubmitIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.setAttribute('fill', 'currentColor');\n\n const path = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path'\n );\n path.setAttribute(\n 'd',\n 'M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z'\n );\n\n element.appendChild(path);\n\n return element;\n};\n","import {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteEnvironment,\n AutocompleteScopeApi,\n BaseItem,\n} from '@algolia/autocomplete-core';\n\nimport { ClearIcon, Input, LoadingIcon, SearchIcon } from './elements';\nimport { getCreateDomElement } from './getCreateDomElement';\nimport {\n AutocompleteClassNames,\n AutocompleteDom,\n AutocompletePropGetters,\n AutocompleteState,\n AutocompleteTranslations,\n} from './types';\nimport { setProperties } from './utils';\n\ntype CreateDomProps<TItem extends BaseItem> = {\n autocomplete: AutocompleteCoreApi<TItem>;\n autocompleteScopeApi: AutocompleteScopeApi<TItem>;\n classNames: AutocompleteClassNames;\n environment: AutocompleteEnvironment;\n isDetached: boolean;\n placeholder?: string;\n propGetters: AutocompletePropGetters<TItem>;\n setIsModalOpen(value: boolean): void;\n state: AutocompleteState<TItem>;\n translations: AutocompleteTranslations;\n};\n\nexport function createAutocompleteDom<TItem extends BaseItem>({\n autocomplete,\n autocompleteScopeApi,\n classNames,\n environment,\n isDetached,\n placeholder = 'Search',\n propGetters,\n setIsModalOpen,\n state,\n translations,\n}: CreateDomProps<TItem>): AutocompleteDom {\n const createDomElement = getCreateDomElement(environment);\n\n const rootProps = propGetters.getRootProps({\n state,\n props: autocomplete.getRootProps({}),\n ...autocompleteScopeApi,\n });\n const root = createDomElement('div', {\n class: classNames.root,\n ...rootProps,\n });\n const detachedContainer = createDomElement('div', {\n class: classNames.detachedContainer,\n onMouseDown(event: MouseEvent) {\n event.stopPropagation();\n },\n });\n const detachedOverlay = createDomElement('div', {\n class: classNames.detachedOverlay,\n children: [detachedContainer],\n onMouseDown() {\n setIsModalOpen(false);\n autocomplete.setIsOpen(false);\n },\n });\n\n const labelProps = propGetters.getLabelProps({\n state,\n props: autocomplete.getLabelProps({}),\n ...autocompleteScopeApi,\n });\n const submitButton = createDomElement('button', {\n class: classNames.submitButton,\n type: 'submit',\n title: translations.submitButtonTitle,\n children: [SearchIcon({ environment })],\n });\n const label = createDomElement('label', {\n class: classNames.label,\n children: [submitButton],\n ...labelProps,\n });\n const clearButton = createDomElement('button', {\n class: classNames.clearButton,\n type: 'reset',\n title: translations.clearButtonTitle,\n children: [ClearIcon({ environment })],\n });\n const loadingIndicator = createDomElement('div', {\n class: classNames.loadingIndicator,\n children: [LoadingIcon({ environment })],\n });\n\n const input = Input({\n class: classNames.input,\n environment,\n state,\n getInputProps: propGetters.getInputProps,\n getInputPropsCore: autocomplete.getInputProps,\n autocompleteScopeApi,\n onDetachedEscape: isDetached\n ? () => {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n }\n : undefined,\n });\n\n const inputWrapperPrefix = createDomElement('div', {\n class: classNames.inputWrapperPrefix,\n children: [label, loadingIndicator],\n });\n const inputWrapperSuffix = createDomElement('div', {\n class: classNames.inputWrapperSuffix,\n children: [clearButton],\n });\n const inputWrapper = createDomElement('div', {\n class: classNames.inputWrapper,\n children: [input],\n });\n\n const formProps = propGetters.getFormProps({\n state,\n props: autocomplete.getFormProps({ inputElement: input }),\n ...autocompleteScopeApi,\n });\n const form = createDomElement('form', {\n class: classNames.form,\n children: [inputWrapperPrefix, inputWrapper, inputWrapperSuffix],\n ...formProps,\n });\n const panelProps = propGetters.getPanelProps({\n state,\n props: autocomplete.getPanelProps({}),\n ...autocompleteScopeApi,\n });\n const panel = createDomElement('div', {\n class: classNames.panel,\n ...panelProps,\n });\n\n if (__TEST__) {\n setProperties(panel, {\n 'data-testid': 'panel',\n });\n }\n\n if (isDetached) {\n const detachedSearchButtonIcon = createDomElement('div', {\n class: classNames.detachedSearchButtonIcon,\n children: [SearchIcon({ environment })],\n });\n const detachedSearchButtonPlaceholder = createDomElement('div', {\n class: classNames.detachedSearchButtonPlaceholder,\n textContent: placeholder,\n });\n const detachedSearchButton = createDomElement('button', {\n class: classNames.detachedSearchButton,\n onClick(event: MouseEvent) {\n event.preventDefault();\n setIsModalOpen(true);\n },\n children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder],\n });\n const detachedCancelButton = createDomElement('button', {\n class: classNames.detachedCancelButton,\n textContent: translations.detachedCancelButtonText,\n onClick() {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n },\n });\n const detachedFormContainer = createDomElement('div', {\n class: classNames.detachedFormContainer,\n children: [form, detachedCancelButton],\n });\n\n detachedContainer.appendChild(detachedFormContainer);\n root.appendChild(detachedSearchButton);\n } else {\n root.appendChild(form);\n }\n\n return {\n detachedContainer,\n detachedOverlay,\n inputWrapper,\n input,\n root,\n form,\n label,\n submitButton,\n clearButton,\n loadingIndicator,\n panel,\n };\n}\n","type Effect = () => void;\ntype EffectFn = () => Effect;\ntype CleanupFn = () => void;\ntype EffectWrapper = {\n runEffect(fn: EffectFn): void;\n cleanupEffects(): void;\n runEffects(): void;\n};\n\nexport function createEffectWrapper(): EffectWrapper {\n let effects: EffectFn[] = [];\n let cleanups: CleanupFn[] = [];\n\n function runEffect(fn: EffectFn) {\n effects.push(fn);\n const effectCleanup = fn();\n cleanups.push(effectCleanup);\n }\n\n return {\n runEffect,\n cleanupEffects() {\n const currentCleanups = cleanups;\n cleanups = [];\n currentCleanups.forEach((cleanup) => {\n cleanup();\n });\n },\n runEffects() {\n const currentEffects = effects;\n effects = [];\n currentEffects.forEach((effect) => {\n runEffect(effect);\n });\n },\n };\n}\n","type ReactiveValue<TValue> = () => TValue;\nexport type Reactive<TValue> = {\n value: TValue;\n /**\n * @private\n */\n _fn: ReactiveValue<TValue>;\n /**\n * @private\n */\n _ref: {\n current: TValue;\n };\n};\n\nexport function createReactiveWrapper() {\n const reactives: Array<Reactive<any>> = [];\n\n return {\n reactive<TValue>(value: ReactiveValue<TValue>) {\n const current = value();\n const reactive: Reactive<TValue> = {\n _fn: value,\n _ref: { current },\n get value() {\n return this._ref.current;\n },\n set value(value) {\n this._ref.current = value;\n },\n };\n\n reactives.push(reactive);\n\n return reactive;\n },\n runReactives() {\n reactives.forEach((value) => {\n value._ref.current = value._fn();\n });\n },\n };\n}\n","var n,l,u,i,t,r,o,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,r,o,f={};for(o in u)\"key\"==o?t=u[o]:\"ref\"==o?r=u[o]:f[o]=u[o];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===f[o]&&(f[o]=l.defaultProps[o]);return y(l,f,t,r,null)}function y(n,i,t,r,o){var f={type:n,props:i,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++u:o};return null==o&&null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||r)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,r,o;n.__d&&(r=(t=(l=n).__v).__e,(o=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(o,t,i,l.__n,void 0!==o.ownerSVGElement,null!=t.__h?[r]:null,u,null==r?k(t):r,t.__h),z(u,t),t.__e!=r&&b(t)))})}function w(n,l,u,i,t,r,o,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||\"boolean\"==typeof _?null:\"string\"==typeof _||\"number\"==typeof _||\"bigint\"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,r,o,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),\"function\"==typeof _.type&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),\"function\"==typeof u.type&&(u.__d=s)):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&(\"function\"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){for(var i,t=n.__k,r=0;t&&r<t.length;r++)(i=t[r])&&(i.__=n,l=\"function\"==typeof i.type?x(i,l,u):P(u,i,i,t,i.__e,l));return l}function A(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,r){var o,f,e;if(void 0!==l.__d)o=l.__d,l.__d=void 0;else if(null==u||t!=r||null==t.parentNode)n:if(null==r||r.parentNode!==n)n.appendChild(t),o=null;else{for(f=r,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,r),o=r}return void 0!==o?o:t.nextSibling}function C(n,l,u,i,t){var r;for(r in u)\"children\"===r||\"key\"===r||r in l||H(n,r,null,u[r],i);for(r in l)t&&\"function\"!=typeof l[r]||\"children\"===r||\"key\"===r||\"value\"===r||\"checked\"===r||u[r]===l[r]||H(n,r,l[r],u[r],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||s.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var r;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])r=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?i||n.addEventListener(l,r?T:I,r):n.removeEventListener(l,r?T:I,r);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,r,o,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,o=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,r,o,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==o&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,r,o,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=o)&&(u.__e=e,u.__h=!!c,o[o.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,r,o,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if(\"svg\"===d&&(r=!0),null!=o)for(;_<o.length;_++)if((s=o[_])&&\"setAttribute\"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,o[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=r?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),o=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(o=o&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=o)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,r,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,r&&\"foreignObject\"!==d,o,f,o?o[0]:i.__k&&k(i,0),c),null!=o)for(_=o.length;_--;)null!=o[_]&&h(o[_]);c||(\"value\"in p&&void 0!==(_=p.value)&&(_!==y.value||_!==l.value||\"progress\"===d&&!_)&&H(l,\"value\",_,y.value,!1),\"checked\"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,\"checked\",_,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,r;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(r=0;r<t.length;r++)t[r]&&N(t[r],u,\"function\"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var r,o,f;l.__&&l.__(u,i),o=(r=\"function\"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!r&&t||i).__k=v(d,null,[u]),o||e,e,void 0!==i.ownerSVGElement,!r&&t?[t]:o?null:i.firstChild?n.call(i.childNodes):null,f,!r&&t?t:o?o.__e:i.firstChild,r),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,r,o,f=a({},l.props);for(o in u)\"key\"==o?t=u[o]:\"ref\"==o?r=u[o]:f[o]=u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,r||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","export var HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport var HIGHLIGHT_POST_TAG = '__/aa-highlight__';","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet() {\n var initialValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = initialValue;\n return {\n get: function get() {\n return value;\n },\n add: function add(part) {\n var lastPart = value[value.length - 1];\n\n if ((lastPart === null || lastPart === void 0 ? void 0 : lastPart.isHighlighted) === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted\n };\n } else {\n value.push(part);\n }\n }\n };\n}\n\nexport function parseAttribute(_ref) {\n var highlightedValue = _ref.highlightedValue;\n var preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n var firstValue = preTagParts.shift();\n var parts = createAttributeSet(firstValue ? [{\n value: firstValue,\n isHighlighted: false\n }] : []);\n preTagParts.forEach(function (part) {\n var postTagParts = part.split(HIGHLIGHT_POST_TAG);\n parts.add({\n value: postTagParts[0],\n isHighlighted: true\n });\n\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false\n });\n }\n });\n return parts.get();\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitHighlight(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_highlightResult'].concat(_toConsumableArray(path), ['value']));\n\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToHighlight`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","var htmlEscapes = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\"\n};\nvar hasAlphanumeric = new RegExp(/\\w/i);\nvar regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nvar regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\n\nfunction unescape(value) {\n return value && regexHasEscapedHtml.test(value) ? value.replace(regexEscapedHtml, function (character) {\n return htmlEscapes[character];\n }) : value;\n}\n\nexport function isPartHighlighted(parts, i) {\n var _parts, _parts2;\n\n var current = parts[i];\n var isNextHighlighted = ((_parts = parts[i + 1]) === null || _parts === void 0 ? void 0 : _parts.isHighlighted) || true;\n var isPreviousHighlighted = ((_parts2 = parts[i - 1]) === null || _parts2 === void 0 ? void 0 : _parts2.isHighlighted) || true;\n\n if (!hasAlphanumeric.test(unescape(current.value)) && isPreviousHighlighted === isNextHighlighted) {\n return isPreviousHighlighted;\n }\n\n return current.isHighlighted;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { isPartHighlighted } from './isPartHighlighted';\nexport function reverseHighlightedParts(parts) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some(function (part) {\n return part.isHighlighted;\n })) {\n return parts.map(function (part) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: false\n });\n });\n }\n\n return parts.map(function (part, i) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: !isPartHighlighted(parts, i)\n });\n });\n}","import { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseHighlight(props) {\n return reverseHighlightedParts(parseAlgoliaHitHighlight(props));\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitSnippet(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_snippetResult'].concat(_toConsumableArray(path), ['value']));\n\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToSnippet`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","import { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseSnippet(props) {\n return reverseHighlightedParts(parseAlgoliaHitSnippet(props));\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function createRequester(fetcher) {\n function execute(fetcherParams) {\n return fetcher({\n searchClient: fetcherParams.searchClient,\n queries: fetcherParams.requests.map(function (x) {\n return x.query;\n })\n }).then(function (responses) {\n return responses.map(function (response, index) {\n var _fetcherParams$reques = fetcherParams.requests[index],\n sourceId = _fetcherParams$reques.sourceId,\n transformResponse = _fetcherParams$reques.transformResponse;\n return {\n items: response,\n sourceId: sourceId,\n transformResponse: transformResponse\n };\n });\n });\n }\n\n return function createSpecifiedRequester(requesterParams) {\n return function requester(requestParams) {\n return _objectSpread(_objectSpread({\n execute: execute\n }, requesterParams), requestParams);\n };\n };\n}","var _excluded = [\"params\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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; }\n\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; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\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); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\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; }\n\nimport { userAgents as coreUserAgents } from '@algolia/autocomplete-shared';\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nexport function fetchAlgoliaResults(_ref) {\n var searchClient = _ref.searchClient,\n queries = _ref.queries,\n _ref$userAgents = _ref.userAgents,\n userAgents = _ref$userAgents === void 0 ? [] : _ref$userAgents;\n\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n var algoliaAgents = [].concat(_toConsumableArray(coreUserAgents), _toConsumableArray(userAgents));\n algoliaAgents.forEach(function (_ref2) {\n var segment = _ref2.segment,\n version = _ref2.version;\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.search(queries.map(function (searchParameters) {\n var params = searchParameters.params,\n headers = _objectWithoutProperties(searchParameters, _excluded);\n\n return _objectSpread(_objectSpread({}, headers), {}, {\n params: _objectSpread({\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG\n }, params)\n });\n })).then(function (response) {\n return response.results;\n });\n}","import { parseAlgoliaHitHighlight } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createHighlightComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n return function Highlight<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitHighlight<THit>({ hit, attribute }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n };\n}\n","import { parseAlgoliaHitReverseHighlight } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createReverseHighlightComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n return function ReverseHighlight<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitReverseHighlight<THit>({\n hit,\n attribute,\n }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n };\n}\n","import { parseAlgoliaHitReverseSnippet } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createReverseSnippetComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n return function ReverseSnippet<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitReverseSnippet<THit>({\n hit,\n attribute,\n }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n };\n}\n","import { parseAlgoliaHitSnippet } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createSnippetComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n return function Snippet<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitSnippet<THit>({ hit, attribute }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n };\n}\n","import { AutocompleteEnvironment, BaseItem } from '@algolia/autocomplete-core';\nimport {\n generateAutocompleteId,\n invariant,\n} from '@algolia/autocomplete-shared';\nimport {\n createElement as preactCreateElement,\n Fragment as PreactFragment,\n render,\n} from 'preact';\n\nimport {\n createHighlightComponent,\n createReverseHighlightComponent,\n createReverseSnippetComponent,\n createSnippetComponent,\n} from './components';\nimport {\n AutocompleteClassNames,\n AutocompleteComponents,\n AutocompleteOptions,\n AutocompleteRender,\n AutocompleteRenderer,\n AutocompleteTranslations,\n} from './types';\nimport { getHTMLElement, mergeClassNames } from './utils';\n\nconst defaultClassNames: AutocompleteClassNames = {\n clearButton: 'aa-ClearButton',\n detachedCancelButton: 'aa-DetachedCancelButton',\n detachedContainer: 'aa-DetachedContainer',\n detachedFormContainer: 'aa-DetachedFormContainer',\n detachedOverlay: 'aa-DetachedOverlay',\n detachedSearchButton: 'aa-DetachedSearchButton',\n detachedSearchButtonIcon: 'aa-DetachedSearchButtonIcon',\n detachedSearchButtonPlaceholder: 'aa-DetachedSearchButtonPlaceholder',\n form: 'aa-Form',\n input: 'aa-Input',\n inputWrapper: 'aa-InputWrapper',\n inputWrapperPrefix: 'aa-InputWrapperPrefix',\n inputWrapperSuffix: 'aa-InputWrapperSuffix',\n item: 'aa-Item',\n label: 'aa-Label',\n list: 'aa-List',\n loadingIndicator: 'aa-LoadingIndicator',\n panel: 'aa-Panel',\n panelLayout: 'aa-PanelLayout aa-Panel--scrollable',\n root: 'aa-Autocomplete',\n source: 'aa-Source',\n sourceFooter: 'aa-SourceFooter',\n sourceHeader: 'aa-SourceHeader',\n sourceNoResults: 'aa-SourceNoResults',\n submitButton: 'aa-SubmitButton',\n};\n\nconst defaultRender: AutocompleteRender<any> = ({ children }, root) => {\n render(children, root);\n};\n\nconst defaultRenderer: AutocompleteRenderer = {\n createElement: preactCreateElement,\n Fragment: PreactFragment,\n};\n\nexport function getDefaultOptions<TItem extends BaseItem>(\n options: AutocompleteOptions<TItem>\n) {\n const {\n classNames,\n container,\n getEnvironmentProps,\n getFormProps,\n getInputProps,\n getItemProps,\n getLabelProps,\n getListProps,\n getPanelProps,\n getRootProps,\n panelContainer,\n panelPlacement,\n render,\n renderNoResults,\n renderer,\n detachedMediaQuery,\n components,\n translations,\n ...core\n } = options;\n\n /* eslint-disable no-restricted-globals */\n const environment: AutocompleteEnvironment = (typeof window !== 'undefined'\n ? window\n : {}) as typeof window;\n /* eslint-enable no-restricted-globals */\n const containerElement = getHTMLElement(environment, container);\n\n invariant(\n containerElement.tagName !== 'INPUT',\n 'The `container` option does not support `input` elements. You need to change the container to a `div`.'\n );\n\n const defaultedRenderer = renderer ?? defaultRenderer;\n const defaultComponents: AutocompleteComponents = {\n Highlight: createHighlightComponent(defaultedRenderer),\n ReverseHighlight: createReverseHighlightComponent(defaultedRenderer),\n ReverseSnippet: createReverseSnippetComponent(defaultedRenderer),\n Snippet: createSnippetComponent(defaultedRenderer),\n };\n const defaultTranslations: AutocompleteTranslations = {\n clearButtonTitle: 'Clear',\n detachedCancelButtonText: 'Cancel',\n submitButtonTitle: 'Submit',\n };\n\n return {\n renderer: {\n classNames: mergeClassNames(\n defaultClassNames,\n classNames ?? {}\n ) as AutocompleteClassNames,\n container: containerElement,\n getEnvironmentProps: getEnvironmentProps ?? (({ props }) => props),\n getFormProps: getFormProps ?? (({ props }) => props),\n getInputProps: getInputProps ?? (({ props }) => props),\n getItemProps: getItemProps ?? (({ props }) => props),\n getLabelProps: getLabelProps ?? (({ props }) => props),\n getListProps: getListProps ?? (({ props }) => props),\n getPanelProps: getPanelProps ?? (({ props }) => props),\n getRootProps: getRootProps ?? (({ props }) => props),\n panelContainer: panelContainer\n ? getHTMLElement(environment, panelContainer)\n : environment.document.body,\n panelPlacement: panelPlacement ?? 'input-wrapper-width',\n render: render ?? defaultRender,\n renderNoResults,\n renderer: defaultedRenderer,\n detachedMediaQuery:\n detachedMediaQuery ??\n getComputedStyle(environment.document.documentElement).getPropertyValue(\n '--aa-detached-media-query'\n ),\n components: {\n ...defaultComponents,\n ...components,\n },\n translations: {\n ...defaultTranslations,\n ...translations,\n },\n },\n core: {\n ...core,\n id: core.id ?? generateAutocompleteId(),\n environment,\n },\n };\n}\n","import { AutocompleteOptions } from './types';\n\ntype GetPanelPlacementStyleParams = Pick<\n Required<AutocompleteOptions<any>>,\n 'panelPlacement' | 'environment'\n> & {\n container: HTMLElement;\n form: HTMLElement;\n};\n\nexport function getPanelPlacementStyle({\n panelPlacement,\n container,\n form,\n environment,\n}: GetPanelPlacementStyleParams) {\n const containerRect = container.getBoundingClientRect();\n // Some browsers have specificities to retrieve the document scroll position.\n // See https://stackoverflow.com/a/28633515/9940315\n const scrollTop =\n (environment.pageYOffset as number) ||\n environment.document.documentElement.scrollTop ||\n environment.document.body.scrollTop ||\n 0;\n const top = scrollTop + containerRect.top + containerRect.height;\n\n switch (panelPlacement) {\n case 'start': {\n return {\n top,\n left: containerRect.left,\n };\n }\n\n case 'end': {\n return {\n top,\n right:\n environment.document.documentElement.clientWidth -\n (containerRect.left + containerRect.width),\n };\n }\n\n case 'full-width': {\n return {\n top,\n left: 0,\n right: 0,\n width: 'unset',\n maxWidth: 'unset',\n };\n }\n\n case 'input-wrapper-width': {\n const formRect = form.getBoundingClientRect();\n\n return {\n top,\n left: formRect.left,\n right:\n environment.document.documentElement.clientWidth -\n (formRect.left + formRect.width),\n width: 'unset',\n maxWidth: 'unset',\n };\n }\n\n default: {\n throw new Error(\n `[Autocomplete] The \\`panelPlacement\\` value ${JSON.stringify(\n panelPlacement\n )} is not valid.`\n );\n }\n }\n}\n","/** @jsx createElement */\nimport {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteScopeApi,\n} from '@algolia/autocomplete-core';\nimport { BaseItem } from '@algolia/autocomplete-core/src';\n\nimport {\n AutocompleteClassNames,\n AutocompleteComponents,\n AutocompleteDom,\n AutocompletePropGetters,\n AutocompleteRender,\n AutocompleteState,\n Pragma,\n PragmaFrag,\n} from './types';\nimport { setProperties, setPropertiesWithoutEvents } from './utils';\n\ntype RenderProps<TItem extends BaseItem> = {\n autocomplete: AutocompleteCoreApi<TItem>;\n autocompleteScopeApi: AutocompleteScopeApi<TItem>;\n classNames: AutocompleteClassNames;\n components: AutocompleteComponents;\n createElement: Pragma;\n dom: AutocompleteDom;\n Fragment: PragmaFrag;\n panelContainer: HTMLElement;\n propGetters: AutocompletePropGetters<TItem>;\n state: AutocompleteState<TItem>;\n};\n\nexport function renderSearchBox<TItem extends BaseItem>({\n autocomplete,\n autocompleteScopeApi,\n dom,\n propGetters,\n state,\n}: RenderProps<TItem>): void {\n setPropertiesWithoutEvents(\n dom.root,\n propGetters.getRootProps({\n state,\n props: autocomplete.getRootProps({}),\n ...autocompleteScopeApi,\n })\n );\n setPropertiesWithoutEvents(\n dom.input,\n propGetters.getInputProps({\n state,\n props: autocomplete.getInputProps({ inputElement: dom.input }),\n inputElement: dom.input,\n ...autocompleteScopeApi,\n })\n );\n setProperties(dom.label, { hidden: state.status === 'stalled' });\n setProperties(dom.loadingIndicator, { hidden: state.status !== 'stalled' });\n setProperties(dom.clearButton, { hidden: !state.query });\n}\n\nexport function renderPanel<TItem extends BaseItem>(\n render: AutocompleteRender<TItem>,\n {\n autocomplete,\n autocompleteScopeApi,\n classNames,\n createElement,\n dom,\n Fragment,\n panelContainer,\n propGetters,\n state,\n components,\n }: RenderProps<TItem>\n): void {\n if (!state.isOpen) {\n if (panelContainer.contains(dom.panel)) {\n panelContainer.removeChild(dom.panel);\n }\n\n return;\n }\n\n // We add the panel element to the DOM when it's not yet appended and that the\n // items are fetched.\n if (!panelContainer.contains(dom.panel) && state.status !== 'loading') {\n panelContainer.appendChild(dom.panel);\n }\n\n dom.panel.classList.toggle('aa-Panel--stalled', state.status === 'stalled');\n\n const sections = state.collections\n .filter(\n ({ source, items }) => source.templates.noResults || items.length > 0\n )\n .map(({ source, items }, sourceIndex) => (\n <section\n key={sourceIndex}\n className={classNames.source}\n data-autocomplete-source-id={source.sourceId}\n >\n {source.templates.header && (\n <div className={classNames.sourceHeader}>\n {source.templates.header({\n components,\n createElement,\n Fragment,\n items,\n source,\n state,\n })}\n </div>\n )}\n\n {source.templates.noResults && items.length === 0 ? (\n <div className={classNames.sourceNoResults}>\n {source.templates.noResults({\n components,\n createElement,\n Fragment,\n source,\n state,\n })}\n </div>\n ) : (\n <ul\n className={classNames.list}\n {...propGetters.getListProps({\n state,\n props: autocomplete.getListProps({}),\n ...autocompleteScopeApi,\n })}\n >\n {items.map((item) => {\n const itemProps = autocomplete.getItemProps({\n item,\n source,\n });\n\n return (\n <li\n key={itemProps.id}\n className={classNames.item}\n {...propGetters.getItemProps({\n state,\n props: itemProps,\n ...autocompleteScopeApi,\n })}\n >\n {source.templates.item({\n components,\n createElement,\n Fragment,\n item,\n state,\n })}\n </li>\n );\n })}\n </ul>\n )}\n\n {source.templates.footer && (\n <div className={classNames.sourceFooter}>\n {source.templates.footer({\n components,\n createElement,\n Fragment,\n items,\n source,\n state,\n })}\n </div>\n )}\n </section>\n ));\n\n const children = (\n <Fragment>\n <div className={classNames.panelLayout}>{sections}</div>\n <div className=\"aa-GradientBottom\" />\n </Fragment>\n );\n const elements = sections.reduce((acc, current) => {\n acc[current.props['data-autocomplete-source-id']] = current;\n return acc;\n }, {});\n\n render(\n {\n children,\n state,\n sections,\n elements,\n createElement,\n Fragment,\n components,\n ...autocompleteScopeApi,\n },\n dom.panel\n );\n}\n","import { version } from '@algolia/autocomplete-shared';\n\nexport const userAgents = [{ segment: 'autocomplete-js', version }];\n","import {\n AutocompleteScopeApi,\n BaseItem,\n createAutocomplete,\n} from '@algolia/autocomplete-core';\nimport {\n createRef,\n debounce,\n getItemsCount,\n} from '@algolia/autocomplete-shared';\n\nimport { createAutocompleteDom } from './createAutocompleteDom';\nimport { createEffectWrapper } from './createEffectWrapper';\nimport { createReactiveWrapper } from './createReactiveWrapper';\nimport { getDefaultOptions } from './getDefaultOptions';\nimport { getPanelPlacementStyle } from './getPanelPlacementStyle';\nimport { renderPanel, renderSearchBox } from './render';\nimport {\n AutocompleteApi,\n AutocompleteOptions,\n AutocompletePropGetters,\n AutocompleteSource,\n AutocompleteState,\n} from './types';\nimport { userAgents } from './userAgents';\nimport { mergeDeep, setProperties } from './utils';\n\nexport function autocomplete<TItem extends BaseItem>(\n options: AutocompleteOptions<TItem>\n): AutocompleteApi<TItem> {\n const { runEffect, cleanupEffects, runEffects } = createEffectWrapper();\n const { reactive, runReactives } = createReactiveWrapper();\n\n const hasNoResultsSourceTemplateRef = createRef(false);\n const optionsRef = createRef(options);\n const onStateChangeRef = createRef<\n AutocompleteOptions<TItem>['onStateChange']\n >(undefined);\n const props = reactive(() => getDefaultOptions(optionsRef.current));\n const isDetached = reactive(\n () =>\n props.value.core.environment.matchMedia(\n props.value.renderer.detachedMediaQuery\n ).matches\n );\n\n const autocomplete = reactive(() =>\n createAutocomplete<TItem>({\n ...props.value.core,\n onStateChange(params) {\n hasNoResultsSourceTemplateRef.current = params.state.collections.some(\n (collection) =>\n (collection.source as AutocompleteSource<TItem>).templates.noResults\n );\n onStateChangeRef.current?.(params as any);\n props.value.core.onStateChange?.(params as any);\n },\n shouldPanelOpen:\n optionsRef.current.shouldPanelOpen ||\n (({ state }) => {\n if (isDetached.value) {\n return true;\n }\n\n const hasItems = getItemsCount(state) > 0;\n\n if (!props.value.core.openOnFocus && !state.query) {\n return hasItems;\n }\n\n const hasNoResultsTemplate = Boolean(\n hasNoResultsSourceTemplateRef.current ||\n props.value.renderer.renderNoResults\n );\n\n return (!hasItems && hasNoResultsTemplate) || hasItems;\n }),\n __autocomplete_metadata: {\n userAgents,\n options,\n },\n })\n );\n const lastStateRef = createRef<AutocompleteState<TItem>>({\n collections: [],\n completion: null,\n context: {},\n isOpen: false,\n query: '',\n activeItemId: null,\n status: 'idle',\n ...props.value.core.initialState,\n });\n\n const propGetters: AutocompletePropGetters<TItem> = {\n getEnvironmentProps: props.value.renderer.getEnvironmentProps,\n getFormProps: props.value.renderer.getFormProps,\n getInputProps: props.value.renderer.getInputProps,\n getItemProps: props.value.renderer.getItemProps,\n getLabelProps: props.value.renderer.getLabelProps,\n getListProps: props.value.renderer.getListProps,\n getPanelProps: props.value.renderer.getPanelProps,\n getRootProps: props.value.renderer.getRootProps,\n };\n const autocompleteScopeApi: AutocompleteScopeApi<TItem> = {\n setActiveItemId: autocomplete.value.setActiveItemId,\n setQuery: autocomplete.value.setQuery,\n setCollections: autocomplete.value.setCollections,\n setIsOpen: autocomplete.value.setIsOpen,\n setStatus: autocomplete.value.setStatus,\n setContext: autocomplete.value.setContext,\n refresh: autocomplete.value.refresh,\n };\n\n const dom = reactive(() =>\n createAutocompleteDom({\n autocomplete: autocomplete.value,\n autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n environment: props.value.core.environment,\n isDetached: isDetached.value,\n placeholder: props.value.core.placeholder,\n propGetters,\n setIsModalOpen,\n state: lastStateRef.current,\n translations: props.value.renderer.translations,\n })\n );\n\n function setPanelPosition() {\n setProperties(dom.value.panel, {\n style: isDetached.value\n ? {}\n : getPanelPlacementStyle({\n panelPlacement: props.value.renderer.panelPlacement,\n container: dom.value.root,\n form: dom.value.form,\n environment: props.value.core.environment,\n }),\n });\n }\n\n function scheduleRender(state: AutocompleteState<TItem>) {\n lastStateRef.current = state;\n\n const renderProps = {\n autocomplete: autocomplete.value,\n autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n components: props.value.renderer.components,\n container: props.value.renderer.container,\n createElement: props.value.renderer.renderer.createElement,\n dom: dom.value,\n Fragment: props.value.renderer.renderer.Fragment,\n panelContainer: isDetached.value\n ? dom.value.detachedContainer\n : props.value.renderer.panelContainer,\n propGetters,\n state: lastStateRef.current,\n };\n\n const render =\n (!getItemsCount(state) &&\n !hasNoResultsSourceTemplateRef.current &&\n props.value.renderer.renderNoResults) ||\n props.value.renderer.render;\n\n renderSearchBox(renderProps);\n renderPanel(render, renderProps);\n }\n\n runEffect(() => {\n const environmentProps = autocomplete.value.getEnvironmentProps({\n formElement: dom.value.form,\n panelElement: dom.value.panel,\n inputElement: dom.value.input,\n });\n\n setProperties(props.value.core.environment as any, environmentProps);\n\n return () => {\n setProperties(\n props.value.core.environment as any,\n Object.keys(environmentProps).reduce((acc, key) => {\n return {\n ...acc,\n [key]: undefined,\n };\n }, {})\n );\n };\n });\n\n runEffect(() => {\n const panelContainerElement = isDetached.value\n ? props.value.core.environment.document.body\n : props.value.renderer.panelContainer;\n const panelElement = isDetached.value\n ? dom.value.detachedOverlay\n : dom.value.panel;\n\n if (isDetached.value && lastStateRef.current.isOpen) {\n setIsModalOpen(true);\n }\n\n scheduleRender(lastStateRef.current);\n\n return () => {\n if (panelContainerElement.contains(panelElement)) {\n panelContainerElement.removeChild(panelElement);\n }\n };\n });\n\n runEffect(() => {\n const containerElement = props.value.renderer.container;\n containerElement.appendChild(dom.value.root);\n\n return () => {\n containerElement.removeChild(dom.value.root);\n };\n });\n\n runEffect(() => {\n const debouncedRender = debounce<{\n state: AutocompleteState<TItem>;\n }>(({ state }) => {\n scheduleRender(state);\n }, 0);\n\n onStateChangeRef.current = ({ state, prevState }) => {\n if (isDetached.value && prevState.isOpen !== state.isOpen) {\n setIsModalOpen(state.isOpen);\n }\n\n // The outer DOM might have changed since the last time the panel was\n // positioned. The layout might have shifted vertically for instance.\n // It's therefore safer to re-calculate the panel position before opening\n // it again.\n if (!isDetached.value && state.isOpen && !prevState.isOpen) {\n setPanelPosition();\n }\n\n // We scroll to the top of the panel whenever the query changes (i.e. new\n // results come in) so that users don't have to.\n if (state.query !== prevState.query) {\n const scrollablePanels = props.value.core.environment.document.querySelectorAll(\n '.aa-Panel--scrollable'\n );\n scrollablePanels.forEach((scrollablePanel) => {\n if (scrollablePanel.scrollTop !== 0) {\n scrollablePanel.scrollTop = 0;\n }\n });\n }\n\n debouncedRender({ state });\n };\n\n return () => {\n onStateChangeRef.current = undefined;\n };\n });\n\n runEffect(() => {\n const onResize = debounce<Event>(() => {\n const previousIsDetached = isDetached.value;\n isDetached.value = props.value.core.environment.matchMedia(\n props.value.renderer.detachedMediaQuery\n ).matches;\n\n if (previousIsDetached !== isDetached.value) {\n update({});\n } else {\n requestAnimationFrame(setPanelPosition);\n }\n }, 20);\n props.value.core.environment.addEventListener('resize', onResize);\n\n return () => {\n props.value.core.environment.removeEventListener('resize', onResize);\n };\n });\n\n runEffect(() => {\n if (!isDetached.value) {\n return () => {};\n }\n\n function toggleModalClassname(isActive: boolean) {\n dom.value.detachedContainer.classList.toggle(\n 'aa-DetachedContainer--modal',\n isActive\n );\n }\n\n function onChange(event: MediaQueryListEvent) {\n toggleModalClassname(event.matches);\n }\n\n const isModalDetachedMql = props.value.core.environment.matchMedia(\n getComputedStyle(\n props.value.core.environment.document.documentElement\n ).getPropertyValue('--aa-detached-modal-media-query')\n );\n\n toggleModalClassname(isModalDetachedMql.matches);\n\n // Prior to Safari 14, `MediaQueryList` isn't based on `EventTarget`,\n // so we must use `addListener` and `removeListener` to observe media query lists.\n // See https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener\n const hasModernEventListener = Boolean(isModalDetachedMql.addEventListener);\n\n hasModernEventListener\n ? isModalDetachedMql.addEventListener('change', onChange)\n : isModalDetachedMql.addListener(onChange);\n\n return () => {\n hasModernEventListener\n ? isModalDetachedMql.removeEventListener('change', onChange)\n : isModalDetachedMql.removeListener(onChange);\n };\n });\n\n runEffect(() => {\n requestAnimationFrame(setPanelPosition);\n\n return () => {};\n });\n\n function destroy() {\n cleanupEffects();\n }\n\n function update(updatedOptions: Partial<AutocompleteOptions<TItem>> = {}) {\n cleanupEffects();\n\n optionsRef.current = mergeDeep(\n props.value.renderer,\n props.value.core,\n { initialState: lastStateRef.current },\n updatedOptions\n );\n\n runReactives();\n runEffects();\n\n autocomplete.value.refresh().then(() => {\n scheduleRender(lastStateRef.current);\n });\n }\n\n function setIsModalOpen(value: boolean) {\n requestAnimationFrame(() => {\n const prevValue = props.value.core.environment.document.body.contains(\n dom.value.detachedOverlay\n );\n\n if (value === prevValue) {\n return;\n }\n\n if (value) {\n props.value.core.environment.document.body.appendChild(\n dom.value.detachedOverlay\n );\n props.value.core.environment.document.body.classList.add('aa-Detached');\n dom.value.input.focus();\n } else {\n props.value.core.environment.document.body.removeChild(\n dom.value.detachedOverlay\n );\n props.value.core.environment.document.body.classList.remove(\n 'aa-Detached'\n );\n autocomplete.value.setQuery('');\n autocomplete.value.refresh();\n }\n });\n }\n\n return {\n ...autocompleteScopeApi,\n update,\n destroy,\n };\n}\n","import {\n createRequester,\n fetchAlgoliaResults,\n} from '@algolia/autocomplete-preset-algolia';\n\nimport { userAgents } from '../userAgents';\n\nexport const createAlgoliaRequester = createRequester((params) =>\n fetchAlgoliaResults({\n ...params,\n userAgents,\n })\n);\n","import { RequestParams } from '@algolia/autocomplete-preset-algolia';\nimport { MultipleQueriesQuery } from '@algolia/client-search';\n\nimport { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia facet hits from multiple indices.\n */\nexport function getAlgoliaFacets<TTHit>(requestParams: RequestParams<TTHit>) {\n const requester = createAlgoliaRequester({\n transformResponse: (response) => response.facetHits,\n });\n\n const queries = requestParams.queries.map((query) => ({\n ...query,\n type: 'facet',\n })) as MultipleQueriesQuery[];\n\n return requester({\n ...requestParams,\n queries,\n });\n}\n","import { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia results from multiple indices.\n */\nexport const getAlgoliaResults = createAlgoliaRequester({\n transformResponse: (response) => response.hits,\n});\n"],"names":["createRef","initialValue","current","debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","len","arr2","_i","Symbol","iterator","_arr","_n","_d","_s","_e","next","done","push","value","err","isArray","_typeof","obj","decycle","seen","Set","has","newSeen","add","map","x","fromEntries","entries","_ref","_ref2","key","flatten","values","reduce","a","b","concat","autocompleteId","generateAutocompleteId","getAttributeValueByPath","record","path","getItemsCount","state","collections","sum","collection","items","invariant","condition","message","Error","noop","version","userAgents","segment","warnCache","warn","sanitizedMessage","trim","hasAlreadyPrinted","console","checkOptions","options","process","debug","createInternalCancelablePromise","promise","initialState","then","onfulfilled","onrejected","createCallback","catch","_catch","finally","_finally","onfinally","onCancelList","cancel","isCanceled","callbacks","forEach","callback","cancelable","onResult","fallback","arg","createCancelablePromiseList","list","cancelablePromise","filter","item","cancelAll","isEmpty","createConcurrentSafePromise","basePromiseId","latestResolvedId","latestResolvedValue","runConcurrentSafePromise","currentPromiseId","Promise","resolve","getNextActiveItemId","moveAmount","baseIndex","itemCount","defaultActiveItemId","numericIndex","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","getNormalizedSources","getSources","params","seenSourceIds","sources","JSON","stringify","all","maybeSource","Boolean","sourceId","includes","normalizedSource","getItemInputValue","query","getItemUrl","onSelect","setIsOpen","onActive","getCollectionFromActiveItemId","accumulatedCollectionsCount","acc","collectionsCount","index","previousValue","nextValue","collectionIndex","activeItemId","getRelativeActiveItemId","isOffsetFound","counter","previousItemsOffset","currentCollection","getActiveItem","itemInputValue","itemUrl","isOrContainsNode","parent","child","contains","mapToAlgoliaResponse","rawResults","results","result","_hits","hits","hit","__autocomplete_indexName","__autocomplete_queryID","queryID","facetHits","_facetHits","facetHit","label","count","_highlightResult","highlighted","createStore","reducer","props","onStoreStateChange","getState","dispatch","action","payload","prevState","type","pendingRequests","getAutocompleteSetters","store","setActiveItemId","setQuery","setCollections","rawValue","baseItemId","__autocomplete_id","setStatus","setContext","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","getDefaultProps","pluginSubscribers","_props$id","environment","window","plugins","openOnFocus","placeholder","autoFocus","stallThreshold","shouldPanelOpen","reshape","id","completion","isOpen","status","context","onStateChange","_props$onStateChange","_x$onStateChange","onSubmit","_props$onSubmit","_x$onSubmit","onReset","_props$onReset","_x$onReset","plugin","nested","_x$onSelect","_x$onActive","navigator","navigate","_ref3","location","assign","navigateNewTab","_ref4","windowReference","open","focus","navigateNewWindow","_ref5","sourcesBySourceId","getItems","reshapeSources","isDescription","execute","isRequesterDescription","description","preResolve","itemsOrDescription","requests","queries","transformResponse","packed","searchClient","container","find","_container$items","request","maybeDescription","responses","postResolve","matches","response","transform","every","_excluded","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","lastStalledId","onInput","event","_ref$nextState","nextState","refresh","setters","_nextState$isOpen","_request","_nextState$isOpen2","isPanelOpen","highlightedItem","onKeyDown","triggerScrollIntoView","nodeItem","document","getElementById","scrollIntoViewIfNeeded","scrollIntoView","triggerOnActive","preventDefault","nextActiveItemId","metaKey","ctrlKey","shiftKey","altKey","_excluded2","_excluded3","_excluded4","_excluded5","getPropGetters","getEnvironmentProps","providedProps","inputElement","formElement","panelElement","rest","onTouchStart","isAutocompleteInteraction","isTargetWithinAutocomplete","some","contextNode","onTouchMove","activeElement","blur","getRootProps","role","getFormProps","noValidate","_providedProps$inputE","_providedProps$inputE2","getInputProps","onFocus","isTouchDevice","_ref2$maxLength","maxLength","activeItem","autoComplete","autoCorrect","autoCapitalize","enterKeyHint","spellCheck","onChange","currentTarget","_onKeyDown","onBlur","onClick","getLabelProps","htmlFor","getListProps","getPanelProps","onMouseDown","onMouseLeave","getItemProps","onMouseMove","_item","_source","runPreCommand","getMetadata","_","_options$__autocomple","_options$__autocomple2","_options$__autocomple3","optionsKey","__autocomplete_metadata","extraOptions","__autocomplete_pluginOptions","ua","injectMetadata","_environment$navigato","metadata","isMetadataEnabled","userAgent","metadataContainer","createElement","headRef","querySelector","content","appendChild","getCompletion","_getActiveItem","stateReducer","hasOwnProperty","_nextState","createAutocomplete","subscribers","propGetters","Event","_plugin$subscribe","subscribe","ClearIcon","element","createElementNS","setAttribute","getHTMLElement","mergeClassNames","accValue","currentValue","join","isPlainObject","mergeDeep","setStyle","style","eventProxy","_listeners","setProperty","dom","useCapture","nameLower","oldValue","replace","toLowerCase","addEventListener","removeEventListener","removeAttribute","getNormalizedName","setProperties","setPropertiesWithoutEvents","getCreateDomElement","createDomElement","tagName","children","append","Input","autocompleteScopeApi","classNames","getInputPropsCore","onDetachedEscape","inputProps","LoadingIcon","innerHTML","SearchIcon","createAutocompleteDom","autocomplete","isDetached","setIsModalOpen","translations","rootProps","root","class","detachedContainer","stopPropagation","detachedOverlay","labelProps","submitButton","title","submitButtonTitle","clearButton","clearButtonTitle","loadingIndicator","input","inputWrapperPrefix","inputWrapperSuffix","inputWrapper","formProps","form","panelProps","panel","detachedSearchButtonIcon","detachedSearchButtonPlaceholder","textContent","detachedSearchButton","detachedCancelButton","detachedCancelButtonText","detachedFormContainer","createEffectWrapper","effects","cleanups","runEffect","effectCleanup","cleanupEffects","currentCleanups","cleanup","runEffects","currentEffects","effect","createReactiveWrapper","reactives","reactive","_fn","runReactives","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","createAttributeSet","get","part","lastPart","isHighlighted","parseAttribute","highlightedValue","preTagParts","split","firstValue","shift","parts","postTagParts","parseAlgoliaHitHighlight","attribute","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","unescape","character","isPartHighlighted","_parts","_parts2","isNextHighlighted","isPreviousHighlighted","reverseHighlightedParts","parseAlgoliaHitReverseHighlight","parseAlgoliaHitSnippet","parseAlgoliaHitReverseSnippet","createRequester","fetcher","fetcherParams","_fetcherParams$reques","createSpecifiedRequester","requesterParams","requester","requestParams","fetchAlgoliaResults","_ref$userAgents","addAlgoliaAgent","algoliaAgents","coreUserAgents","search","searchParameters","headers","hitsPerPage","highlightPreTag","highlightPostTag","createHighlightComponent","Fragment","Highlight","createReverseHighlightComponent","ReverseHighlight","createReverseSnippetComponent","ReverseSnippet","createSnippetComponent","Snippet","defaultClassNames","panelLayout","sourceFooter","sourceHeader","sourceNoResults","defaultRender","render","defaultRenderer","preactCreateElement","PreactFragment","getDefaultOptions","panelContainer","panelPlacement","renderNoResults","renderer","detachedMediaQuery","components","core","containerElement","defaultedRenderer","defaultComponents","defaultTranslations","body","getComputedStyle","documentElement","getPropertyValue","getPanelPlacementStyle","containerRect","getBoundingClientRect","scrollTop","pageYOffset","top","height","left","right","clientWidth","width","maxWidth","formRect","renderSearchBox","hidden","renderPanel","removeChild","classList","toggle","sections","templates","noResults","sourceIndex","header","itemProps","footer","elements","hasNoResultsSourceTemplateRef","optionsRef","onStateChangeRef","matchMedia","hasItems","hasNoResultsTemplate","lastStateRef","setPanelPosition","scheduleRender","renderProps","environmentProps","panelContainerElement","debouncedRender","scrollablePanels","querySelectorAll","scrollablePanel","onResize","previousIsDetached","update","requestAnimationFrame","toggleModalClassname","isActive","isModalDetachedMql","hasModernEventListener","addListener","removeListener","destroy","updatedOptions","prevValue","remove","createAlgoliaRequester","getAlgoliaFacets","getAlgoliaResults"],"mappings":"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C,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,IAA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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,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"}