@algolia/autocomplete-js 1.2.2 → 1.5.0
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 +1 -0
- 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 +883 -450
- 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/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/utils/flatten.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/getAutocompleteSetters.js","../../../autocomplete-core/dist/esm/getDefaultProps.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}","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(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}","export function flatten(values) {\n return values.reduce(function (a, b) {\n return a.concat(b);\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 } 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), \"The `getSources` function must return an array of sources but returned type \".concat(JSON.stringify(_typeof(sources)), \":\\n\\n\").concat(JSON.stringify(sources, null, 2)));\n return Promise.all(sources // We allow `undefined` and `false` sources to allow users to use\n // `Boolean(query) && source` (=> `false`).\n // We need to remove these values at this point.\n .filter(function (maybeSource) {\n return Boolean(maybeSource);\n }).map(function (source) {\n invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');\n\n if (seenSourceIds.includes(source.sourceId)) {\n throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(source.sourceId), \" is not unique.\"));\n }\n\n seenSourceIds.push(source.sourceId);\n\n var normalizedSource = _objectSpread({\n getItemInputValue: function getItemInputValue(_ref) {\n var state = _ref.state;\n return state.query;\n },\n getItemUrl: function getItemUrl() {\n return undefined;\n },\n onSelect: function onSelect(_ref2) {\n var setIsOpen = _ref2.setIsOpen;\n setIsOpen(false);\n },\n onActive: noop\n }, source);\n\n return Promise.resolve(normalizedSource);\n }));\n });\n}","// We don't have access to the autocomplete source when we call `onKeyDown`\n// or `onClick` because those are native browser events.\n// However, we can get the source from the suggestion index.\nfunction getCollectionFromActiveItemId(state) {\n // Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]\n // We want to get the accumulated counts:\n // [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]\n var accumulatedCollectionsCount = state.collections.map(function (collections) {\n return collections.items.length;\n }).reduce(function (acc, collectionsCount, index) {\n var previousValue = acc[index - 1] || 0;\n var nextValue = previousValue + collectionsCount;\n acc.push(nextValue);\n return acc;\n }, []); // Based on the accumulated counts, we can infer the index of the suggestion.\n\n var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {\n if (current <= state.activeItemId) {\n return acc + 1;\n }\n\n return acc;\n }, 0);\n return state.collections[collectionIndex];\n}\n/**\n * Gets the highlighted index relative to a suggestion object (not the absolute\n * highlighted index).\n *\n * Example:\n * [['a', 'b'], ['c', 'd', 'e'], ['f']]\n * ↑\n * (absolute: 3, relative: 1)\n */\n\n\nfunction getRelativeActiveItemId(_ref) {\n var state = _ref.state,\n collection = _ref.collection;\n var isOffsetFound = false;\n var counter = 0;\n var previousItemsOffset = 0;\n\n while (isOffsetFound === false) {\n var currentCollection = state.collections[counter];\n\n if (currentCollection === collection) {\n isOffsetFound = true;\n break;\n }\n\n previousItemsOffset += currentCollection.items.length;\n counter++;\n }\n\n return state.activeItemId - previousItemsOffset;\n}\n\nexport function getActiveItem(state) {\n var collection = getCollectionFromActiveItemId(state);\n\n if (!collection) {\n return null;\n }\n\n var item = collection.items[getRelativeActiveItemId({\n state: state,\n collection: collection\n })];\n var source = collection.source;\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: state\n });\n return {\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n source: source\n };\n}","export function isOrContainsNode(parent, child) {\n return parent === child || parent.contains(child);\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function mapToAlgoliaResponse(rawResults) {\n var results = rawResults.map(function (result) {\n var _hits;\n\n return _objectSpread(_objectSpread({}, result), {}, {\n hits: (_hits = result.hits) === null || _hits === void 0 ? void 0 : _hits.map(function (hit) {\n // Bring support for the Insights plugin.\n return _objectSpread(_objectSpread({}, hit), {}, {\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID\n });\n })\n });\n });\n return {\n results: results,\n hits: results.map(function (result) {\n return result.hits;\n }).filter(Boolean),\n facetHits: results.map(function (result) {\n var _facetHits;\n\n return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {\n // Bring support for the highlighting components.\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted\n }\n }\n };\n });\n }).filter(Boolean)\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { flatten } from './utils';\nexport function getAutocompleteSetters(_ref) {\n var store = _ref.store;\n\n var setActiveItemId = function setActiveItemId(value) {\n store.dispatch('setActiveItemId', value);\n };\n\n var setQuery = function setQuery(value) {\n store.dispatch('setQuery', value);\n };\n\n var setCollections = function setCollections(rawValue) {\n var baseItemId = 0;\n var value = rawValue.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n // We flatten the stored items to support calling `getAlgoliaResults`\n // from the source itself.\n items: flatten(collection.items).map(function (item) {\n return _objectSpread(_objectSpread({}, item), {}, {\n __autocomplete_id: baseItemId++\n });\n })\n });\n });\n store.dispatch('setCollections', value);\n };\n\n var setIsOpen = function setIsOpen(value) {\n store.dispatch('setIsOpen', value);\n };\n\n var setStatus = function setStatus(value) {\n store.dispatch('setStatus', value);\n };\n\n var setContext = function setContext(value) {\n store.dispatch('setContext', value);\n };\n\n return {\n setActiveItemId: setActiveItemId,\n setQuery: setQuery,\n setCollections: setCollections,\n setIsOpen: setIsOpen,\n setStatus: setStatus,\n setContext: setContext\n };\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && 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 } from '@algolia/autocomplete-shared';\nimport { getNormalizedSources, flatten } 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 }, 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(_ref2) {\n var itemUrl = _ref2.itemUrl;\n environment.location.assign(itemUrl);\n },\n navigateNewTab: function navigateNewTab(_ref3) {\n var itemUrl = _ref3.itemUrl;\n var windowReference = environment.open(itemUrl, '_blank', 'noopener');\n windowReference === null || windowReference === void 0 ? void 0 : windowReference.focus();\n },\n navigateNewWindow: function navigateNewWindow(_ref4) {\n var itemUrl = _ref4.itemUrl;\n environment.open(itemUrl, '_blank', 'noopener');\n }\n }, props.navigator)\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 { invariant } from '@algolia/autocomplete-shared';\nimport { flatten, 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), \"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(items, null, 2), \".\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\"));\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 { 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 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.2.2';","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.2.2';\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","autocompleteId","generateAutocompleteId","concat","getAttributeValueByPath","record","path","reduce","key","getItemsCount","state","collections","sum","collection","items","invariant","condition","message","Error","warnCache","warn","sanitizedMessage","trim","hasAlreadyPrinted","console","checkOptions","options","process","debug","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","createStore","reducer","props","onStoreStateChange","initialState","getState","dispatch","action","payload","prevState","type","flatten","values","a","b","getNextActiveItemId","moveAmount","baseIndex","itemCount","defaultActiveItemId","numericIndex","noop","_typeof","Symbol","iterator","constructor","prototype","getNormalizedSources","getSources","params","seenSourceIds","Promise","resolve","then","sources","isArray","JSON","stringify","all","maybeSource","Boolean","map","sourceId","includes","normalizedSource","getItemInputValue","_ref","query","getItemUrl","onSelect","_ref2","setIsOpen","onActive","getCollectionFromActiveItemId","accumulatedCollectionsCount","acc","collectionsCount","index","previousValue","nextValue","collectionIndex","activeItemId","getRelativeActiveItemId","isOffsetFound","counter","previousItemsOffset","currentCollection","getActiveItem","item","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","getAutocompleteSetters","store","setActiveItemId","setQuery","setCollections","rawValue","baseItemId","__autocomplete_id","setStatus","setContext","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","call","slice","name","from","test","iter","len","arr2","getDefaultProps","pluginSubscribers","_props$id","environment","window","plugins","openOnFocus","placeholder","autoFocus","stallThreshold","shouldPanelOpen","id","completion","isOpen","status","context","onStateChange","_props$onStateChange","x","_x$onStateChange","onSubmit","_props$onSubmit","_x$onSubmit","onReset","_props$onReset","_x$onReset","plugin","nested","_x$onSelect","_x$onActive","navigator","navigate","location","assign","navigateNewTab","_ref3","windowReference","open","focus","navigateNewWindow","_ref4","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","getItems","_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","add","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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AAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,O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C,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAA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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.0';","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 };\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 return function runConcurrentSafePromise(promise) {\n basePromiseId++;\n var currentPromiseId = basePromiseId;\n return Promise.resolve(promise).then(function (x) {\n // The promise might take too long to resolve and get outdated. This would\n // result in resolving stale values.\n // When this happens, we ignore the promise value and return the one\n // coming from the latest resolved value.\n //\n // +----------------------------------+\n // | 100ms |\n // | run(1) +---> R1 |\n // | 300ms |\n // | run(2) +-------------> R2 (SKIP) |\n // | 200ms |\n // | run(3) +--------> R3 |\n // +----------------------------------+\n if (latestResolvedValue && currentPromiseId < latestResolvedId) {\n return latestResolvedValue;\n }\n\n latestResolvedId = currentPromiseId;\n latestResolvedValue = x;\n return x;\n });\n };\n}","/**\n * Returns the next active item ID from the current state.\n *\n * We allow circular keyboard navigation from the base index.\n * The base index can either be `null` (nothing is highlighted) or `0`\n * (the first item is highlighted).\n * The base index is allowed to get assigned `null` only if\n * `props.defaultActiveItemId` is `null`. This pattern allows to \"stop\"\n * by the actual query before navigating to other suggestions as seen on\n * Google or Amazon.\n *\n * @param moveAmount The offset to increment (or decrement) the last index\n * @param baseIndex The current index to compute the next index from\n * @param itemCount The number of items\n * @param defaultActiveItemId The default active index to fallback to\n */\nexport function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) {\n if (!itemCount) {\n return null;\n }\n\n if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) {\n return itemCount + moveAmount;\n }\n\n var numericIndex = (baseIndex === null ? -1 : baseIndex) + moveAmount;\n\n if (numericIndex <= -1 || numericIndex >= itemCount) {\n return defaultActiveItemId === null ? null : 0;\n }\n\n return numericIndex;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { invariant, decycle, noop } from '@algolia/autocomplete-shared';\nexport function getNormalizedSources(getSources, params) {\n var seenSourceIds = [];\n return Promise.resolve(getSources(params)).then(function (sources) {\n invariant(Array.isArray(sources), function () {\n return \"The `getSources` function must return an array of sources but returned type \".concat(JSON.stringify(_typeof(sources)), \":\\n\\n\").concat(JSON.stringify(decycle(sources), null, 2));\n });\n return Promise.all(sources // We allow `undefined` and `false` sources to allow users to use\n // `Boolean(query) && source` (=> `false`).\n // We need to remove these values at this point.\n .filter(function (maybeSource) {\n return Boolean(maybeSource);\n }).map(function (source) {\n invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');\n\n if (seenSourceIds.includes(source.sourceId)) {\n throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(source.sourceId), \" is not unique.\"));\n }\n\n seenSourceIds.push(source.sourceId);\n\n var normalizedSource = _objectSpread({\n getItemInputValue: function getItemInputValue(_ref) {\n var state = _ref.state;\n return state.query;\n },\n getItemUrl: function getItemUrl() {\n return undefined;\n },\n onSelect: function onSelect(_ref2) {\n var setIsOpen = _ref2.setIsOpen;\n setIsOpen(false);\n },\n onActive: noop\n }, source);\n\n return Promise.resolve(normalizedSource);\n }));\n });\n}","// We don't have access to the autocomplete source when we call `onKeyDown`\n// or `onClick` because those are native browser events.\n// However, we can get the source from the suggestion index.\nfunction getCollectionFromActiveItemId(state) {\n // Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]\n // We want to get the accumulated counts:\n // [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]\n var accumulatedCollectionsCount = state.collections.map(function (collections) {\n return collections.items.length;\n }).reduce(function (acc, collectionsCount, index) {\n var previousValue = acc[index - 1] || 0;\n var nextValue = previousValue + collectionsCount;\n acc.push(nextValue);\n return acc;\n }, []); // Based on the accumulated counts, we can infer the index of the suggestion.\n\n var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {\n if (current <= state.activeItemId) {\n return acc + 1;\n }\n\n return acc;\n }, 0);\n return state.collections[collectionIndex];\n}\n/**\n * Gets the highlighted index relative to a suggestion object (not the absolute\n * highlighted index).\n *\n * Example:\n * [['a', 'b'], ['c', 'd', 'e'], ['f']]\n * ↑\n * (absolute: 3, relative: 1)\n */\n\n\nfunction getRelativeActiveItemId(_ref) {\n var state = _ref.state,\n collection = _ref.collection;\n var isOffsetFound = false;\n var counter = 0;\n var previousItemsOffset = 0;\n\n while (isOffsetFound === false) {\n var currentCollection = state.collections[counter];\n\n if (currentCollection === collection) {\n isOffsetFound = true;\n break;\n }\n\n previousItemsOffset += currentCollection.items.length;\n counter++;\n }\n\n return state.activeItemId - previousItemsOffset;\n}\n\nexport function getActiveItem(state) {\n var collection = getCollectionFromActiveItemId(state);\n\n if (!collection) {\n return null;\n }\n\n var item = collection.items[getRelativeActiveItemId({\n state: state,\n collection: collection\n })];\n var source = collection.source;\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: state\n });\n return {\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n source: source\n };\n}","export function isOrContainsNode(parent, child) {\n return parent === child || parent.contains(child);\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function mapToAlgoliaResponse(rawResults) {\n var results = rawResults.map(function (result) {\n var _hits;\n\n return _objectSpread(_objectSpread({}, result), {}, {\n hits: (_hits = result.hits) === null || _hits === void 0 ? void 0 : _hits.map(function (hit) {\n // Bring support for the Insights plugin.\n return _objectSpread(_objectSpread({}, hit), {}, {\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID\n });\n })\n });\n });\n return {\n results: results,\n hits: results.map(function (result) {\n return result.hits;\n }).filter(Boolean),\n facetHits: results.map(function (result) {\n var _facetHits;\n\n return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {\n // Bring support for the highlighting components.\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted\n }\n }\n };\n });\n }).filter(Boolean)\n };\n}","function _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 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}","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);\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 if (store.getState().isOpen === false || 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);\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);\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[_])&&(s===l||(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)&&(_!==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","getAutocompleteSetters","store","setActiveItemId","setQuery","setCollections","rawValue","baseItemId","item","__autocomplete_id","setIsOpen","setStatus","setContext","createConcurrentSafePromise","basePromiseId","latestResolvedId","latestResolvedValue","runConcurrentSafePromise","promise","currentPromiseId","Promise","resolve","then","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","finally","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","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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C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,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,CAA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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,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"}
|