@algolia/autocomplete-core
Advanced tools
Comparing version 1.0.0-alpha.38 to 1.0.0-alpha.39
@@ -50,5 +50,5 @@ 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; } | ||
}, | ||
onHighlight: function onHighlight(fn) { | ||
onActive: function onActive(fn) { | ||
subscribers.push({ | ||
onHighlight: fn | ||
onActive: fn | ||
}); | ||
@@ -55,0 +55,0 @@ } |
@@ -6,3 +6,3 @@ import { AutocompleteCollection, AutocompleteStore, BaseItem } from './types'; | ||
export declare function getAutocompleteSetters<TItem extends BaseItem>({ store, }: GetAutocompleteSettersOptions<TItem>): { | ||
setSelectedItemId: import("./types").StateUpdater<number | null>; | ||
setActiveItemId: import("./types").StateUpdater<number | null>; | ||
setQuery: import("./types").StateUpdater<string>; | ||
@@ -9,0 +9,0 @@ setCollections: import("./types").StateUpdater<(AutocompleteCollection<TItem> | import("./types").AutocompleteCollectionItemsArray<TItem>)[]>; |
@@ -11,4 +11,4 @@ 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; } | ||
var setSelectedItemId = function setSelectedItemId(value) { | ||
store.dispatch('setSelectedItemId', value); | ||
var setActiveItemId = function setActiveItemId(value) { | ||
store.dispatch('setActiveItemId', value); | ||
}; | ||
@@ -49,3 +49,3 @@ | ||
return { | ||
setSelectedItemId: setSelectedItemId, | ||
setActiveItemId: setActiveItemId, | ||
setQuery: setQuery, | ||
@@ -52,0 +52,0 @@ setCollections: setCollections, |
@@ -1,10 +0,10 @@ | ||
import { getSelectedItem } from './utils'; | ||
import { getActiveItem } from './utils'; | ||
export function getCompletion(_ref) { | ||
var state = _ref.state; | ||
if (state.isOpen === false || state.selectedItemId === null) { | ||
if (state.isOpen === false || state.activeItemId === null) { | ||
return null; | ||
} | ||
var _ref2 = getSelectedItem(state), | ||
var _ref2 = getActiveItem(state), | ||
itemInputValue = _ref2.itemInputValue; | ||
@@ -11,0 +11,0 @@ |
@@ -19,3 +19,4 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } | ||
import { generateAutocompleteId, getItemsCount, getNormalizedSources, flatten } from './utils'; | ||
import { getItemsCount } from '@algolia/autocomplete-shared'; | ||
import { generateAutocompleteId, getNormalizedSources, flatten } from './utils'; | ||
export function getDefaultProps(props, pluginSubscribers) { | ||
@@ -31,3 +32,3 @@ var _props$id; | ||
autoFocus: false, | ||
defaultSelectedItemId: null, | ||
defaultActiveItemId: null, | ||
stallThreshold: 300, | ||
@@ -46,3 +47,3 @@ environment: environment, | ||
initialState: _objectSpread({ | ||
selectedItemId: null, | ||
activeItemId: null, | ||
query: '', | ||
@@ -103,8 +104,8 @@ completion: null, | ||
}, | ||
onHighlight: function onHighlight(params) { | ||
source.onHighlight(params); | ||
onActive: function onActive(params) { | ||
source.onActive(params); | ||
pluginSubscribers.forEach(function (x) { | ||
var _x$onHighlight; | ||
var _x$onActive; | ||
return (_x$onHighlight = x.onHighlight) === null || _x$onHighlight === void 0 ? void 0 : _x$onHighlight.call(x, params); | ||
return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params); | ||
}); | ||
@@ -111,0 +112,0 @@ } |
@@ -13,3 +13,3 @@ 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; } | ||
import { onKeyDown as _onKeyDown } from './onKeyDown'; | ||
import { getSelectedItem, isOrContainsNode } from './utils'; | ||
import { getActiveItem, isOrContainsNode } from './utils'; | ||
export function getPropGetters(_ref) { | ||
@@ -106,3 +106,3 @@ var props = _ref.props, | ||
// because the panel should open with the current query. | ||
if (props.openOnFocus || store.getState().query.length > 0) { | ||
if (props.openOnFocus || Boolean(store.getState().query)) { | ||
onInput(_objectSpread({ | ||
@@ -128,6 +128,6 @@ event: event, | ||
var selectedItem = getSelectedItem(store.getState()); | ||
var activeItem = getActiveItem(store.getState()); | ||
return _objectSpread({ | ||
'aria-autocomplete': 'both', | ||
'aria-activedescendant': store.getState().isOpen && store.getState().selectedItemId !== null ? "".concat(props.id, "-item-").concat(store.getState().selectedItemId) : undefined, | ||
'aria-activedescendant': store.getState().isOpen && store.getState().activeItemId !== null ? "".concat(props.id, "-item-").concat(store.getState().activeItemId) : undefined, | ||
'aria-controls': store.getState().isOpen ? "".concat(props.id, "-list") : undefined, | ||
@@ -140,3 +140,3 @@ 'aria-labelledby': "".concat(props.id, "-label"), | ||
autoCapitalize: 'off', | ||
enterKeyHint: selectedItem !== null && selectedItem !== void 0 && selectedItem.itemUrl ? 'go' : 'search', | ||
enterKeyHint: activeItem !== null && activeItem !== void 0 && activeItem.itemUrl ? 'go' : 'search', | ||
spellCheck: 'false', | ||
@@ -224,5 +224,5 @@ autoFocus: props.autoFocus, | ||
role: 'option', | ||
'aria-selected': store.getState().selectedItemId === item.__autocomplete_id, | ||
'aria-selected': store.getState().activeItemId === item.__autocomplete_id, | ||
onMouseMove: function onMouseMove(event) { | ||
if (item.__autocomplete_id === store.getState().selectedItemId) { | ||
if (item.__autocomplete_id === store.getState().activeItemId) { | ||
return; | ||
@@ -232,11 +232,11 @@ } | ||
store.dispatch('mousemove', item.__autocomplete_id); | ||
var highlightedItem = getSelectedItem(store.getState()); | ||
var activeItem = getActiveItem(store.getState()); | ||
if (store.getState().selectedItemId !== null && highlightedItem) { | ||
var _item = highlightedItem.item, | ||
itemInputValue = highlightedItem.itemInputValue, | ||
itemUrl = highlightedItem.itemUrl, | ||
_source = highlightedItem.source; | ||
if (store.getState().activeItemId !== null && activeItem) { | ||
var _item = activeItem.item, | ||
itemInputValue = activeItem.itemInputValue, | ||
itemUrl = activeItem.itemUrl, | ||
_source = activeItem.source; | ||
_source.onHighlight(_objectSpread({ | ||
_source.onActive(_objectSpread({ | ||
event: event, | ||
@@ -268,3 +268,3 @@ item: _item, | ||
// We can therefore skip the state change because it will update | ||
// the `selectedItemId`, resulting in a UI flash, especially | ||
// the `activeItemId`, resulting in a UI flash, especially | ||
// noticeable on mobile. | ||
@@ -271,0 +271,0 @@ |
@@ -14,3 +14,3 @@ 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); } | ||
import { invariant } from '@algolia/autocomplete-shared'; | ||
import { getSelectedItem } from './utils'; | ||
import { getActiveItem } from './utils'; | ||
var lastStalledId = null; | ||
@@ -42,8 +42,8 @@ export function onInput(_ref) { | ||
setQuery = setters.setQuery, | ||
setSelectedItemId = setters.setSelectedItemId, | ||
setActiveItemId = setters.setActiveItemId, | ||
setStatus = setters.setStatus; | ||
setQuery(query); | ||
setSelectedItemId(props.defaultSelectedItemId); | ||
setActiveItemId(props.defaultActiveItemId); | ||
if (query.length === 0 && props.openOnFocus === false) { | ||
if (!query && props.openOnFocus === false) { | ||
var _nextState$isOpen; | ||
@@ -91,8 +91,8 @@ | ||
setCollections(collections); | ||
setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : query.length === 0 && props.openOnFocus || props.shouldPanelShow({ | ||
setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : !query && props.openOnFocus || props.shouldPanelShow({ | ||
state: store.getState() | ||
})); | ||
var highlightedItem = getSelectedItem(store.getState()); | ||
var highlightedItem = getActiveItem(store.getState()); | ||
if (store.getState().selectedItemId !== null && highlightedItem) { | ||
if (store.getState().activeItemId !== null && highlightedItem) { | ||
var item = highlightedItem.item, | ||
@@ -102,3 +102,3 @@ itemInputValue = highlightedItem.itemInputValue, | ||
source = highlightedItem.source; | ||
source.onHighlight(_objectSpread({ | ||
source.onActive(_objectSpread({ | ||
event: event, | ||
@@ -105,0 +105,0 @@ item: item, |
@@ -12,3 +12,3 @@ 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; } | ||
import { onInput } from './onInput'; | ||
import { getSelectedItem } from './utils'; | ||
import { getActiveItem } from './utils'; | ||
export function onKeyDown(_ref) { | ||
@@ -26,3 +26,3 @@ var event = _ref.event, | ||
store.dispatch(event.key, null); | ||
var nodeItem = props.environment.document.getElementById("".concat(props.id, "-item-").concat(store.getState().selectedItemId)); | ||
var nodeItem = props.environment.document.getElementById("".concat(props.id, "-item-").concat(store.getState().activeItemId)); | ||
@@ -37,5 +37,5 @@ if (nodeItem) { | ||
var highlightedItem = getSelectedItem(store.getState()); | ||
var highlightedItem = getActiveItem(store.getState()); | ||
if (store.getState().selectedItemId !== null && highlightedItem) { | ||
if (store.getState().activeItemId !== null && highlightedItem) { | ||
var item = highlightedItem.item, | ||
@@ -45,3 +45,3 @@ itemInputValue = highlightedItem.itemInputValue, | ||
source = highlightedItem.source; | ||
source.onHighlight(_objectSpread({ | ||
source.onActive(_objectSpread({ | ||
event: event, | ||
@@ -63,5 +63,5 @@ item: item, | ||
} else if (event.key === 'Enter') { | ||
// No item is selected, so we let the browser handle the native `onSubmit` | ||
// form event. | ||
if (store.getState().selectedItemId === null || store.getState().collections.every(function (collection) { | ||
// No active item, so we let the browser handle the native `onSubmit` form | ||
// event. | ||
if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) { | ||
return collection.items.length === 0; | ||
@@ -76,3 +76,3 @@ })) { | ||
var _ref2 = getSelectedItem(store.getState()), | ||
var _ref2 = getActiveItem(store.getState()), | ||
_item = _ref2.item, | ||
@@ -79,0 +79,0 @@ _itemInputValue = _ref2.itemInputValue, |
@@ -7,11 +7,11 @@ 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; } | ||
import { invariant } from '@algolia/autocomplete-shared'; | ||
import { getItemsCount, invariant } from '@algolia/autocomplete-shared'; | ||
import { getCompletion } from './getCompletion'; | ||
import { getItemsCount, getNextSelectedItemId } from './utils'; | ||
import { getNextActiveItemId } from './utils'; | ||
export var stateReducer = function stateReducer(state, action) { | ||
switch (action.type) { | ||
case 'setSelectedItemId': | ||
case 'setActiveItemId': | ||
{ | ||
return _objectSpread(_objectSpread({}, state), {}, { | ||
selectedItemId: action.payload | ||
activeItemId: action.payload | ||
}); | ||
@@ -59,3 +59,3 @@ } | ||
var nextState = _objectSpread(_objectSpread({}, state), {}, { | ||
selectedItemId: getNextSelectedItemId(1, state.selectedItemId, getItemsCount(state), action.props.defaultSelectedItemId) | ||
activeItemId: getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId) | ||
}); | ||
@@ -73,3 +73,3 @@ | ||
var _nextState = _objectSpread(_objectSpread({}, state), {}, { | ||
selectedItemId: getNextSelectedItemId(-1, state.selectedItemId, getItemsCount(state), action.props.defaultSelectedItemId) | ||
activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId) | ||
}); | ||
@@ -103,3 +103,3 @@ | ||
return _objectSpread(_objectSpread({}, state), {}, { | ||
selectedItemId: null, | ||
activeItemId: null, | ||
isOpen: false, | ||
@@ -113,7 +113,7 @@ status: 'idle' | ||
return _objectSpread(_objectSpread({}, state), {}, { | ||
selectedItemId: // Since we open the panel on reset when openOnFocus=true | ||
// we need to restore the highlighted index to the defaultSelectedItemId. (DocSearch use-case) | ||
activeItemId: // Since we open the panel on reset when openOnFocus=true | ||
// we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case) | ||
// Since we close the panel when openOnFocus=false | ||
// we lose track of the highlighted index. (Query-suggestions use-case) | ||
action.props.openOnFocus === true ? action.props.defaultSelectedItemId : null, | ||
action.props.openOnFocus === true ? action.props.defaultActiveItemId : null, | ||
status: 'idle', | ||
@@ -127,4 +127,4 @@ query: '' | ||
return _objectSpread(_objectSpread({}, state), {}, { | ||
selectedItemId: action.props.defaultSelectedItemId, | ||
isOpen: action.props.openOnFocus || state.query.length > 0 | ||
activeItemId: action.props.defaultActiveItemId, | ||
isOpen: action.props.openOnFocus || Boolean(state.query) | ||
}); | ||
@@ -141,3 +141,3 @@ } | ||
isOpen: false, | ||
selectedItemId: null | ||
activeItemId: null | ||
}); | ||
@@ -149,3 +149,3 @@ } | ||
return _objectSpread(_objectSpread({}, state), {}, { | ||
selectedItemId: action.payload | ||
activeItemId: action.payload | ||
}); | ||
@@ -157,3 +157,3 @@ } | ||
return _objectSpread(_objectSpread({}, state), {}, { | ||
selectedItemId: action.props.defaultSelectedItemId | ||
activeItemId: action.props.defaultActiveItemId | ||
}); | ||
@@ -160,0 +160,0 @@ } |
@@ -60,3 +60,3 @@ import { MaybePromise } from '@algolia/autocomplete-shared'; | ||
*/ | ||
defaultSelectedItemId?: number | null; | ||
defaultActiveItemId?: number | null; | ||
/** | ||
@@ -130,3 +130,3 @@ * Whether to open the panel on focus when there's no query. | ||
autoFocus: boolean; | ||
defaultSelectedItemId: number | null; | ||
defaultActiveItemId: number | null; | ||
openOnFocus: boolean; | ||
@@ -133,0 +133,0 @@ stallThreshold: number; |
@@ -8,3 +8,3 @@ import { BaseItem } from './AutocompleteApi'; | ||
onSelect(fn: PluginSubscriber<OnSelectParams<TItem>>): void; | ||
onHighlight(fn: PluginSubscriber<OnHighlightParams<TItem>>): void; | ||
onActive(fn: PluginSubscriber<OnHighlightParams<TItem>>): void; | ||
} | ||
@@ -11,0 +11,0 @@ export declare type AutocompletePlugin<TItem extends BaseItem, TData = unknown> = Partial<Pick<AutocompleteOptions<TItem>, 'onStateChange' | 'onSubmit' | 'onReset' | 'getSources'>> & { |
@@ -6,3 +6,3 @@ import { BaseItem } from './AutocompleteApi'; | ||
export interface AutocompleteSetters<TItem extends BaseItem> { | ||
setSelectedItemId: StateUpdater<AutocompleteState<TItem>['selectedItemId']>; | ||
setActiveItemId: StateUpdater<AutocompleteState<TItem>['activeItemId']>; | ||
setQuery: StateUpdater<AutocompleteState<TItem>['query']>; | ||
@@ -9,0 +9,0 @@ setCollections: StateUpdater<Array<AutocompleteCollection<TItem> | AutocompleteCollectionItemsArray<TItem>>>; |
@@ -44,3 +44,3 @@ import { MaybePromise } from '@algolia/autocomplete-shared'; | ||
*/ | ||
onHighlight?(params: OnHighlightParams<TItem>): void; | ||
onActive?(params: OnHighlightParams<TItem>): void; | ||
} | ||
@@ -47,0 +47,0 @@ export declare type InternalAutocompleteSource<TItem extends BaseItem> = { |
@@ -5,3 +5,3 @@ import { BaseItem } from './AutocompleteApi'; | ||
export interface AutocompleteState<TItem extends BaseItem> { | ||
selectedItemId: number | null; | ||
activeItemId: number | null; | ||
query: string; | ||
@@ -8,0 +8,0 @@ completion: string | null; |
@@ -14,3 +14,3 @@ import { BaseItem } from './AutocompleteApi'; | ||
}; | ||
declare type ActionType = 'setSelectedItemId' | 'setQuery' | 'setCollections' | 'setIsOpen' | 'setStatus' | 'setContext' | 'ArrowUp' | 'ArrowDown' | 'Escape' | 'Enter' | 'submit' | 'reset' | 'focus' | 'blur' | 'mousemove' | 'mouseleave' | 'click'; | ||
declare type ActionType = 'setActiveItemId' | 'setQuery' | 'setCollections' | 'setIsOpen' | 'setStatus' | 'setContext' | 'ArrowUp' | 'ArrowDown' | 'Escape' | 'Enter' | 'submit' | 'reset' | 'focus' | 'blur' | 'mousemove' | 'mouseleave' | 'click'; | ||
export {}; |
@@ -5,4 +5,4 @@ import { BaseItem } from './AutocompleteApi'; | ||
onSelect(params: OnSelectParams<TItem>): void; | ||
onHighlight(params: OnHighlightParams<TItem>): void; | ||
onActive(params: OnHighlightParams<TItem>): void; | ||
}; | ||
export declare type AutocompleteSubscribers<TItem extends BaseItem> = Array<Partial<AutocompleteSubscriber<TItem>>>; |
@@ -32,3 +32,3 @@ 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; } | ||
}, | ||
onHighlight: noop | ||
onActive: noop | ||
}, source); | ||
@@ -35,0 +35,0 @@ |
export * from './createConcurrentSafePromise'; | ||
export * from './flatten'; | ||
export * from './generateAutocompleteId'; | ||
export * from './getItemsCount'; | ||
export * from './getNextSelectedItemId'; | ||
export * from './getNextActiveItemId'; | ||
export * from './getNormalizedSources'; | ||
export * from './getSelectedItem'; | ||
export * from './getActiveItem'; | ||
export * from './isOrContainsNode'; | ||
export * from './noop'; |
export * from './createConcurrentSafePromise'; | ||
export * from './flatten'; | ||
export * from './generateAutocompleteId'; | ||
export * from './getItemsCount'; | ||
export * from './getNextSelectedItemId'; | ||
export * from './getNextActiveItemId'; | ||
export * from './getNormalizedSources'; | ||
export * from './getSelectedItem'; | ||
export * from './getActiveItem'; | ||
export * from './isOrContainsNode'; | ||
export * from './noop'; |
@@ -1,1 +0,1 @@ | ||
export declare const version = "1.0.0-alpha.38"; | ||
export declare const version = "1.0.0-alpha.39"; |
@@ -1,1 +0,1 @@ | ||
export var version = '1.0.0-alpha.38'; | ||
export var version = '1.0.0-alpha.39'; |
@@ -1,2 +0,2 @@ | ||
/*! @algolia/autocomplete-core 1.0.0-alpha.38 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete.js */ | ||
/*! @algolia/autocomplete-core 1.0.0-alpha.39 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete.js */ | ||
(function (global, factory) { | ||
@@ -142,2 +142,12 @@ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : | ||
function getItemsCount(state) { | ||
if (state.collections.length === 0) { | ||
return 0; | ||
} | ||
return state.collections.reduce(function (sum, collection) { | ||
return sum + collection.items.length; | ||
}, 0); | ||
} | ||
/** | ||
@@ -216,14 +226,4 @@ * Throws an error if the condition is not met in development mode. | ||
function getItemsCount(state) { | ||
if (state.collections.length === 0) { | ||
return 0; | ||
} | ||
return state.collections.reduce(function (sum, collection) { | ||
return sum + collection.items.length; | ||
}, 0); | ||
} | ||
/** | ||
* Returns the next selected item ID from the current state. | ||
* Returns the next active item ID from the current state. | ||
* | ||
@@ -234,3 +234,3 @@ * We allow circular keyboard navigation from the base index. | ||
* The base index is allowed to get assigned `null` only if | ||
* `props.defaultSelectedItemId` is `null`. This pattern allows to "stop" | ||
* `props.defaultActiveItemId` is `null`. This pattern allows to "stop" | ||
* by the actual query before navigating to other suggestions as seen on | ||
@@ -242,6 +242,6 @@ * Google or Amazon. | ||
* @param itemCount The number of items | ||
* @param defaultSelectedItemId The default selected index to fallback to | ||
* @param defaultActiveItemId The default active index to fallback to | ||
*/ | ||
function getNextSelectedItemId(moveAmount, baseIndex, itemCount, defaultSelectedItemId) { | ||
if (moveAmount < 0 && (baseIndex === null || defaultSelectedItemId !== null && baseIndex === 0)) { | ||
function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) { | ||
if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) { | ||
return itemCount + moveAmount; | ||
@@ -253,3 +253,3 @@ } | ||
if (numericIndex <= -1 || numericIndex >= itemCount) { | ||
return defaultSelectedItemId === null ? null : 0; | ||
return defaultActiveItemId === null ? null : 0; | ||
} | ||
@@ -283,3 +283,3 @@ | ||
}, | ||
onHighlight: noop | ||
onActive: noop | ||
}, source); | ||
@@ -295,3 +295,3 @@ | ||
// However, we can get the source from the suggestion index. | ||
function getCollectionFromSelectedItemId(state) { | ||
function getCollectionFromActiveItemId(state) { | ||
// Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3] | ||
@@ -310,3 +310,3 @@ // We want to get the accumulated counts: | ||
var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) { | ||
if (current <= state.selectedItemId) { | ||
if (current <= state.activeItemId) { | ||
return acc + 1; | ||
@@ -330,3 +330,3 @@ } | ||
function getRelativeSelectedItemId(_ref) { | ||
function getRelativeActiveItemId(_ref) { | ||
var state = _ref.state, | ||
@@ -350,7 +350,7 @@ collection = _ref.collection; | ||
return state.selectedItemId - previousItemsOffset; | ||
return state.activeItemId - previousItemsOffset; | ||
} | ||
function getSelectedItem(state) { | ||
var collection = getCollectionFromSelectedItemId(state); | ||
function getActiveItem(state) { | ||
var collection = getCollectionFromActiveItemId(state); | ||
@@ -361,3 +361,3 @@ if (!collection) { | ||
var item = collection.items[getRelativeSelectedItemId({ | ||
var item = collection.items[getRelativeActiveItemId({ | ||
state: state, | ||
@@ -390,4 +390,4 @@ collection: collection | ||
var setSelectedItemId = function setSelectedItemId(value) { | ||
store.dispatch('setSelectedItemId', value); | ||
var setActiveItemId = function setActiveItemId(value) { | ||
store.dispatch('setActiveItemId', value); | ||
}; | ||
@@ -428,3 +428,3 @@ | ||
return { | ||
setSelectedItemId: setSelectedItemId, | ||
setActiveItemId: setActiveItemId, | ||
setQuery: setQuery, | ||
@@ -448,3 +448,3 @@ setCollections: setCollections, | ||
autoFocus: false, | ||
defaultSelectedItemId: null, | ||
defaultActiveItemId: null, | ||
stallThreshold: 300, | ||
@@ -463,3 +463,3 @@ environment: environment, | ||
initialState: _objectSpread2({ | ||
selectedItemId: null, | ||
activeItemId: null, | ||
query: '', | ||
@@ -520,8 +520,8 @@ completion: null, | ||
}, | ||
onHighlight: function onHighlight(params) { | ||
source.onHighlight(params); | ||
onActive: function onActive(params) { | ||
source.onActive(params); | ||
pluginSubscribers.forEach(function (x) { | ||
var _x$onHighlight; | ||
var _x$onActive; | ||
return (_x$onHighlight = x.onHighlight) === null || _x$onHighlight === void 0 ? void 0 : _x$onHighlight.call(x, params); | ||
return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params); | ||
}); | ||
@@ -577,8 +577,8 @@ } | ||
setQuery = setters.setQuery, | ||
setSelectedItemId = setters.setSelectedItemId, | ||
setActiveItemId = setters.setActiveItemId, | ||
setStatus = setters.setStatus; | ||
setQuery(query); | ||
setSelectedItemId(props.defaultSelectedItemId); | ||
setActiveItemId(props.defaultActiveItemId); | ||
if (query.length === 0 && props.openOnFocus === false) { | ||
if (!query && props.openOnFocus === false) { | ||
var _nextState$isOpen; | ||
@@ -626,8 +626,8 @@ | ||
setCollections(collections); | ||
setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : query.length === 0 && props.openOnFocus || props.shouldPanelShow({ | ||
setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : !query && props.openOnFocus || props.shouldPanelShow({ | ||
state: store.getState() | ||
})); | ||
var highlightedItem = getSelectedItem(store.getState()); | ||
var highlightedItem = getActiveItem(store.getState()); | ||
if (store.getState().selectedItemId !== null && highlightedItem) { | ||
if (store.getState().activeItemId !== null && highlightedItem) { | ||
var item = highlightedItem.item, | ||
@@ -637,3 +637,3 @@ itemInputValue = highlightedItem.itemInputValue, | ||
source = highlightedItem.source; | ||
source.onHighlight(_objectSpread2({ | ||
source.onActive(_objectSpread2({ | ||
event: event, | ||
@@ -671,3 +671,3 @@ item: item, | ||
store.dispatch(event.key, null); | ||
var nodeItem = props.environment.document.getElementById("".concat(props.id, "-item-").concat(store.getState().selectedItemId)); | ||
var nodeItem = props.environment.document.getElementById("".concat(props.id, "-item-").concat(store.getState().activeItemId)); | ||
@@ -682,5 +682,5 @@ if (nodeItem) { | ||
var highlightedItem = getSelectedItem(store.getState()); | ||
var highlightedItem = getActiveItem(store.getState()); | ||
if (store.getState().selectedItemId !== null && highlightedItem) { | ||
if (store.getState().activeItemId !== null && highlightedItem) { | ||
var item = highlightedItem.item, | ||
@@ -690,3 +690,3 @@ itemInputValue = highlightedItem.itemInputValue, | ||
source = highlightedItem.source; | ||
source.onHighlight(_objectSpread2({ | ||
source.onActive(_objectSpread2({ | ||
event: event, | ||
@@ -708,5 +708,5 @@ item: item, | ||
} else if (event.key === 'Enter') { | ||
// No item is selected, so we let the browser handle the native `onSubmit` | ||
// form event. | ||
if (store.getState().selectedItemId === null || store.getState().collections.every(function (collection) { | ||
// No active item, so we let the browser handle the native `onSubmit` form | ||
// event. | ||
if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) { | ||
return collection.items.length === 0; | ||
@@ -721,3 +721,3 @@ })) { | ||
var _ref2 = getSelectedItem(store.getState()), | ||
var _ref2 = getActiveItem(store.getState()), | ||
_item = _ref2.item, | ||
@@ -899,3 +899,3 @@ _itemInputValue = _ref2.itemInputValue, | ||
// because the panel should open with the current query. | ||
if (props.openOnFocus || store.getState().query.length > 0) { | ||
if (props.openOnFocus || Boolean(store.getState().query)) { | ||
onInput(_objectSpread2({ | ||
@@ -921,6 +921,6 @@ event: event, | ||
var selectedItem = getSelectedItem(store.getState()); | ||
var activeItem = getActiveItem(store.getState()); | ||
return _objectSpread2({ | ||
'aria-autocomplete': 'both', | ||
'aria-activedescendant': store.getState().isOpen && store.getState().selectedItemId !== null ? "".concat(props.id, "-item-").concat(store.getState().selectedItemId) : undefined, | ||
'aria-activedescendant': store.getState().isOpen && store.getState().activeItemId !== null ? "".concat(props.id, "-item-").concat(store.getState().activeItemId) : undefined, | ||
'aria-controls': store.getState().isOpen ? "".concat(props.id, "-list") : undefined, | ||
@@ -933,3 +933,3 @@ 'aria-labelledby': "".concat(props.id, "-label"), | ||
autoCapitalize: 'off', | ||
enterKeyHint: selectedItem !== null && selectedItem !== void 0 && selectedItem.itemUrl ? 'go' : 'search', | ||
enterKeyHint: activeItem !== null && activeItem !== void 0 && activeItem.itemUrl ? 'go' : 'search', | ||
spellCheck: 'false', | ||
@@ -1017,5 +1017,5 @@ autoFocus: props.autoFocus, | ||
role: 'option', | ||
'aria-selected': store.getState().selectedItemId === item.__autocomplete_id, | ||
'aria-selected': store.getState().activeItemId === item.__autocomplete_id, | ||
onMouseMove: function onMouseMove(event) { | ||
if (item.__autocomplete_id === store.getState().selectedItemId) { | ||
if (item.__autocomplete_id === store.getState().activeItemId) { | ||
return; | ||
@@ -1025,11 +1025,11 @@ } | ||
store.dispatch('mousemove', item.__autocomplete_id); | ||
var highlightedItem = getSelectedItem(store.getState()); | ||
var activeItem = getActiveItem(store.getState()); | ||
if (store.getState().selectedItemId !== null && highlightedItem) { | ||
var _item = highlightedItem.item, | ||
itemInputValue = highlightedItem.itemInputValue, | ||
itemUrl = highlightedItem.itemUrl, | ||
_source = highlightedItem.source; | ||
if (store.getState().activeItemId !== null && activeItem) { | ||
var _item = activeItem.item, | ||
itemInputValue = activeItem.itemInputValue, | ||
itemUrl = activeItem.itemUrl, | ||
_source = activeItem.source; | ||
_source.onHighlight(_objectSpread2({ | ||
_source.onActive(_objectSpread2({ | ||
event: event, | ||
@@ -1061,3 +1061,3 @@ item: _item, | ||
// We can therefore skip the state change because it will update | ||
// the `selectedItemId`, resulting in a UI flash, especially | ||
// the `activeItemId`, resulting in a UI flash, especially | ||
// noticeable on mobile. | ||
@@ -1105,7 +1105,7 @@ | ||
if (state.isOpen === false || state.selectedItemId === null) { | ||
if (state.isOpen === false || state.activeItemId === null) { | ||
return null; | ||
} | ||
var _ref2 = getSelectedItem(state), | ||
var _ref2 = getActiveItem(state), | ||
itemInputValue = _ref2.itemInputValue; | ||
@@ -1118,6 +1118,6 @@ | ||
switch (action.type) { | ||
case 'setSelectedItemId': | ||
case 'setActiveItemId': | ||
{ | ||
return _objectSpread2(_objectSpread2({}, state), {}, { | ||
selectedItemId: action.payload | ||
activeItemId: action.payload | ||
}); | ||
@@ -1165,3 +1165,3 @@ } | ||
var nextState = _objectSpread2(_objectSpread2({}, state), {}, { | ||
selectedItemId: getNextSelectedItemId(1, state.selectedItemId, getItemsCount(state), action.props.defaultSelectedItemId) | ||
activeItemId: getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId) | ||
}); | ||
@@ -1179,3 +1179,3 @@ | ||
var _nextState = _objectSpread2(_objectSpread2({}, state), {}, { | ||
selectedItemId: getNextSelectedItemId(-1, state.selectedItemId, getItemsCount(state), action.props.defaultSelectedItemId) | ||
activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId) | ||
}); | ||
@@ -1209,3 +1209,3 @@ | ||
return _objectSpread2(_objectSpread2({}, state), {}, { | ||
selectedItemId: null, | ||
activeItemId: null, | ||
isOpen: false, | ||
@@ -1219,7 +1219,7 @@ status: 'idle' | ||
return _objectSpread2(_objectSpread2({}, state), {}, { | ||
selectedItemId: // Since we open the panel on reset when openOnFocus=true | ||
// we need to restore the highlighted index to the defaultSelectedItemId. (DocSearch use-case) | ||
activeItemId: // Since we open the panel on reset when openOnFocus=true | ||
// we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case) | ||
// Since we close the panel when openOnFocus=false | ||
// we lose track of the highlighted index. (Query-suggestions use-case) | ||
action.props.openOnFocus === true ? action.props.defaultSelectedItemId : null, | ||
action.props.openOnFocus === true ? action.props.defaultActiveItemId : null, | ||
status: 'idle', | ||
@@ -1233,4 +1233,4 @@ query: '' | ||
return _objectSpread2(_objectSpread2({}, state), {}, { | ||
selectedItemId: action.props.defaultSelectedItemId, | ||
isOpen: action.props.openOnFocus || state.query.length > 0 | ||
activeItemId: action.props.defaultActiveItemId, | ||
isOpen: action.props.openOnFocus || Boolean(state.query) | ||
}); | ||
@@ -1247,3 +1247,3 @@ } | ||
isOpen: false, | ||
selectedItemId: null | ||
activeItemId: null | ||
}); | ||
@@ -1255,3 +1255,3 @@ } | ||
return _objectSpread2(_objectSpread2({}, state), {}, { | ||
selectedItemId: action.payload | ||
activeItemId: action.payload | ||
}); | ||
@@ -1263,3 +1263,3 @@ } | ||
return _objectSpread2(_objectSpread2({}, state), {}, { | ||
selectedItemId: action.props.defaultSelectedItemId | ||
activeItemId: action.props.defaultActiveItemId | ||
}); | ||
@@ -1310,5 +1310,5 @@ } | ||
}, | ||
onHighlight: function onHighlight(fn) { | ||
onActive: function onActive(fn) { | ||
subscribers.push({ | ||
onHighlight: fn | ||
onActive: fn | ||
}); | ||
@@ -1323,3 +1323,3 @@ } | ||
var version = '1.0.0-alpha.38'; | ||
var version = '1.0.0-alpha.39'; | ||
@@ -1326,0 +1326,0 @@ exports.createAutocomplete = createAutocomplete; |
@@ -1,3 +0,3 @@ | ||
/*! @algolia/autocomplete-core 1.0.0-alpha.38 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete.js */ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-core"]={})}(this,(function(e){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?r(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function a(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var c=0;function s(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}function f(e,t,n,r){if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}var p=function(){};function m(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.selectedItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,i=0;!1===r;){var u=t.collections[o];if(u===n){r=!0;break}i+=u.items.length,o++}return t.selectedItemId-i}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function d(e,t){return e===t||e.contains(t)}function v(e,n){var r,i="undefined"!=typeof window?window:{},l=e.plugins||[];return o(o({debug:!1,openOnFocus:!1,placeholder:"",autoFocus:!1,defaultSelectedItemId:null,stallThreshold:300,environment:i,shouldPanelShow:function(e){return s(e.state)>0}},e),{},{id:null!==(r=e.id)&&void 0!==r?r:"autocomplete-".concat(c++),plugins:l,initialState:o({selectedItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),l.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),l.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),l.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(r){return Promise.all([].concat(u(l.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,n){return Promise.resolve(e(n)).then((function(e){return Array.isArray(e),"The `getSources` function must return an array of sources but returned type ".concat(JSON.stringify(t(e)),":\n\n").concat(JSON.stringify(e,null,2)),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){var t=o({getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onHighlight:p},e);return Promise.resolve(t)})))}))}(e,r)}))).then((function(e){return a(e)})).then((function(e){return e.map((function(e){return o(o({},e),{},{onSelect:function(t){e.onSelect(t),n.forEach((function(e){var n;return null===(n=e.onSelect)||void 0===n?void 0:n.call(e,t)}))},onHighlight:function(t){e.onHighlight(t),n.forEach((function(e){var n;return null===(n=e.onHighlight)||void 0===n?void 0:n.call(e,t)}))}})}))}))},navigator:o({navigate:function(e){var t=e.itemUrl;i.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=i.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;i.open(t,"_blank","noopener")}},e.navigator)})}var g=null;function h(e){var n=e.event,r=e.nextState,u=void 0===r?{}:r,l=e.props,a=e.query,c=e.refresh,s=e.store,f=i(e,["event","nextState","props","query","refresh","store"]);if(l.onInput)return Promise.resolve(l.onInput(o({query:a,refresh:c,state:s.getState()},f)));g&&l.environment.clearTimeout(g);var p,d=f.setCollections,v=f.setIsOpen,h=f.setQuery,S=f.setSelectedItemId,y=f.setStatus;return h(a),S(l.defaultSelectedItemId),0===a.length&&!1===l.openOnFocus?(y("idle"),d(s.getState().collections.map((function(e){return o(o({},e),{},{items:[]})}))),v(null!==(p=u.isOpen)&&void 0!==p?p:l.shouldPanelShow({state:s.getState()})),Promise.resolve()):(y("loading"),g=l.environment.setTimeout((function(){y("stalled")}),l.stallThreshold),l.getSources(o({query:a,refresh:c,state:s.getState()},f)).then((function(e){return y("loading"),Promise.all(e.map((function(e){return Promise.resolve(e.getItems(o({query:a,refresh:c,state:s.getState()},f))).then((function(n){return Array.isArray(n),"The `getItems` function must return an array of items but returned type ".concat(JSON.stringify(t(n)),":\n\n").concat(JSON.stringify(n,null,2)),{source:e,items:n}}))}))).then((function(e){var t;y("idle"),d(e),v(null!==(t=u.isOpen)&&void 0!==t?t:0===a.length&&l.openOnFocus||l.shouldPanelShow({state:s.getState()}));var r=m(s.getState());if(null!==s.getState().selectedItemId&&r){var i=r.item,p=r.itemInputValue,g=r.itemUrl,h=r.source;h.onHighlight(o({event:n,item:i,itemInputValue:p,itemUrl:g,refresh:c,source:h,state:s.getState()},f))}})).catch((function(e){throw y("error"),e})).finally((function(){g&&l.environment.clearTimeout(g)}))})))}function S(e){var t=e.props,n=e.refresh,r=e.store,u=i(e,["props","refresh","store"]);return{getEnvironmentProps:function(e){return{onTouchStart:function(n){!1!==r.getState().isOpen&&n.target!==e.inputElement&&(!1===[e.formElement,e.panelElement].some((function(e){return d(e,n.target)||d(e,t.environment.document.activeElement)}))&&r.dispatch("blur",null))},onTouchMove:function(n){!1!==r.getState().isOpen&&e.inputElement===t.environment.document.activeElement&&n.target!==e.inputElement&&e.inputElement.blur()}}},getRootProps:function(e){return o({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){e.inputElement;return o({action:"",noValidate:!0,role:"search",onSubmit:function(i){var l;i.preventDefault(),t.onSubmit(o({event:i,refresh:n,state:r.getState()},u)),r.dispatch("submit",null),null===(l=e.inputElement)||void 0===l||l.blur()},onReset:function(i){var l;i.preventDefault(),t.onReset(o({event:i,refresh:n,state:r.getState()},u)),r.dispatch("reset",null),null===(l=e.inputElement)||void 0===l||l.focus()}},i(e,["inputElement"]))},getLabelProps:function(e){return o({htmlFor:"".concat(t.id,"-input"),id:"".concat(t.id,"-label")},e)},getInputProps:function(e){function l(e){(t.openOnFocus||r.getState().query.length>0)&&h(o({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},u)),r.dispatch("focus",null)}var a="ontouchstart"in t.environment,c=e||{},s=(c.inputElement,c.maxLength),f=void 0===s?512:s,p=i(c,["inputElement","maxLength"]),d=m(r.getState());return o({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().selectedItemId?"".concat(t.id,"-item-").concat(r.getState().selectedItemId):void 0,"aria-controls":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:r.getState().completion||r.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:null!=d&&d.itemUrl?"go":"search",spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:f,type:"search",onChange:function(e){h(o({event:e,props:t,query:e.currentTarget.value.slice(0,f),refresh:n,store:r},u))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,u=e.store,l=i(e,["event","props","refresh","store"]);if("ArrowUp"===t.key||"ArrowDown"===t.key){t.preventDefault(),u.dispatch(t.key,null);var a=n.environment.document.getElementById("".concat(n.id,"-item-").concat(u.getState().selectedItemId));a&&(a.scrollIntoViewIfNeeded?a.scrollIntoViewIfNeeded(!1):a.scrollIntoView(!1));var c=m(u.getState());if(null!==u.getState().selectedItemId&&c){var s=c.item,f=c.itemInputValue,p=c.itemUrl,d=c.source;d.onHighlight(o({event:t,item:s,itemInputValue:f,itemUrl:p,refresh:r,source:d,state:u.getState()},l))}}else if("Escape"===t.key)t.preventDefault(),u.dispatch(t.key,null);else if("Enter"===t.key){if(null===u.getState().selectedItemId||u.getState().collections.every((function(e){return 0===e.items.length})))return;t.preventDefault();var v=m(u.getState()),g=v.item,S=v.itemInputValue,y=v.itemUrl,I=v.source;if(t.metaKey||t.ctrlKey)void 0!==y&&(I.onSelect(o({event:t,item:g,itemInputValue:S,itemUrl:y,refresh:r,source:I,state:u.getState()},l)),n.navigator.navigateNewTab({itemUrl:y,item:g,state:u.getState()}));else if(t.shiftKey)void 0!==y&&(I.onSelect(o({event:t,item:g,itemInputValue:S,itemUrl:y,refresh:r,source:I,state:u.getState()},l)),n.navigator.navigateNewWindow({itemUrl:y,item:g,state:u.getState()}));else if(t.altKey);else{if(void 0!==y)return I.onSelect(o({event:t,item:g,itemInputValue:S,itemUrl:y,refresh:r,source:I,state:u.getState()},l)),void n.navigator.navigate({itemUrl:y,item:g,state:u.getState()});h(o({event:t,nextState:{isOpen:!1},props:n,query:S,refresh:r,store:u},l)).then((function(){I.onSelect(o({event:t,item:g,itemInputValue:S,itemUrl:y,refresh:r,source:I,state:u.getState()},l))}))}}}(o({event:e,props:t,refresh:n,store:r},u))},onFocus:l,onBlur:function(){a||r.dispatch("blur",null)},onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||l(n)}},p)},getPanelProps:function(e){return o({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){return o({role:"listbox","aria-labelledby":"".concat(t.id,"-label"),id:"".concat(t.id,"-list")},e)},getItemProps:function(e){var l=e.item,a=e.source,c=i(e,["item","source"]);return o({id:"".concat(t.id,"-item-").concat(l.__autocomplete_id),role:"option","aria-selected":r.getState().selectedItemId===l.__autocomplete_id,onMouseMove:function(e){if(l.__autocomplete_id!==r.getState().selectedItemId){r.dispatch("mousemove",l.__autocomplete_id);var t=m(r.getState());if(null!==r.getState().selectedItemId&&t){var i=t.item,a=t.itemInputValue,c=t.itemUrl,s=t.source;s.onHighlight(o({event:e,item:i,itemInputValue:a,itemUrl:c,refresh:n,source:s,state:r.getState()},u))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var i=a.getItemInputValue({item:l,state:r.getState()}),c=a.getItemUrl({item:l,state:r.getState()});(c?Promise.resolve():h(o({event:e,nextState:{isOpen:!1},props:t,query:i,refresh:n,store:r},u))).then((function(){a.onSelect(o({event:e,item:l,itemInputValue:i,itemUrl:c,refresh:n,source:a,state:r.getState()},u))}))}},c)}}}function y(e){var t=e.state;return!1===t.isOpen||null===t.selectedItemId?null:m(t).itemInputValue||null}var I=function(e,t){switch(t.type){case"setSelectedItemId":return o(o({},e),{},{selectedItemId:t.payload});case"setQuery":return o(o({},e),{},{query:t.payload,completion:null});case"setCollections":return o(o({},e),{},{collections:t.payload});case"setIsOpen":return o(o({},e),{},{isOpen:t.payload});case"setStatus":return o(o({},e),{},{status:t.payload});case"setContext":return o(o({},e),{},{context:o(o({},e.context),t.payload)});case"ArrowDown":var n=o(o({},e),{},{selectedItemId:f(1,e.selectedItemId,s(e),t.props.defaultSelectedItemId)});return o(o({},n),{},{completion:y({state:n})});case"ArrowUp":var r=o(o({},e),{},{selectedItemId:f(-1,e.selectedItemId,s(e),t.props.defaultSelectedItemId)});return o(o({},r),{},{completion:y({state:r})});case"Escape":return e.isOpen?o(o({},e),{},{isOpen:!1,completion:null}):o(o({},e),{},{query:"",status:"idle",collections:[]});case"submit":return o(o({},e),{},{selectedItemId:null,isOpen:!1,status:"idle"});case"reset":return o(o({},e),{},{selectedItemId:!0===t.props.openOnFocus?t.props.defaultSelectedItemId:null,status:"idle",query:""});case"focus":return o(o({},e),{},{selectedItemId:t.props.defaultSelectedItemId,isOpen:t.props.openOnFocus||e.query.length>0});case"blur":return t.props.debug?e:o(o({},e),{},{isOpen:!1,selectedItemId:null});case"mousemove":return o(o({},e),{},{selectedItemId:t.payload});case"mouseleave":return o(o({},e),{},{selectedItemId:t.props.defaultSelectedItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};e.createAutocomplete=function(e){var t=[],n=v(e,t),r=function(e,t){var n=t.initialState;return{getState:function(){return n},dispatch:function(r,i){var u=o({},n);n=e(n,{type:r,props:t,payload:i}),t.onStateChange({state:n,prevState:u})}}}(I,n),i=function(e){var t=e.store;return{setSelectedItemId:function(e){t.dispatch("setSelectedItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return o(o({},e),{},{items:a(e.items).map((function(e){return o(o({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),u=S(o({props:n,refresh:l,store:r},i));function l(){return h(o({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,query:r.getState().query,refresh:l,store:r},i))}return n.plugins.forEach((function(e){var n;return null===(n=e.subscribe)||void 0===n?void 0:n.call(e,o(o({},i),{},{onSelect:function(e){t.push({onSelect:e})},onHighlight:function(e){t.push({onHighlight:e})}}))})),o(o({refresh:l},u),i)},e.getDefaultProps=v,e.version="1.0.0-alpha.38",Object.defineProperty(e,"__esModule",{value:!0})})); | ||
/*! @algolia/autocomplete-core 1.0.0-alpha.39 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete.js */ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-core"]={})}(this,(function(e){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?r(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function a(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function c(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}function l(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var s=0;function f(e,t,n,r){if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}var p=function(){};function m(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,i=0;!1===r;){var a=t.collections[o];if(a===n){r=!0;break}i+=a.items.length,o++}return t.activeItemId-i}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function v(e,t){return e===t||e.contains(t)}function d(e,n){var r,i="undefined"!=typeof window?window:{},u=e.plugins||[];return o(o({debug:!1,openOnFocus:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,environment:i,shouldPanelShow:function(e){return c(e.state)>0}},e),{},{id:null!==(r=e.id)&&void 0!==r?r:"autocomplete-".concat(s++),plugins:u,initialState:o({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),u.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),u.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),u.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(r){return Promise.all([].concat(a(u.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,n){return Promise.resolve(e(n)).then((function(e){return Array.isArray(e),"The `getSources` function must return an array of sources but returned type ".concat(JSON.stringify(t(e)),":\n\n").concat(JSON.stringify(e,null,2)),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){var t=o({getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:p},e);return Promise.resolve(t)})))}))}(e,r)}))).then((function(e){return l(e)})).then((function(e){return e.map((function(e){return o(o({},e),{},{onSelect:function(t){e.onSelect(t),n.forEach((function(e){var n;return null===(n=e.onSelect)||void 0===n?void 0:n.call(e,t)}))},onActive:function(t){e.onActive(t),n.forEach((function(e){var n;return null===(n=e.onActive)||void 0===n?void 0:n.call(e,t)}))}})}))}))},navigator:o({navigate:function(e){var t=e.itemUrl;i.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=i.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;i.open(t,"_blank","noopener")}},e.navigator)})}var g=null;function y(e){var n=e.event,r=e.nextState,a=void 0===r?{}:r,u=e.props,c=e.query,l=e.refresh,s=e.store,f=i(e,["event","nextState","props","query","refresh","store"]);if(u.onInput)return Promise.resolve(u.onInput(o({query:c,refresh:l,state:s.getState()},f)));g&&u.environment.clearTimeout(g);var p,v=f.setCollections,d=f.setIsOpen,y=f.setQuery,h=f.setActiveItemId,I=f.setStatus;return y(c),h(u.defaultActiveItemId),c||!1!==u.openOnFocus?(I("loading"),g=u.environment.setTimeout((function(){I("stalled")}),u.stallThreshold),u.getSources(o({query:c,refresh:l,state:s.getState()},f)).then((function(e){return I("loading"),Promise.all(e.map((function(e){return Promise.resolve(e.getItems(o({query:c,refresh:l,state:s.getState()},f))).then((function(n){return Array.isArray(n),"The `getItems` function must return an array of items but returned type ".concat(JSON.stringify(t(n)),":\n\n").concat(JSON.stringify(n,null,2)),{source:e,items:n}}))}))).then((function(e){var t;I("idle"),v(e),d(null!==(t=a.isOpen)&&void 0!==t?t:!c&&u.openOnFocus||u.shouldPanelShow({state:s.getState()}));var r=m(s.getState());if(null!==s.getState().activeItemId&&r){var i=r.item,p=r.itemInputValue,g=r.itemUrl,y=r.source;y.onActive(o({event:n,item:i,itemInputValue:p,itemUrl:g,refresh:l,source:y,state:s.getState()},f))}})).catch((function(e){throw I("error"),e})).finally((function(){g&&u.environment.clearTimeout(g)}))}))):(I("idle"),v(s.getState().collections.map((function(e){return o(o({},e),{},{items:[]})}))),d(null!==(p=a.isOpen)&&void 0!==p?p:u.shouldPanelShow({state:s.getState()})),Promise.resolve())}function h(e){var t=e.props,n=e.refresh,r=e.store,a=i(e,["props","refresh","store"]);return{getEnvironmentProps:function(e){return{onTouchStart:function(n){!1!==r.getState().isOpen&&n.target!==e.inputElement&&(!1===[e.formElement,e.panelElement].some((function(e){return v(e,n.target)||v(e,t.environment.document.activeElement)}))&&r.dispatch("blur",null))},onTouchMove:function(n){!1!==r.getState().isOpen&&e.inputElement===t.environment.document.activeElement&&n.target!==e.inputElement&&e.inputElement.blur()}}},getRootProps:function(e){return o({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){e.inputElement;return o({action:"",noValidate:!0,role:"search",onSubmit:function(i){var u;i.preventDefault(),t.onSubmit(o({event:i,refresh:n,state:r.getState()},a)),r.dispatch("submit",null),null===(u=e.inputElement)||void 0===u||u.blur()},onReset:function(i){var u;i.preventDefault(),t.onReset(o({event:i,refresh:n,state:r.getState()},a)),r.dispatch("reset",null),null===(u=e.inputElement)||void 0===u||u.focus()}},i(e,["inputElement"]))},getLabelProps:function(e){return o({htmlFor:"".concat(t.id,"-input"),id:"".concat(t.id,"-label")},e)},getInputProps:function(e){function u(e){(t.openOnFocus||Boolean(r.getState().query))&&y(o({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},a)),r.dispatch("focus",null)}var c="ontouchstart"in t.environment,l=e||{},s=(l.inputElement,l.maxLength),f=void 0===s?512:s,p=i(l,["inputElement","maxLength"]),v=m(r.getState());return o({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?"".concat(t.id,"-item-").concat(r.getState().activeItemId):void 0,"aria-controls":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:r.getState().completion||r.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:null!=v&&v.itemUrl?"go":"search",spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:f,type:"search",onChange:function(e){y(o({event:e,props:t,query:e.currentTarget.value.slice(0,f),refresh:n,store:r},a))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,a=e.store,u=i(e,["event","props","refresh","store"]);if("ArrowUp"===t.key||"ArrowDown"===t.key){t.preventDefault(),a.dispatch(t.key,null);var c=n.environment.document.getElementById("".concat(n.id,"-item-").concat(a.getState().activeItemId));c&&(c.scrollIntoViewIfNeeded?c.scrollIntoViewIfNeeded(!1):c.scrollIntoView(!1));var l=m(a.getState());if(null!==a.getState().activeItemId&&l){var s=l.item,f=l.itemInputValue,p=l.itemUrl,v=l.source;v.onActive(o({event:t,item:s,itemInputValue:f,itemUrl:p,refresh:r,source:v,state:a.getState()},u))}}else if("Escape"===t.key)t.preventDefault(),a.dispatch(t.key,null);else if("Enter"===t.key){if(null===a.getState().activeItemId||a.getState().collections.every((function(e){return 0===e.items.length})))return;t.preventDefault();var d=m(a.getState()),g=d.item,h=d.itemInputValue,I=d.itemUrl,S=d.source;if(t.metaKey||t.ctrlKey)void 0!==I&&(S.onSelect(o({event:t,item:g,itemInputValue:h,itemUrl:I,refresh:r,source:S,state:a.getState()},u)),n.navigator.navigateNewTab({itemUrl:I,item:g,state:a.getState()}));else if(t.shiftKey)void 0!==I&&(S.onSelect(o({event:t,item:g,itemInputValue:h,itemUrl:I,refresh:r,source:S,state:a.getState()},u)),n.navigator.navigateNewWindow({itemUrl:I,item:g,state:a.getState()}));else if(t.altKey);else{if(void 0!==I)return S.onSelect(o({event:t,item:g,itemInputValue:h,itemUrl:I,refresh:r,source:S,state:a.getState()},u)),void n.navigator.navigate({itemUrl:I,item:g,state:a.getState()});y(o({event:t,nextState:{isOpen:!1},props:n,query:h,refresh:r,store:a},u)).then((function(){S.onSelect(o({event:t,item:g,itemInputValue:h,itemUrl:I,refresh:r,source:S,state:a.getState()},u))}))}}}(o({event:e,props:t,refresh:n,store:r},a))},onFocus:u,onBlur:function(){c||r.dispatch("blur",null)},onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||u(n)}},p)},getPanelProps:function(e){return o({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){return o({role:"listbox","aria-labelledby":"".concat(t.id,"-label"),id:"".concat(t.id,"-list")},e)},getItemProps:function(e){var u=e.item,c=e.source,l=i(e,["item","source"]);return o({id:"".concat(t.id,"-item-").concat(u.__autocomplete_id),role:"option","aria-selected":r.getState().activeItemId===u.__autocomplete_id,onMouseMove:function(e){if(u.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",u.__autocomplete_id);var t=m(r.getState());if(null!==r.getState().activeItemId&&t){var i=t.item,c=t.itemInputValue,l=t.itemUrl,s=t.source;s.onActive(o({event:e,item:i,itemInputValue:c,itemUrl:l,refresh:n,source:s,state:r.getState()},a))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var i=c.getItemInputValue({item:u,state:r.getState()}),l=c.getItemUrl({item:u,state:r.getState()});(l?Promise.resolve():y(o({event:e,nextState:{isOpen:!1},props:t,query:i,refresh:n,store:r},a))).then((function(){c.onSelect(o({event:e,item:u,itemInputValue:i,itemUrl:l,refresh:n,source:c,state:r.getState()},a))}))}},l)}}}function I(e){var t=e.state;return!1===t.isOpen||null===t.activeItemId?null:m(t).itemInputValue||null}var S=function(e,t){switch(t.type){case"setActiveItemId":return o(o({},e),{},{activeItemId:t.payload});case"setQuery":return o(o({},e),{},{query:t.payload,completion:null});case"setCollections":return o(o({},e),{},{collections:t.payload});case"setIsOpen":return o(o({},e),{},{isOpen:t.payload});case"setStatus":return o(o({},e),{},{status:t.payload});case"setContext":return o(o({},e),{},{context:o(o({},e.context),t.payload)});case"ArrowDown":var n=o(o({},e),{},{activeItemId:f(1,e.activeItemId,c(e),t.props.defaultActiveItemId)});return o(o({},n),{},{completion:I({state:n})});case"ArrowUp":var r=o(o({},e),{},{activeItemId:f(-1,e.activeItemId,c(e),t.props.defaultActiveItemId)});return o(o({},r),{},{completion:I({state:r})});case"Escape":return e.isOpen?o(o({},e),{},{isOpen:!1,completion:null}):o(o({},e),{},{query:"",status:"idle",collections:[]});case"submit":return o(o({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return o(o({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",query:""});case"focus":return o(o({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:t.props.openOnFocus||Boolean(e.query)});case"blur":return t.props.debug?e:o(o({},e),{},{isOpen:!1,activeItemId:null});case"mousemove":return o(o({},e),{},{activeItemId:t.payload});case"mouseleave":return o(o({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};e.createAutocomplete=function(e){var t=[],n=d(e,t),r=function(e,t){var n=t.initialState;return{getState:function(){return n},dispatch:function(r,i){var a=o({},n);n=e(n,{type:r,props:t,payload:i}),t.onStateChange({state:n,prevState:a})}}}(S,n),i=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return o(o({},e),{},{items:l(e.items).map((function(e){return o(o({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),a=h(o({props:n,refresh:u,store:r},i));function u(){return y(o({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,query:r.getState().query,refresh:u,store:r},i))}return n.plugins.forEach((function(e){var n;return null===(n=e.subscribe)||void 0===n?void 0:n.call(e,o(o({},i),{},{onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})}}))})),o(o({refresh:u},a),i)},e.getDefaultProps=d,e.version="1.0.0-alpha.39",Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=index.production.js.map |
{ | ||
"name": "@algolia/autocomplete-core", | ||
"description": "Core primitives for building autocomplete experiences.", | ||
"version": "1.0.0-alpha.38", | ||
"version": "1.0.0-alpha.39", | ||
"license": "MIT", | ||
@@ -34,4 +34,4 @@ "homepage": "https://github.com/algolia/autocomplete.js", | ||
"dependencies": { | ||
"@algolia/autocomplete-shared": "1.0.0-alpha.38" | ||
"@algolia/autocomplete-shared": "1.0.0-alpha.39" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
256326
76
2850
+ Added@algolia/autocomplete-shared@1.0.0-alpha.39(transitive)
- Removed@algolia/autocomplete-shared@1.0.0-alpha.38(transitive)