@algolia/autocomplete-js 1.3.0 → 1.5.1
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.
- package/dist/esm/autocomplete.js +6 -1
- package/dist/esm/createAutocompleteDom.js +1 -1
- package/dist/esm/elements/Input.js +4 -2
- package/dist/esm/getCreateDomElement.js +4 -2
- package/dist/esm/getDefaultOptions.d.ts +10 -10
- package/dist/esm/getDefaultOptions.js +4 -2
- package/dist/esm/render.js +1 -1
- package/dist/esm/requesters/createAlgoliaRequester.js +3 -6
- package/dist/esm/requesters/getAlgoliaFacets.js +1 -1
- package/dist/esm/types/AutocompleteApi.js +1 -0
- package/dist/esm/types/AutocompleteClassNames.js +1 -0
- package/dist/esm/types/AutocompleteCollection.js +1 -0
- package/dist/esm/types/AutocompleteComponents.js +1 -0
- package/dist/esm/types/AutocompleteDom.js +1 -0
- package/dist/esm/types/AutocompleteElement.js +1 -0
- package/dist/esm/types/AutocompleteOptions.js +1 -0
- package/dist/esm/types/AutocompletePlugin.js +1 -0
- package/dist/esm/types/AutocompletePropGetters.js +1 -0
- package/dist/esm/types/AutocompleteRender.js +1 -0
- package/dist/esm/types/AutocompleteRenderer.js +1 -0
- package/dist/esm/types/AutocompleteSource.js +1 -0
- package/dist/esm/types/AutocompleteState.js +1 -0
- package/dist/esm/types/AutocompleteTranslations.js +1 -0
- package/dist/esm/types/HighlightHitParams.js +1 -0
- package/dist/esm/userAgents.d.ts +4 -0
- package/dist/esm/userAgents.js +5 -0
- package/dist/esm/utils/mergeDeep.js +4 -4
- package/dist/esm/utils/setProperties.js +27 -27
- package/dist/umd/index.development.js +746 -455
- package/dist/umd/index.development.js.map +1 -1
- package/dist/umd/index.production.js +2 -2
- package/dist/umd/index.production.js.map +1 -1
- package/package.json +4 -4
- package/dist/esm/version.d.ts +0 -1
- package/dist/esm/version.js +0 -1
|
@@ -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/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/getNextActiveItemId.js","../../../autocomplete-core/dist/esm/utils/noop.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/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/version.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/autocomplete.ts","../../src/version.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) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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 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 };\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 * 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}","export var noop = function noop() {};","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 } from '@algolia/autocomplete-shared';\nimport { noop } from './noop';\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\" && Symbol.iterator in Object(iter)) 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\" && Symbol.iterator in Object(iter)) 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}","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 _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 { getActiveItem } from './utils';\nvar lastStalledId = null;\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, [\"event\", \"nextState\", \"props\", \"query\", \"refresh\", \"store\"]);\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 setStatus('idle');\n setCollections(store.getState().collections.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n items: []\n });\n }));\n setIsOpen((_nextState$isOpen = nextState.isOpen) !== null && _nextState$isOpen !== void 0 ? _nextState$isOpen : props.shouldPanelOpen({\n state: store.getState()\n }));\n return Promise.resolve();\n }\n\n setStatus('loading');\n lastStalledId = props.environment.setTimeout(function () {\n setStatus('stalled');\n }, props.stallThreshold);\n return props.getSources(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters)).then(function (sources) {\n setStatus('loading');\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 }).then(function (collections) {\n var _nextState$isOpen2;\n\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 if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n });\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\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, [\"event\", \"props\", \"refresh\", \"store\"]);\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);\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}","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 _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, [\"props\", \"refresh\", \"store\"]);\n\n var getEnvironmentProps = function getEnvironmentProps(providedProps) {\n var inputElement = providedProps.inputElement,\n formElement = providedProps.formElement,\n panelElement = providedProps.panelElement,\n rest = _objectWithoutProperties(providedProps, [\"inputElement\", \"formElement\", \"panelElement\"]);\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 onTouchStart: function onTouchStart(event) {\n if (store.getState().isOpen === false || event.target === inputElement) {\n return;\n } // @TODO: support cases where there are multiple Autocomplete instances.\n // Right now, a second instance makes this computation return false.\n\n\n var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {\n return isOrContainsNode(contextNode, event.target) || isOrContainsNode(contextNode, props.environment.document.activeElement);\n });\n\n if (isTargetWithinAutocomplete === false) {\n store.dispatch('blur', null);\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, [\"inputElement\"]);\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, [\"inputElement\", \"maxLength\"]);\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);\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, [\"item\", \"source\"]);\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}","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 { 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 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 isObject = (value: unknown) => value && typeof value === '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 (isObject(accValue) && isObject(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,o,r={},f=[],e=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function c(n,l){for(var u in l)n[u]=l[u];return n}function s(n){var l=n.parentNode;l&&l.removeChild(n)}function a(n,l,u){var i,t,o,r=arguments,f={};for(o in l)\"key\"==o?i=l[o]:\"ref\"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o<arguments.length;o++)u.push(r[o]);if(null!=u&&(f.children=u),\"function\"==typeof n&&null!=n.defaultProps)for(o in n.defaultProps)void 0===f[o]&&(f[o]=n.defaultProps[o]);return v(n,f,i,t,null)}function v(l,u,i,t,o){var r={type:l,props:u,key:i,ref:t,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++n.__v:o};return null!=n.vnode&&n.vnode(r),r}function h(){return{current:null}}function y(n){return n.children}function p(n,l){this.props=n,this.context=l}function d(n,l){if(null==l)return n.__?d(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?d(n):null}function _(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 _(n)}}function k(l){(!l.__d&&(l.__d=!0)&&u.push(l)&&!b.__r++||t!==n.debounceRendering)&&((t=n.debounceRendering)||i)(b)}function b(){for(var n;b.__r=u.length;)n=u.sort(function(n,l){return n.__v.__b-l.__v.__b}),u=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=c({},t)).__v=t.__v+1,I(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?d(t):o,t.__h),T(u,t),t.__e!=o&&_(t)))})}function m(n,l,u,i,t,o,e,c,s,a){var h,p,_,k,b,m,w,A=i&&i.__k||f,P=A.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(k=u.__k[h]=null==(k=l[h])||\"boolean\"==typeof k?null:\"string\"==typeof k||\"number\"==typeof k||\"bigint\"==typeof k?v(null,k,null,null,k):Array.isArray(k)?v(y,{children:k},null,null,null):k.__b>0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(_=A[h])||_&&k.key==_.key&&k.type===_.type)A[h]=void 0;else for(p=0;p<P;p++){if((_=A[p])&&k.key==_.key&&k.type===_.type){A[p]=void 0;break}_=null}I(n,k,_=_||r,t,o,e,c,s,a),b=k.__e,(p=k.ref)&&_.ref!=p&&(w||(w=[]),_.ref&&w.push(_.ref,null,k),w.push(p,k.__c||b,k)),null!=b?(null==m&&(m=b),\"function\"==typeof k.type&&null!=k.__k&&k.__k===_.__k?k.__d=s=g(k,s,n):s=x(n,k,_,A,b,s),a||\"option\"!==u.type?\"function\"==typeof u.type&&(u.__d=s):n.value=\"\"):s&&_.__e==s&&s.parentNode!=n&&(s=d(_))}for(u.__e=m,h=P;h--;)null!=A[h]&&(\"function\"==typeof u.type&&null!=A[h].__e&&A[h].__e==u.__d&&(u.__d=d(i,h+1)),L(A[h],A[h]));if(w)for(h=0;h<w.length;h++)z(w[h],w[++h],w[++h])}function g(n,l,u){var i,t;for(i=0;i<n.__k.length;i++)(t=n.__k[i])&&(t.__=n,l=\"function\"==typeof t.type?g(t,l,u):x(u,t,t,n.__k,t.__e,l));return l}function w(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){w(n,l)}):l.push(n)),l}function x(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function A(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||C(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||C(n,o,l[o],u[o],i)}function P(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||e.test(l)?u:u+\"px\"}function C(n,l,u,i,t){var o;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||P(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||P(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?H:$,o):n.removeEventListener(l,o?H:$,o);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 $(l){this.l[l.type+!1](n.event?n.event(l):l)}function H(l){this.l[l.type+!0](n.event?n.event(l):l)}function I(l,u,i,t,o,r,f,e,s){var a,v,h,d,_,k,b,g,w,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(s=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(a=n.__b)&&a(u);try{n:if(\"function\"==typeof P){if(g=u.props,w=(a=P.contextType)&&t[a.__c],x=a?w?w.props.value:a.__:t,i.__c?b=(v=u.__c=i.__c).__=v.__E:(\"prototype\"in P&&P.prototype.render?u.__c=v=new P(g,x):(u.__c=v=new p(g,x),v.constructor=P,v.render=M),w&&w.sub(v),v.props=g,v.state||(v.state={}),v.context=x,v.__n=t,h=v.__d=!0,v.__h=[]),null==v.__s&&(v.__s=v.state),null!=P.getDerivedStateFromProps&&(v.__s==v.state&&(v.__s=c({},v.__s)),c(v.__s,P.getDerivedStateFromProps(g,v.__s))),d=v.props,_=v.state,h)null==P.getDerivedStateFromProps&&null!=v.componentWillMount&&v.componentWillMount(),null!=v.componentDidMount&&v.__h.push(v.componentDidMount);else{if(null==P.getDerivedStateFromProps&&g!==d&&null!=v.componentWillReceiveProps&&v.componentWillReceiveProps(g,x),!v.__e&&null!=v.shouldComponentUpdate&&!1===v.shouldComponentUpdate(g,v.__s,x)||u.__v===i.__v){v.props=g,v.state=v.__s,u.__v!==i.__v&&(v.__d=!1),v.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),v.__h.length&&f.push(v);break n}null!=v.componentWillUpdate&&v.componentWillUpdate(g,v.__s,x),null!=v.componentDidUpdate&&v.__h.push(function(){v.componentDidUpdate(d,_,k)})}v.context=x,v.props=g,v.state=v.__s,(a=n.__r)&&a(u),v.__d=!1,v.__v=u,v.__P=l,a=v.render(v.props,v.state,v.context),v.state=v.__s,null!=v.getChildContext&&(t=c(c({},t),v.getChildContext())),h||null==v.getSnapshotBeforeUpdate||(k=v.getSnapshotBeforeUpdate(d,_)),A=null!=a&&a.type===y&&null==a.key?a.props.children:a,m(l,Array.isArray(A)?A:[A],u,i,t,o,r,f,e,s),v.base=u.__e,u.__h=null,v.__h.length&&f.push(v),b&&(v.__E=v.__=null),v.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=j(i.__e,u,i,t,o,r,f,s);(a=n.diffed)&&a(u)}catch(l){u.__v=null,(s||null!=r)&&(u.__e=e,u.__h=!!s,r[r.indexOf(e)]=null),n.__e(l,u,i)}}function T(l,u){n.__c&&n.__c(u,l),l.some(function(u){try{l=u.__h,u.__h=[],l.some(function(n){n.call(u)})}catch(l){n.__e(l,u.__v)}})}function j(n,l,u,i,t,o,e,c){var a,v,h,y,p=u.props,d=l.props,_=l.type,k=0;if(\"svg\"===_&&(t=!0),null!=o)for(;k<o.length;k++)if((a=o[k])&&(a===n||(_?a.localName==_:3==a.nodeType))){n=a,o[k]=null;break}if(null==n){if(null===_)return document.createTextNode(d);n=t?document.createElementNS(\"http://www.w3.org/2000/svg\",_):document.createElement(_,d.is&&d),o=null,c=!1}if(null===_)p===d||c&&n.data===d||(n.data=d);else{if(o=o&&f.slice.call(n.childNodes),v=(p=u.props||r).dangerouslySetInnerHTML,h=d.dangerouslySetInnerHTML,!c){if(null!=o)for(p={},y=0;y<n.attributes.length;y++)p[n.attributes[y].name]=n.attributes[y].value;(h||v)&&(h&&(v&&h.__html==v.__html||h.__html===n.innerHTML)||(n.innerHTML=h&&h.__html||\"\"))}if(A(n,d,p,t,c),h)l.__k=[];else if(k=l.props.children,m(n,Array.isArray(k)?k:[k],l,u,i,t&&\"foreignObject\"!==_,o,e,n.firstChild,c),null!=o)for(k=o.length;k--;)null!=o[k]&&s(o[k]);c||(\"value\"in d&&void 0!==(k=d.value)&&(k!==n.value||\"progress\"===_&&!k)&&C(n,\"value\",k,p.value,!1),\"checked\"in d&&void 0!==(k=d.checked)&&k!==n.checked&&C(n,\"checked\",k,p.checked,!1))}return n}function z(l,u,i){try{\"function\"==typeof l?l(u):l.current=u}catch(l){n.__e(l,i)}}function L(l,u,i){var t,o,r;if(n.unmount&&n.unmount(l),(t=l.ref)&&(t.current&&t.current!==l.__e||z(t,null,u)),i||\"function\"==typeof l.type||(i=null!=(o=l.__e)),l.__e=l.__d=void 0,null!=(t=l.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(l){n.__e(l,u)}t.base=t.__P=null}if(t=l.__k)for(r=0;r<t.length;r++)t[r]&&L(t[r],u,i);null!=o&&s(o)}function M(n,l,u){return this.constructor(n,u)}function N(l,u,i){var t,o,e;n.__&&n.__(l,u),o=(t=\"function\"==typeof i)?null:i&&i.__k||u.__k,e=[],I(u,l=(!t&&i||u).__k=a(y,null,[l]),o||r,r,void 0!==u.ownerSVGElement,!t&&i?[i]:o?null:u.firstChild?f.slice.call(u.childNodes):null,e,!t&&i?i:o?o.__e:u.firstChild,t),T(e,l)}function O(n,l){N(n,l,O)}function S(n,l,u){var i,t,o,r=arguments,f=c({},n.props);for(o in l)\"key\"==o?i=l[o]:\"ref\"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o<arguments.length;o++)u.push(r[o]);return null!=u&&(f.children=u),v(n.type,f,i||n.key,t||n.ref,null)}function q(n,l){var u={__c:l=\"__cC\"+o++,__: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(k)},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={__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},__v:0},l=function(n){return null!=n&&void 0===n.constructor},p.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=c({},this.state),\"function\"==typeof n&&(n=n(c({},u),this.props)),n&&c(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),k(this))},p.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),k(this))},p.prototype.render=y,u=[],i=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,b.__r=0,o=0;export{N as render,O as hydrate,a as createElement,a as h,y as Fragment,h as createRef,l as isValidElement,p as Component,S as cloneElement,q as createContext,w as toChildArray,n 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\" && Symbol.iterator in Object(iter)) 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 '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\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\" && Symbol.iterator in Object(iter)) 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}","export var version = '1.3.0';","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 _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\" && Symbol.iterator in Object(iter)) 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 { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nimport { version } from '../version';\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 = [{\n segment: 'autocomplete-core',\n version: version\n }].concat(_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, [\"params\"]);\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 {\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 { 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 })\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","export const version = '1.3.0';\n","import {\n createRequester,\n fetchAlgoliaResults,\n} from '@algolia/autocomplete-preset-algolia';\n\nimport { version } from '../version';\n\nexport const createAlgoliaRequester = createRequester((params) =>\n fetchAlgoliaResults({\n ...params,\n userAgents: [{ segment: 'autocomplete-js', version }],\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","Symbol","iterator","_arr","_n","_d","_e","_i","_s","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","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","getAutocompleteSetters","store","setActiveItemId","setQuery","setCollections","rawValue","baseItemId","item","__autocomplete_id","setIsOpen","setStatus","setContext","getNextActiveItemId","moveAmount","baseIndex","itemCount","defaultActiveItemId","numericIndex","noop","getNormalizedSources","getSources","params","seenSourceIds","Promise","resolve","then","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","lastStalledId","onInput","event","_ref$nextState","nextState","refresh","setters","_nextState$isOpen","_nextState$isOpen2","isPanelOpen","highlightedItem","finally","onKeyDown","triggerScrollIntoView","nodeItem","document","getElementById","scrollIntoViewIfNeeded","scrollIntoView","triggerOnActive","preventDefault","nextActiveItemId","metaKey","ctrlKey","shiftKey","altKey","getPropGetters","getEnvironmentProps","providedProps","inputElement","formElement","panelElement","rest","onTouchStart","isTargetWithinAutocomplete","some","contextNode","activeElement","onTouchMove","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","getCompletion","_getActiveItem","stateReducer","hasOwnProperty","_nextState","createAutocomplete","subscribers","propGetters","Event","_plugin$subscribe","subscribe","ClearIcon","element","createElementNS","setAttribute","appendChild","getHTMLElement","querySelector","mergeClassNames","accValue","currentValue","join","isObject","mergeDeep","setStyle","style","eventProxy","_listeners","setProperty","dom","useCapture","nameLower","oldValue","replace","toLowerCase","addEventListener","removeEventListener","removeAttribute","getNormalizedName","setProperties","setPropertiesWithoutEvents","getCreateDomElement","createDomElement","tagName","children","createElement","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","version","fetchAlgoliaResults","_ref$userAgents","userAgents","addAlgoliaAgent","algoliaAgents","segment","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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AAC,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,IAAI,EAAE,CAAC,CAAC,GAAG,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,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,C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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/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 '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\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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"}
|