@algolia/autocomplete-plugin-recent-searches 1.19.9 → 1.19.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { PluginSubscribeParams } from '@algolia/autocomplete-core';
2
2
  import { AutocompleteSource, AutocompleteState, AutocompletePlugin } from '@algolia/autocomplete-js';
3
- import { SearchOptions } from '@algolia/client-search';
3
+ import { SearchOptions } from '@algolia/autocomplete-preset-algolia';
4
4
  import { RecentSearchesItem, Storage, StorageApi, AutocompleteRecentSearchesPluginTranslations } from './types';
5
5
  export interface RecentSearchesPluginData<TItem extends RecentSearchesItem> extends StorageApi<TItem> {
6
6
  /**
@@ -1,4 +1,4 @@
1
- /*! @algolia/autocomplete-plugin-recent-searches 1.19.9 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-plugin-recent-searches 1.19.11 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
4
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../src/addHighlightedAttribute.ts","../../src/constants.ts","../../src/getLocalStorage.ts","../../src/createLocalStorage.ts","../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/warn.js","../../src/createStorageApi.ts","../../src/getTemplates.tsx","../../src/createRecentSearchesPlugin.ts","../../src/search.ts","../../src/createLocalStorageRecentSearchesPlugin.ts"],"sourcesContent":["import { Highlighted, HistoryItem } from './types';\n\ntype HighlightParams<TItem> = {\n item: TItem;\n query: string;\n};\n\nexport function addHighlightedAttribute<TItem extends HistoryItem>({\n item,\n query,\n}: HighlightParams<TItem>): Highlighted<TItem> {\n return {\n ...item,\n _highlightResult: {\n label: {\n value: query\n ? item.label.replace(\n new RegExp(query.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'gi'),\n (match) => {\n return `__aa-highlight__${match}__/aa-highlight__`;\n }\n )\n : item.label,\n },\n },\n };\n}\n","import { AutocompleteRecentSearchesPluginTranslations } from './types';\n\nexport const LOCAL_STORAGE_KEY = 'AUTOCOMPLETE_RECENT_SEARCHES';\nexport const LOCAL_STORAGE_KEY_TEST =\n '__AUTOCOMPLETE_RECENT_SEARCHES_PLUGIN_TEST_KEY__';\n\nexport const defaultTranslations: AutocompleteRecentSearchesPluginTranslations =\n {\n removeSearchTitle: 'Remove this search',\n fillQueryTitle: (text: string) => `Fill query with \"${text}\"`,\n };\n","import { LOCAL_STORAGE_KEY_TEST } from './constants';\n\nfunction isLocalStorageSupported() {\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY_TEST, '');\n localStorage.removeItem(LOCAL_STORAGE_KEY_TEST);\n\n return true;\n } catch (error) {\n return false;\n }\n}\n\ntype LocalStorageProps = {\n key: string;\n};\n\nexport function getLocalStorage<TItem>({ key }: LocalStorageProps) {\n if (!isLocalStorageSupported()) {\n return {\n setItem() {},\n getItem() {\n return [];\n },\n };\n }\n\n return {\n setItem(items: TItem[]) {\n return window.localStorage.setItem(key, JSON.stringify(items));\n },\n getItem(): TItem[] {\n const items = window.localStorage.getItem(key);\n\n return items ? (JSON.parse(items) as TItem[]) : [];\n },\n };\n}\n","import { CreateRecentSearchesLocalStorageOptions } from './createLocalStorageRecentSearchesPlugin';\nimport { getLocalStorage } from './getLocalStorage';\nimport { HistoryItem, Storage } from './types';\n\nexport type CreateLocalStorageProps<TItem extends HistoryItem> = Required<\n CreateRecentSearchesLocalStorageOptions<TItem>\n>;\n\nexport function createLocalStorage<TItem extends HistoryItem>({\n key,\n limit,\n search,\n}: CreateLocalStorageProps<TItem>): Storage<TItem> {\n const storage = getLocalStorage<TItem>({ key });\n\n return {\n onAdd(item) {\n storage.setItem([item, ...storage.getItem()]);\n },\n onRemove(id) {\n storage.setItem(storage.getItem().filter((x) => x.id !== id));\n },\n getAll(query = '') {\n return search({ query, items: storage.getItem(), limit }).slice(0, limit);\n },\n };\n}\n","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export var warnCache = {\n current: {}\n};\n\n/**\n * Logs a warning if the condition is not met.\n * This is used to log issues in development environment only.\n */\nexport function warn(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n if (condition) {\n return;\n }\n var sanitizedMessage = message.trim();\n var hasAlreadyPrinted = warnCache.current[sanitizedMessage];\n if (!hasAlreadyPrinted) {\n warnCache.current[sanitizedMessage] = true;\n\n // eslint-disable-next-line no-console\n console.warn(\"[Autocomplete] \".concat(sanitizedMessage));\n }\n}","import { HistoryItem, Storage, StorageApi } from './types';\n\nexport function createStorageApi<TItem extends HistoryItem>(\n storage: Storage<TItem>\n): StorageApi<TItem> {\n return {\n addItem(item) {\n storage.onRemove(item.id);\n storage.onAdd(item);\n },\n removeItem(id) {\n storage.onRemove(id);\n },\n getAll(query) {\n return storage.getAll(query);\n },\n };\n}\n","/** @jsxRuntime classic */\n/** @jsx createElement */\nimport { SourceTemplates } from '@algolia/autocomplete-js';\n\nimport {\n RecentSearchesItem,\n AutocompleteRecentSearchesPluginTranslations,\n} from './types';\n\nexport type GetTemplatesParams<TItem extends RecentSearchesItem> = {\n onRemove(id: string): void;\n onTapAhead(item: TItem): void;\n translations: AutocompleteRecentSearchesPluginTranslations;\n};\n\nexport function getTemplates<TItem extends RecentSearchesItem>({\n onRemove,\n onTapAhead,\n translations,\n}: GetTemplatesParams<TItem>): SourceTemplates<TItem> {\n return {\n item({ item, createElement, components }) {\n return (\n <div className=\"aa-ItemWrapper\">\n <div className=\"aa-ItemContent\">\n <div className=\"aa-ItemIcon aa-ItemIcon--noBorder\">\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z\" />\n </svg>\n </div>\n <div className=\"aa-ItemContentBody\">\n <div className=\"aa-ItemContentTitle\">\n <components.ReverseHighlight hit={item} attribute=\"label\" />\n {item.category && (\n <span className=\"aa-ItemContentSubtitle aa-ItemContentSubtitle--inline\">\n <span className=\"aa-ItemContentSubtitleIcon\" /> in{' '}\n <span className=\"aa-ItemContentSubtitleCategory\">\n {item.category}\n </span>\n </span>\n )}\n </div>\n </div>\n </div>\n <div className=\"aa-ItemActions\">\n <button\n type=\"button\"\n className=\"aa-ItemActionButton\"\n title={translations.removeSearchTitle}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onRemove(item.id);\n }}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M18 7v13c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-10c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-13zM17 5v-1c0-0.828-0.337-1.58-0.879-2.121s-1.293-0.879-2.121-0.879h-4c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v1h-4c-0.552 0-1 0.448-1 1s0.448 1 1 1h1v13c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h10c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-13h1c0.552 0 1-0.448 1-1s-0.448-1-1-1zM9 5v-1c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293h4c0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707v1zM9 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1zM13 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1z\" />\n </svg>\n </button>\n <button\n type=\"button\"\n className=\"aa-ItemActionButton\"\n title={translations.fillQueryTitle(item.label)}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onTapAhead(item);\n }}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z\" />\n </svg>\n </button>\n </div>\n </div>\n );\n },\n };\n}\n","import { PluginSubscribeParams } from '@algolia/autocomplete-core';\nimport {\n AutocompleteSource,\n AutocompleteState,\n AutocompletePlugin,\n} from '@algolia/autocomplete-js';\nimport { createRef, MaybePromise, warn } from '@algolia/autocomplete-shared';\nimport { SearchOptions } from '@algolia/client-search';\n\nimport { defaultTranslations } from './constants';\nimport { createStorageApi } from './createStorageApi';\nimport { getTemplates } from './getTemplates';\nimport {\n RecentSearchesItem,\n Storage,\n StorageApi,\n AutocompleteRecentSearchesPluginTranslations,\n} from './types';\n\nexport interface RecentSearchesPluginData<TItem extends RecentSearchesItem>\n extends StorageApi<TItem> {\n /**\n * Optimized [Algolia search parameters](https://www.algolia.com/doc/api-reference/search-api-parameters/). This is useful when using the plugin along with the [Query Suggestions](createQuerySuggestionsPlugin) plugin.\n *\n * This function enhances the provided search parameters by:\n * - Excluding Query Suggestions that are already displayed in recent searches.\n * - Using a shared `hitsPerPage` value to get a group limit of Query Suggestions and recent searches.\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-getalgoliasearchparams\n */\n getAlgoliaSearchParams(params?: SearchOptions): SearchOptions;\n}\n\nexport type CreateRecentSearchesPluginParams<TItem extends RecentSearchesItem> =\n {\n /**\n * The storage to fetch from and save recent searches into.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-storage\n */\n storage: Storage<TItem>;\n /**\n * A function to transform the provided source.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-transformsource\n */\n transformSource?(params: {\n source: AutocompleteSource<TItem>;\n state: AutocompleteState<TItem>;\n onRemove(id: string): void;\n onTapAhead(item: TItem): void;\n }): AutocompleteSource<TItem>;\n subscribe?(params: PluginSubscribeParams<TItem>): void;\n\n /**\n * A mapping of translation strings.\n *\n * Defaults to English values.\n */\n translations?: Partial<AutocompleteRecentSearchesPluginTranslations>;\n };\n\nfunction getDefaultSubscribe<TItem extends RecentSearchesItem>(\n store: StorageApi<TItem>\n) {\n return function subscribe({ onSelect }: PluginSubscribeParams<TItem>) {\n onSelect(({ item, state, source }) => {\n const inputValue = source.getItemInputValue({ item, state });\n\n if (source.sourceId === 'querySuggestionsPlugin' && inputValue) {\n const recentItem: RecentSearchesItem = {\n id: inputValue,\n label: inputValue,\n category: (item as any).__autocomplete_qsCategory,\n };\n store.addItem(recentItem as TItem);\n }\n });\n };\n}\n\nexport function createRecentSearchesPlugin<TItem extends RecentSearchesItem>(\n options: CreateRecentSearchesPluginParams<TItem>\n): AutocompletePlugin<TItem, RecentSearchesPluginData<TItem>> {\n const { storage, transformSource, subscribe, translations } =\n getOptions(options);\n const store = createStorageApi<TItem>(storage);\n const lastItemsRef = createRef<MaybePromise<TItem[]>>([]);\n\n return {\n name: 'aa.recentSearchesPlugin',\n subscribe: subscribe ?? getDefaultSubscribe(store),\n onSubmit({ state }) {\n const { query } = state;\n\n if (query) {\n const recentItem: RecentSearchesItem = {\n id: query,\n label: query,\n };\n store.addItem(recentItem as TItem);\n }\n },\n getSources({ query, setQuery, refresh, state }) {\n lastItemsRef.current = store.getAll(query);\n\n function onRemove(id: string) {\n store.removeItem(id);\n refresh();\n }\n\n function onTapAhead(item: TItem) {\n setQuery(item.label);\n refresh();\n }\n\n return Promise.resolve(lastItemsRef.current).then((items) => {\n if (items.length === 0) {\n return [];\n }\n\n return [\n transformSource({\n source: {\n sourceId: 'recentSearchesPlugin',\n getItemInputValue({ item }) {\n return item.label;\n },\n getItems() {\n return items;\n },\n templates: getTemplates({ onRemove, onTapAhead, translations }),\n },\n onRemove,\n onTapAhead,\n state: state as AutocompleteState<TItem>,\n }),\n ];\n });\n },\n data: {\n ...store,\n // @ts-ignore SearchOptions `facetFilters` is ReadonlyArray\n getAlgoliaSearchParams(params = {}) {\n // If the items returned by `store.getAll` are contained in a Promise,\n // we cannot provide the search params in time when this function is called\n // because we need to resolve the promise before getting the value.\n if (!Array.isArray(lastItemsRef.current)) {\n warn(\n false,\n 'The `getAlgoliaSearchParams` function is not supported with storages that return promises in `getAll`.'\n );\n return params;\n }\n\n return {\n ...params,\n facetFilters: [\n ...(params.facetFilters ?? []),\n // @TODO: we need to base the filter on the `query` attribute, not\n // `objectID`, because the Query Suggestions index cannot ensure\n // that the `objectID` will always be equal to the query.\n ...lastItemsRef.current.map((item) => [`objectID:-${item.label}`]),\n ],\n hitsPerPage: Math.max(\n 1,\n (params.hitsPerPage ?? 10) - lastItemsRef.current.length\n ),\n };\n },\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<TItem extends RecentSearchesItem>(\n options: CreateRecentSearchesPluginParams<TItem>\n) {\n return {\n transformSource: ({ source }) => source,\n ...options,\n translations: {\n ...defaultTranslations,\n ...options.translations,\n },\n };\n}\n","import { addHighlightedAttribute } from './addHighlightedAttribute';\nimport { Highlighted, RecentSearchesItem } from './types';\n\nexport type SearchParams<TItem extends RecentSearchesItem> = {\n query: string;\n items: TItem[];\n limit: number;\n};\n\nexport function search<TItem extends RecentSearchesItem>({\n query,\n items,\n limit,\n}: SearchParams<TItem>): Array<Highlighted<TItem>> {\n if (!query) {\n return items\n .slice(0, limit)\n .map((item) => addHighlightedAttribute({ item, query }));\n }\n\n return items\n .filter((item) => item.label.toLowerCase().includes(query.toLowerCase()))\n .slice(0, limit)\n .map((item) => addHighlightedAttribute({ item, query }));\n}\n","import { AutocompletePlugin } from '@algolia/autocomplete-js';\n\nimport { defaultTranslations, LOCAL_STORAGE_KEY } from './constants';\nimport { createLocalStorage } from './createLocalStorage';\nimport {\n createRecentSearchesPlugin,\n CreateRecentSearchesPluginParams,\n RecentSearchesPluginData,\n} from './createRecentSearchesPlugin';\nimport { search as defaultSearch, SearchParams } from './search';\nimport { Highlighted, RecentSearchesItem } from './types';\n\nexport type CreateRecentSearchesLocalStorageOptions<\n TItem extends RecentSearchesItem\n> = {\n /**\n * A local storage key to identify where to save and retrieve the recent searches.\n *\n * For example:\n * - \"navbar\"\n * - \"search\"\n * - \"main\"\n *\n * The plugin namespaces all keys to avoid collisions.\n *\n * @example \"top_searchbar\"\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-key\n */\n key: string;\n\n /**\n * The number of recent searches to display.\n *\n * @default 5\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-limit\n */\n limit?: number;\n\n /**\n * A search function to retrieve recent searches from.\n *\n * This function is called in [`storage.getAll`](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-storage) to retrieve recent searches and is useful to filter and highlight recent searches when typing a query.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-search\n */\n search?(params: SearchParams<TItem>): Array<Highlighted<TItem>>;\n};\n\ntype LocalStorageRecentSearchesPluginOptions<TItem extends RecentSearchesItem> =\n Pick<\n CreateRecentSearchesPluginParams<TItem>,\n 'transformSource' | 'subscribe' | 'translations'\n > &\n CreateRecentSearchesLocalStorageOptions<TItem>;\n\nexport function createLocalStorageRecentSearchesPlugin<\n TItem extends RecentSearchesItem\n>(\n options: LocalStorageRecentSearchesPluginOptions<TItem>\n): AutocompletePlugin<TItem, RecentSearchesPluginData<TItem>> {\n const { key, limit, transformSource, search, subscribe, translations } =\n getOptions(options);\n const storage = createLocalStorage<TItem>({\n key: [LOCAL_STORAGE_KEY, key].join(':'),\n limit,\n search,\n });\n\n const recentSearchesPlugin = createRecentSearchesPlugin<TItem>({\n transformSource,\n storage,\n subscribe,\n translations,\n });\n\n return {\n ...recentSearchesPlugin,\n name: 'aa.localStorageRecentSearchesPlugin',\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<TItem extends RecentSearchesItem>(\n options: LocalStorageRecentSearchesPluginOptions<TItem>\n) {\n return {\n limit: 5,\n search: defaultSearch,\n transformSource: ({ source }) => source,\n ...options,\n translations: {\n ...defaultTranslations,\n ...options.translations,\n },\n };\n}\n"],"names":["addHighlightedAttribute","_ref","item","query","_objectSpread","_highlightResult","label","value","replace","RegExp","match","concat","LOCAL_STORAGE_KEY","LOCAL_STORAGE_KEY_TEST","defaultTranslations","removeSearchTitle","fillQueryTitle","text","isLocalStorageSupported","localStorage","setItem","removeItem","error","getLocalStorage","key","getItem","items","window","JSON","stringify","parse","createLocalStorage","limit","search","storage","onAdd","_toConsumableArray","onRemove","id","filter","x","getAll","arguments","length","undefined","slice","createRef","initialValue","current","warnCache","warn","condition","message","sanitizedMessage","trim","hasAlreadyPrinted","console","createStorageApi","addItem","getTemplates","onTapAhead","translations","_ref2","createElement","components","className","viewBox","fill","d","ReverseHighlight","hit","attribute","category","type","title","onClick","event","preventDefault","stopPropagation","getDefaultSubscribe","store","subscribe","onSelect","state","source","inputValue","getItemInputValue","sourceId","recentItem","__autocomplete_qsCategory","createRecentSearchesPlugin","options","_getOptions","getOptions","transformSource","lastItemsRef","name","onSubmit","_ref3","getSources","_ref4","setQuery","refresh","Promise","resolve","then","_ref5","getItems","templates","data","getAlgoliaSearchParams","_params$facetFilters","_params$hitsPerPage","params","Array","isArray","process","facetFilters","map","hitsPerPage","Math","max","__autocomplete_pluginOptions","_ref6","toLowerCase","includes","createLocalStorageRecentSearchesPlugin","join","recentSearchesPlugin","defaultSearch"],"mappings":"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A,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC1CJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAMK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAC,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA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"}
1
+ {"version":3,"file":"index.development.js","sources":["../../src/addHighlightedAttribute.ts","../../src/constants.ts","../../src/getLocalStorage.ts","../../src/createLocalStorage.ts","../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/warn.js","../../src/createStorageApi.ts","../../src/getTemplates.tsx","../../src/createRecentSearchesPlugin.ts","../../src/search.ts","../../src/createLocalStorageRecentSearchesPlugin.ts"],"sourcesContent":["import { Highlighted, HistoryItem } from './types';\n\ntype HighlightParams<TItem> = {\n item: TItem;\n query: string;\n};\n\nexport function addHighlightedAttribute<TItem extends HistoryItem>({\n item,\n query,\n}: HighlightParams<TItem>): Highlighted<TItem> {\n return {\n ...item,\n _highlightResult: {\n label: {\n value: query\n ? item.label.replace(\n new RegExp(query.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'gi'),\n (match) => {\n return `__aa-highlight__${match}__/aa-highlight__`;\n }\n )\n : item.label,\n },\n },\n };\n}\n","import { AutocompleteRecentSearchesPluginTranslations } from './types';\n\nexport const LOCAL_STORAGE_KEY = 'AUTOCOMPLETE_RECENT_SEARCHES';\nexport const LOCAL_STORAGE_KEY_TEST =\n '__AUTOCOMPLETE_RECENT_SEARCHES_PLUGIN_TEST_KEY__';\n\nexport const defaultTranslations: AutocompleteRecentSearchesPluginTranslations =\n {\n removeSearchTitle: 'Remove this search',\n fillQueryTitle: (text: string) => `Fill query with \"${text}\"`,\n };\n","import { LOCAL_STORAGE_KEY_TEST } from './constants';\n\nfunction isLocalStorageSupported() {\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY_TEST, '');\n localStorage.removeItem(LOCAL_STORAGE_KEY_TEST);\n\n return true;\n } catch (error) {\n return false;\n }\n}\n\ntype LocalStorageProps = {\n key: string;\n};\n\nexport function getLocalStorage<TItem>({ key }: LocalStorageProps) {\n if (!isLocalStorageSupported()) {\n return {\n setItem() {},\n getItem() {\n return [];\n },\n };\n }\n\n return {\n setItem(items: TItem[]) {\n return window.localStorage.setItem(key, JSON.stringify(items));\n },\n getItem(): TItem[] {\n const items = window.localStorage.getItem(key);\n\n return items ? (JSON.parse(items) as TItem[]) : [];\n },\n };\n}\n","import { CreateRecentSearchesLocalStorageOptions } from './createLocalStorageRecentSearchesPlugin';\nimport { getLocalStorage } from './getLocalStorage';\nimport { HistoryItem, Storage } from './types';\n\nexport type CreateLocalStorageProps<TItem extends HistoryItem> = Required<\n CreateRecentSearchesLocalStorageOptions<TItem>\n>;\n\nexport function createLocalStorage<TItem extends HistoryItem>({\n key,\n limit,\n search,\n}: CreateLocalStorageProps<TItem>): Storage<TItem> {\n const storage = getLocalStorage<TItem>({ key });\n\n return {\n onAdd(item) {\n storage.setItem([item, ...storage.getItem()]);\n },\n onRemove(id) {\n storage.setItem(storage.getItem().filter((x) => x.id !== id));\n },\n getAll(query = '') {\n return search({ query, items: storage.getItem(), limit }).slice(0, limit);\n },\n };\n}\n","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export var warnCache = {\n current: {}\n};\n\n/**\n * Logs a warning if the condition is not met.\n * This is used to log issues in development environment only.\n */\nexport function warn(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n if (condition) {\n return;\n }\n var sanitizedMessage = message.trim();\n var hasAlreadyPrinted = warnCache.current[sanitizedMessage];\n if (!hasAlreadyPrinted) {\n warnCache.current[sanitizedMessage] = true;\n\n // eslint-disable-next-line no-console\n console.warn(\"[Autocomplete] \".concat(sanitizedMessage));\n }\n}","import { HistoryItem, Storage, StorageApi } from './types';\n\nexport function createStorageApi<TItem extends HistoryItem>(\n storage: Storage<TItem>\n): StorageApi<TItem> {\n return {\n addItem(item) {\n storage.onRemove(item.id);\n storage.onAdd(item);\n },\n removeItem(id) {\n storage.onRemove(id);\n },\n getAll(query) {\n return storage.getAll(query);\n },\n };\n}\n","/** @jsxRuntime classic */\n/** @jsx createElement */\nimport { SourceTemplates } from '@algolia/autocomplete-js';\n\nimport {\n RecentSearchesItem,\n AutocompleteRecentSearchesPluginTranslations,\n} from './types';\n\nexport type GetTemplatesParams<TItem extends RecentSearchesItem> = {\n onRemove(id: string): void;\n onTapAhead(item: TItem): void;\n translations: AutocompleteRecentSearchesPluginTranslations;\n};\n\nexport function getTemplates<TItem extends RecentSearchesItem>({\n onRemove,\n onTapAhead,\n translations,\n}: GetTemplatesParams<TItem>): SourceTemplates<TItem> {\n return {\n item({ item, createElement, components }) {\n return (\n <div className=\"aa-ItemWrapper\">\n <div className=\"aa-ItemContent\">\n <div className=\"aa-ItemIcon aa-ItemIcon--noBorder\">\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z\" />\n </svg>\n </div>\n <div className=\"aa-ItemContentBody\">\n <div className=\"aa-ItemContentTitle\">\n <components.ReverseHighlight hit={item} attribute=\"label\" />\n {item.category && (\n <span className=\"aa-ItemContentSubtitle aa-ItemContentSubtitle--inline\">\n <span className=\"aa-ItemContentSubtitleIcon\" /> in{' '}\n <span className=\"aa-ItemContentSubtitleCategory\">\n {item.category}\n </span>\n </span>\n )}\n </div>\n </div>\n </div>\n <div className=\"aa-ItemActions\">\n <button\n type=\"button\"\n className=\"aa-ItemActionButton\"\n title={translations.removeSearchTitle}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onRemove(item.id);\n }}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M18 7v13c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-10c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-13zM17 5v-1c0-0.828-0.337-1.58-0.879-2.121s-1.293-0.879-2.121-0.879h-4c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v1h-4c-0.552 0-1 0.448-1 1s0.448 1 1 1h1v13c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h10c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-13h1c0.552 0 1-0.448 1-1s-0.448-1-1-1zM9 5v-1c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293h4c0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707v1zM9 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1zM13 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1z\" />\n </svg>\n </button>\n <button\n type=\"button\"\n className=\"aa-ItemActionButton\"\n title={translations.fillQueryTitle(item.label)}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onTapAhead(item);\n }}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z\" />\n </svg>\n </button>\n </div>\n </div>\n );\n },\n };\n}\n","import { PluginSubscribeParams } from '@algolia/autocomplete-core';\nimport {\n AutocompleteSource,\n AutocompleteState,\n AutocompletePlugin,\n} from '@algolia/autocomplete-js';\nimport { SearchOptions } from '@algolia/autocomplete-preset-algolia';\nimport { createRef, MaybePromise, warn } from '@algolia/autocomplete-shared';\n\nimport { defaultTranslations } from './constants';\nimport { createStorageApi } from './createStorageApi';\nimport { getTemplates } from './getTemplates';\nimport {\n RecentSearchesItem,\n Storage,\n StorageApi,\n AutocompleteRecentSearchesPluginTranslations,\n} from './types';\n\nexport interface RecentSearchesPluginData<TItem extends RecentSearchesItem>\n extends StorageApi<TItem> {\n /**\n * Optimized [Algolia search parameters](https://www.algolia.com/doc/api-reference/search-api-parameters/). This is useful when using the plugin along with the [Query Suggestions](createQuerySuggestionsPlugin) plugin.\n *\n * This function enhances the provided search parameters by:\n * - Excluding Query Suggestions that are already displayed in recent searches.\n * - Using a shared `hitsPerPage` value to get a group limit of Query Suggestions and recent searches.\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-getalgoliasearchparams\n */\n getAlgoliaSearchParams(params?: SearchOptions): SearchOptions;\n}\n\nexport type CreateRecentSearchesPluginParams<TItem extends RecentSearchesItem> =\n {\n /**\n * The storage to fetch from and save recent searches into.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-storage\n */\n storage: Storage<TItem>;\n /**\n * A function to transform the provided source.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-transformsource\n */\n transformSource?(params: {\n source: AutocompleteSource<TItem>;\n state: AutocompleteState<TItem>;\n onRemove(id: string): void;\n onTapAhead(item: TItem): void;\n }): AutocompleteSource<TItem>;\n subscribe?(params: PluginSubscribeParams<TItem>): void;\n\n /**\n * A mapping of translation strings.\n *\n * Defaults to English values.\n */\n translations?: Partial<AutocompleteRecentSearchesPluginTranslations>;\n };\n\nfunction getDefaultSubscribe<TItem extends RecentSearchesItem>(\n store: StorageApi<TItem>\n) {\n return function subscribe({ onSelect }: PluginSubscribeParams<TItem>) {\n onSelect(({ item, state, source }) => {\n const inputValue = source.getItemInputValue({ item, state });\n\n if (source.sourceId === 'querySuggestionsPlugin' && inputValue) {\n const recentItem: RecentSearchesItem = {\n id: inputValue,\n label: inputValue,\n category: (item as any).__autocomplete_qsCategory,\n };\n store.addItem(recentItem as TItem);\n }\n });\n };\n}\n\nexport function createRecentSearchesPlugin<TItem extends RecentSearchesItem>(\n options: CreateRecentSearchesPluginParams<TItem>\n): AutocompletePlugin<TItem, RecentSearchesPluginData<TItem>> {\n const { storage, transformSource, subscribe, translations } =\n getOptions(options);\n const store = createStorageApi<TItem>(storage);\n const lastItemsRef = createRef<MaybePromise<TItem[]>>([]);\n\n return {\n name: 'aa.recentSearchesPlugin',\n subscribe: subscribe ?? getDefaultSubscribe(store),\n onSubmit({ state }) {\n const { query } = state;\n\n if (query) {\n const recentItem: RecentSearchesItem = {\n id: query,\n label: query,\n };\n store.addItem(recentItem as TItem);\n }\n },\n getSources({ query, setQuery, refresh, state }) {\n lastItemsRef.current = store.getAll(query);\n\n function onRemove(id: string) {\n store.removeItem(id);\n refresh();\n }\n\n function onTapAhead(item: TItem) {\n setQuery(item.label);\n refresh();\n }\n\n return Promise.resolve(lastItemsRef.current).then((items) => {\n if (items.length === 0) {\n return [];\n }\n\n return [\n transformSource({\n source: {\n sourceId: 'recentSearchesPlugin',\n getItemInputValue({ item }) {\n return item.label;\n },\n getItems() {\n return items;\n },\n templates: getTemplates({ onRemove, onTapAhead, translations }),\n },\n onRemove,\n onTapAhead,\n state: state as AutocompleteState<TItem>,\n }),\n ];\n });\n },\n data: {\n ...store,\n // @ts-ignore SearchOptions `facetFilters` is ReadonlyArray\n getAlgoliaSearchParams(params = {}) {\n // If the items returned by `store.getAll` are contained in a Promise,\n // we cannot provide the search params in time when this function is called\n // because we need to resolve the promise before getting the value.\n if (!Array.isArray(lastItemsRef.current)) {\n warn(\n false,\n 'The `getAlgoliaSearchParams` function is not supported with storages that return promises in `getAll`.'\n );\n return params;\n }\n\n return {\n ...params,\n facetFilters: [\n ...(params.facetFilters ?? []),\n // @TODO: we need to base the filter on the `query` attribute, not\n // `objectID`, because the Query Suggestions index cannot ensure\n // that the `objectID` will always be equal to the query.\n ...lastItemsRef.current.map((item) => [`objectID:-${item.label}`]),\n ],\n hitsPerPage: Math.max(\n 1,\n (params.hitsPerPage ?? 10) - lastItemsRef.current.length\n ),\n };\n },\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<TItem extends RecentSearchesItem>(\n options: CreateRecentSearchesPluginParams<TItem>\n) {\n return {\n transformSource: ({ source }) => source,\n ...options,\n translations: {\n ...defaultTranslations,\n ...options.translations,\n },\n };\n}\n","import { addHighlightedAttribute } from './addHighlightedAttribute';\nimport { Highlighted, RecentSearchesItem } from './types';\n\nexport type SearchParams<TItem extends RecentSearchesItem> = {\n query: string;\n items: TItem[];\n limit: number;\n};\n\nexport function search<TItem extends RecentSearchesItem>({\n query,\n items,\n limit,\n}: SearchParams<TItem>): Array<Highlighted<TItem>> {\n if (!query) {\n return items\n .slice(0, limit)\n .map((item) => addHighlightedAttribute({ item, query }));\n }\n\n return items\n .filter((item) => item.label.toLowerCase().includes(query.toLowerCase()))\n .slice(0, limit)\n .map((item) => addHighlightedAttribute({ item, query }));\n}\n","import { AutocompletePlugin } from '@algolia/autocomplete-js';\n\nimport { defaultTranslations, LOCAL_STORAGE_KEY } from './constants';\nimport { createLocalStorage } from './createLocalStorage';\nimport {\n createRecentSearchesPlugin,\n CreateRecentSearchesPluginParams,\n RecentSearchesPluginData,\n} from './createRecentSearchesPlugin';\nimport { search as defaultSearch, SearchParams } from './search';\nimport { Highlighted, RecentSearchesItem } from './types';\n\nexport type CreateRecentSearchesLocalStorageOptions<\n TItem extends RecentSearchesItem\n> = {\n /**\n * A local storage key to identify where to save and retrieve the recent searches.\n *\n * For example:\n * - \"navbar\"\n * - \"search\"\n * - \"main\"\n *\n * The plugin namespaces all keys to avoid collisions.\n *\n * @example \"top_searchbar\"\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-key\n */\n key: string;\n\n /**\n * The number of recent searches to display.\n *\n * @default 5\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-limit\n */\n limit?: number;\n\n /**\n * A search function to retrieve recent searches from.\n *\n * This function is called in [`storage.getAll`](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-storage) to retrieve recent searches and is useful to filter and highlight recent searches when typing a query.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-search\n */\n search?(params: SearchParams<TItem>): Array<Highlighted<TItem>>;\n};\n\ntype LocalStorageRecentSearchesPluginOptions<TItem extends RecentSearchesItem> =\n Pick<\n CreateRecentSearchesPluginParams<TItem>,\n 'transformSource' | 'subscribe' | 'translations'\n > &\n CreateRecentSearchesLocalStorageOptions<TItem>;\n\nexport function createLocalStorageRecentSearchesPlugin<\n TItem extends RecentSearchesItem\n>(\n options: LocalStorageRecentSearchesPluginOptions<TItem>\n): AutocompletePlugin<TItem, RecentSearchesPluginData<TItem>> {\n const { key, limit, transformSource, search, subscribe, translations } =\n getOptions(options);\n const storage = createLocalStorage<TItem>({\n key: [LOCAL_STORAGE_KEY, key].join(':'),\n limit,\n search,\n });\n\n const recentSearchesPlugin = createRecentSearchesPlugin<TItem>({\n transformSource,\n storage,\n subscribe,\n translations,\n });\n\n return {\n ...recentSearchesPlugin,\n name: 'aa.localStorageRecentSearchesPlugin',\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<TItem extends RecentSearchesItem>(\n options: LocalStorageRecentSearchesPluginOptions<TItem>\n) {\n return {\n limit: 5,\n search: defaultSearch,\n transformSource: ({ source }) => source,\n ...options,\n translations: {\n ...defaultTranslations,\n ...options.translations,\n },\n };\n}\n"],"names":["addHighlightedAttribute","_ref","item","query","_objectSpread","_highlightResult","label","value","replace","RegExp","match","concat","LOCAL_STORAGE_KEY","LOCAL_STORAGE_KEY_TEST","defaultTranslations","removeSearchTitle","fillQueryTitle","text","isLocalStorageSupported","localStorage","setItem","removeItem","error","getLocalStorage","key","getItem","items","window","JSON","stringify","parse","createLocalStorage","limit","search","storage","onAdd","_toConsumableArray","onRemove","id","filter","x","getAll","arguments","length","undefined","slice","createRef","initialValue","current","warnCache","warn","condition","message","sanitizedMessage","trim","hasAlreadyPrinted","console","createStorageApi","addItem","getTemplates","onTapAhead","translations","_ref2","createElement","components","className","viewBox","fill","d","ReverseHighlight","hit","attribute","category","type","title","onClick","event","preventDefault","stopPropagation","getDefaultSubscribe","store","subscribe","onSelect","state","source","inputValue","getItemInputValue","sourceId","recentItem","__autocomplete_qsCategory","createRecentSearchesPlugin","options","_getOptions","getOptions","transformSource","lastItemsRef","name","onSubmit","_ref3","getSources","_ref4","setQuery","refresh","Promise","resolve","then","_ref5","getItems","templates","data","getAlgoliaSearchParams","_params$facetFilters","_params$hitsPerPage","params","Array","isArray","process","facetFilters","map","hitsPerPage","Math","max","__autocomplete_pluginOptions","_ref6","toLowerCase","includes","createLocalStorageRecentSearchesPlugin","join","recentSearchesPlugin","defaultSearch"],"mappings":"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A,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC1CJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAMK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAC,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA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"}
@@ -1,3 +1,3 @@
1
- /*! @algolia/autocomplete-plugin-recent-searches 1.19.9 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-plugin-recent-searches 1.19.11 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
2
  !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-plugin-recent-searches"]={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function r(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?n(Object(o),!0).forEach((function(t){r(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function a(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return t(e,r);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(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 i(e){var t=e.item,r=e.query;return o(o({},t),{},{_highlightResult:{label:{value:r?t.label.replace(new RegExp(r.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"gi"),(function(e){return"__aa-highlight__".concat(e,"__/aa-highlight__")})):t.label}}})}var c="AUTOCOMPLETE_RECENT_SEARCHES",u="__AUTOCOMPLETE_RECENT_SEARCHES_PLUGIN_TEST_KEY__",l={removeSearchTitle:"Remove this search",fillQueryTitle:function(e){return'Fill query with "'.concat(e,'"')}};function s(e){var t=e.key;return function(){try{return localStorage.setItem(u,""),localStorage.removeItem(u),!0}catch(e){return!1}}()?{setItem:function(e){return window.localStorage.setItem(t,JSON.stringify(e))},getItem:function(){var e=window.localStorage.getItem(t);return e?JSON.parse(e):[]}}:{setItem:function(){},getItem:function(){return[]}}}function m(e){var t=e.key,r=e.limit,n=e.search,o=s({key:t});return{onAdd:function(e){o.setItem([e].concat(a(o.getItem())))},onRemove:function(e){o.setItem(o.getItem().filter((function(t){return t.id!==e})))},getAll:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return n({query:e,items:o.getItem(),limit:r}).slice(0,r)}}}function f(e){var t=e.onRemove,r=e.onTapAhead,n=e.translations;return{item:function(e){var o=e.item,a=e.createElement,i=e.components;return a("div",{className:"aa-ItemWrapper"},a("div",{className:"aa-ItemContent"},a("div",{className:"aa-ItemIcon aa-ItemIcon--noBorder"},a("svg",{viewBox:"0 0 24 24",fill:"currentColor"},a("path",{d:"M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"}))),a("div",{className:"aa-ItemContentBody"},a("div",{className:"aa-ItemContentTitle"},a(i.ReverseHighlight,{hit:o,attribute:"label"}),o.category&&a("span",{className:"aa-ItemContentSubtitle aa-ItemContentSubtitle--inline"},a("span",{className:"aa-ItemContentSubtitleIcon"})," in"," ",a("span",{className:"aa-ItemContentSubtitleCategory"},o.category))))),a("div",{className:"aa-ItemActions"},a("button",{type:"button",className:"aa-ItemActionButton",title:n.removeSearchTitle,onClick:function(e){e.preventDefault(),e.stopPropagation(),t(o.id)}},a("svg",{viewBox:"0 0 24 24",fill:"currentColor"},a("path",{d:"M18 7v13c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-10c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-13zM17 5v-1c0-0.828-0.337-1.58-0.879-2.121s-1.293-0.879-2.121-0.879h-4c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v1h-4c-0.552 0-1 0.448-1 1s0.448 1 1 1h1v13c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h10c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-13h1c0.552 0 1-0.448 1-1s-0.448-1-1-1zM9 5v-1c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293h4c0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707v1zM9 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1zM13 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1z"}))),a("button",{type:"button",className:"aa-ItemActionButton",title:n.fillQueryTitle(o.label),onClick:function(e){e.preventDefault(),e.stopPropagation(),r(o)}},a("svg",{viewBox:"0 0 24 24",fill:"currentColor"},a("path",{d:"M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z"})))))}}}function g(e){return function(t){(0,t.onSelect)((function(t){var r=t.item,n=t.state,o=t.source,a=o.getItemInputValue({item:r,state:n});if("querySuggestionsPlugin"===o.sourceId&&a){var i={id:a,label:a,category:r.__autocomplete_qsCategory};e.addItem(i)}}))}}function v(e){var t=function(e){return o(o({transformSource:function(e){return e.source}},e),{},{translations:o(o({},l),e.translations)})}(e),r=t.storage,n=t.transformSource,i=t.subscribe,c=t.translations,u=function(e){return{addItem:function(t){e.onRemove(t.id),e.onAdd(t)},removeItem:function(t){e.onRemove(t)},getAll:function(t){return e.getAll(t)}}}(r),s={current:[]};return{name:"aa.recentSearchesPlugin",subscribe:null!=i?i:g(u),onSubmit:function(e){var t=e.state.query;if(t){var r={id:t,label:t};u.addItem(r)}},getSources:function(e){var t=e.query,r=e.setQuery,o=e.refresh,a=e.state;function i(e){u.removeItem(e),o()}function l(e){r(e.label),o()}return s.current=u.getAll(t),Promise.resolve(s.current).then((function(e){return 0===e.length?[]:[n({source:{sourceId:"recentSearchesPlugin",getItemInputValue:function(e){return e.item.label},getItems:function(){return e},templates:f({onRemove:i,onTapAhead:l,translations:c})},onRemove:i,onTapAhead:l,state:a})]}))},data:o(o({},u),{},{getAlgoliaSearchParams:function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Array.isArray(s.current)?o(o({},r),{},{facetFilters:[].concat(a(null!==(e=r.facetFilters)&&void 0!==e?e:[]),a(s.current.map((function(e){return["objectID:-".concat(e.label)]})))),hitsPerPage:Math.max(1,(null!==(t=r.hitsPerPage)&&void 0!==t?t:10)-s.current.length)}):r}}),__autocomplete_pluginOptions:e}}function p(e){var t=e.query,r=e.items,n=e.limit;return t?r.filter((function(e){return e.label.toLowerCase().includes(t.toLowerCase())})).slice(0,n).map((function(e){return i({item:e,query:t})})):r.slice(0,n).map((function(e){return i({item:e,query:t})}))}function h(e){return o(o({limit:5,search:p,transformSource:function(e){return e.source}},e),{},{translations:o(o({},l),e.translations)})}e.addHighlightedAttribute=i,e.createLocalStorage=m,e.createLocalStorageRecentSearchesPlugin=function(e){var t=h(e),r=t.key,n=t.limit,a=t.transformSource,i=t.search,u=t.subscribe,l=t.translations;return o(o({},v({transformSource:a,storage:m({key:[c,r].join(":"),limit:n,search:i}),subscribe:u,translations:l})),{},{name:"aa.localStorageRecentSearchesPlugin",__autocomplete_pluginOptions:e})},e.createRecentSearchesPlugin=v,e.getTemplates=f,e.search=p,Object.defineProperty(e,"__esModule",{value:!0})}));
3
3
  //# sourceMappingURL=index.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.production.js","sources":["../../src/addHighlightedAttribute.ts","../../src/constants.ts","../../src/getLocalStorage.ts","../../src/createLocalStorage.ts","../../src/getTemplates.tsx","../../src/createRecentSearchesPlugin.ts","../../src/createStorageApi.ts","../../../autocomplete-shared/dist/esm/createRef.js","../../src/search.ts","../../src/createLocalStorageRecentSearchesPlugin.ts"],"sourcesContent":["import { Highlighted, HistoryItem } from './types';\n\ntype HighlightParams<TItem> = {\n item: TItem;\n query: string;\n};\n\nexport function addHighlightedAttribute<TItem extends HistoryItem>({\n item,\n query,\n}: HighlightParams<TItem>): Highlighted<TItem> {\n return {\n ...item,\n _highlightResult: {\n label: {\n value: query\n ? item.label.replace(\n new RegExp(query.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'gi'),\n (match) => {\n return `__aa-highlight__${match}__/aa-highlight__`;\n }\n )\n : item.label,\n },\n },\n };\n}\n","import { AutocompleteRecentSearchesPluginTranslations } from './types';\n\nexport const LOCAL_STORAGE_KEY = 'AUTOCOMPLETE_RECENT_SEARCHES';\nexport const LOCAL_STORAGE_KEY_TEST =\n '__AUTOCOMPLETE_RECENT_SEARCHES_PLUGIN_TEST_KEY__';\n\nexport const defaultTranslations: AutocompleteRecentSearchesPluginTranslations =\n {\n removeSearchTitle: 'Remove this search',\n fillQueryTitle: (text: string) => `Fill query with \"${text}\"`,\n };\n","import { LOCAL_STORAGE_KEY_TEST } from './constants';\n\nfunction isLocalStorageSupported() {\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY_TEST, '');\n localStorage.removeItem(LOCAL_STORAGE_KEY_TEST);\n\n return true;\n } catch (error) {\n return false;\n }\n}\n\ntype LocalStorageProps = {\n key: string;\n};\n\nexport function getLocalStorage<TItem>({ key }: LocalStorageProps) {\n if (!isLocalStorageSupported()) {\n return {\n setItem() {},\n getItem() {\n return [];\n },\n };\n }\n\n return {\n setItem(items: TItem[]) {\n return window.localStorage.setItem(key, JSON.stringify(items));\n },\n getItem(): TItem[] {\n const items = window.localStorage.getItem(key);\n\n return items ? (JSON.parse(items) as TItem[]) : [];\n },\n };\n}\n","import { CreateRecentSearchesLocalStorageOptions } from './createLocalStorageRecentSearchesPlugin';\nimport { getLocalStorage } from './getLocalStorage';\nimport { HistoryItem, Storage } from './types';\n\nexport type CreateLocalStorageProps<TItem extends HistoryItem> = Required<\n CreateRecentSearchesLocalStorageOptions<TItem>\n>;\n\nexport function createLocalStorage<TItem extends HistoryItem>({\n key,\n limit,\n search,\n}: CreateLocalStorageProps<TItem>): Storage<TItem> {\n const storage = getLocalStorage<TItem>({ key });\n\n return {\n onAdd(item) {\n storage.setItem([item, ...storage.getItem()]);\n },\n onRemove(id) {\n storage.setItem(storage.getItem().filter((x) => x.id !== id));\n },\n getAll(query = '') {\n return search({ query, items: storage.getItem(), limit }).slice(0, limit);\n },\n };\n}\n","/** @jsxRuntime classic */\n/** @jsx createElement */\nimport { SourceTemplates } from '@algolia/autocomplete-js';\n\nimport {\n RecentSearchesItem,\n AutocompleteRecentSearchesPluginTranslations,\n} from './types';\n\nexport type GetTemplatesParams<TItem extends RecentSearchesItem> = {\n onRemove(id: string): void;\n onTapAhead(item: TItem): void;\n translations: AutocompleteRecentSearchesPluginTranslations;\n};\n\nexport function getTemplates<TItem extends RecentSearchesItem>({\n onRemove,\n onTapAhead,\n translations,\n}: GetTemplatesParams<TItem>): SourceTemplates<TItem> {\n return {\n item({ item, createElement, components }) {\n return (\n <div className=\"aa-ItemWrapper\">\n <div className=\"aa-ItemContent\">\n <div className=\"aa-ItemIcon aa-ItemIcon--noBorder\">\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z\" />\n </svg>\n </div>\n <div className=\"aa-ItemContentBody\">\n <div className=\"aa-ItemContentTitle\">\n <components.ReverseHighlight hit={item} attribute=\"label\" />\n {item.category && (\n <span className=\"aa-ItemContentSubtitle aa-ItemContentSubtitle--inline\">\n <span className=\"aa-ItemContentSubtitleIcon\" /> in{' '}\n <span className=\"aa-ItemContentSubtitleCategory\">\n {item.category}\n </span>\n </span>\n )}\n </div>\n </div>\n </div>\n <div className=\"aa-ItemActions\">\n <button\n type=\"button\"\n className=\"aa-ItemActionButton\"\n title={translations.removeSearchTitle}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onRemove(item.id);\n }}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M18 7v13c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-10c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-13zM17 5v-1c0-0.828-0.337-1.58-0.879-2.121s-1.293-0.879-2.121-0.879h-4c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v1h-4c-0.552 0-1 0.448-1 1s0.448 1 1 1h1v13c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h10c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-13h1c0.552 0 1-0.448 1-1s-0.448-1-1-1zM9 5v-1c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293h4c0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707v1zM9 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1zM13 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1z\" />\n </svg>\n </button>\n <button\n type=\"button\"\n className=\"aa-ItemActionButton\"\n title={translations.fillQueryTitle(item.label)}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onTapAhead(item);\n }}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z\" />\n </svg>\n </button>\n </div>\n </div>\n );\n },\n };\n}\n","import { PluginSubscribeParams } from '@algolia/autocomplete-core';\nimport {\n AutocompleteSource,\n AutocompleteState,\n AutocompletePlugin,\n} from '@algolia/autocomplete-js';\nimport { createRef, MaybePromise, warn } from '@algolia/autocomplete-shared';\nimport { SearchOptions } from '@algolia/client-search';\n\nimport { defaultTranslations } from './constants';\nimport { createStorageApi } from './createStorageApi';\nimport { getTemplates } from './getTemplates';\nimport {\n RecentSearchesItem,\n Storage,\n StorageApi,\n AutocompleteRecentSearchesPluginTranslations,\n} from './types';\n\nexport interface RecentSearchesPluginData<TItem extends RecentSearchesItem>\n extends StorageApi<TItem> {\n /**\n * Optimized [Algolia search parameters](https://www.algolia.com/doc/api-reference/search-api-parameters/). This is useful when using the plugin along with the [Query Suggestions](createQuerySuggestionsPlugin) plugin.\n *\n * This function enhances the provided search parameters by:\n * - Excluding Query Suggestions that are already displayed in recent searches.\n * - Using a shared `hitsPerPage` value to get a group limit of Query Suggestions and recent searches.\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-getalgoliasearchparams\n */\n getAlgoliaSearchParams(params?: SearchOptions): SearchOptions;\n}\n\nexport type CreateRecentSearchesPluginParams<TItem extends RecentSearchesItem> =\n {\n /**\n * The storage to fetch from and save recent searches into.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-storage\n */\n storage: Storage<TItem>;\n /**\n * A function to transform the provided source.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-transformsource\n */\n transformSource?(params: {\n source: AutocompleteSource<TItem>;\n state: AutocompleteState<TItem>;\n onRemove(id: string): void;\n onTapAhead(item: TItem): void;\n }): AutocompleteSource<TItem>;\n subscribe?(params: PluginSubscribeParams<TItem>): void;\n\n /**\n * A mapping of translation strings.\n *\n * Defaults to English values.\n */\n translations?: Partial<AutocompleteRecentSearchesPluginTranslations>;\n };\n\nfunction getDefaultSubscribe<TItem extends RecentSearchesItem>(\n store: StorageApi<TItem>\n) {\n return function subscribe({ onSelect }: PluginSubscribeParams<TItem>) {\n onSelect(({ item, state, source }) => {\n const inputValue = source.getItemInputValue({ item, state });\n\n if (source.sourceId === 'querySuggestionsPlugin' && inputValue) {\n const recentItem: RecentSearchesItem = {\n id: inputValue,\n label: inputValue,\n category: (item as any).__autocomplete_qsCategory,\n };\n store.addItem(recentItem as TItem);\n }\n });\n };\n}\n\nexport function createRecentSearchesPlugin<TItem extends RecentSearchesItem>(\n options: CreateRecentSearchesPluginParams<TItem>\n): AutocompletePlugin<TItem, RecentSearchesPluginData<TItem>> {\n const { storage, transformSource, subscribe, translations } =\n getOptions(options);\n const store = createStorageApi<TItem>(storage);\n const lastItemsRef = createRef<MaybePromise<TItem[]>>([]);\n\n return {\n name: 'aa.recentSearchesPlugin',\n subscribe: subscribe ?? getDefaultSubscribe(store),\n onSubmit({ state }) {\n const { query } = state;\n\n if (query) {\n const recentItem: RecentSearchesItem = {\n id: query,\n label: query,\n };\n store.addItem(recentItem as TItem);\n }\n },\n getSources({ query, setQuery, refresh, state }) {\n lastItemsRef.current = store.getAll(query);\n\n function onRemove(id: string) {\n store.removeItem(id);\n refresh();\n }\n\n function onTapAhead(item: TItem) {\n setQuery(item.label);\n refresh();\n }\n\n return Promise.resolve(lastItemsRef.current).then((items) => {\n if (items.length === 0) {\n return [];\n }\n\n return [\n transformSource({\n source: {\n sourceId: 'recentSearchesPlugin',\n getItemInputValue({ item }) {\n return item.label;\n },\n getItems() {\n return items;\n },\n templates: getTemplates({ onRemove, onTapAhead, translations }),\n },\n onRemove,\n onTapAhead,\n state: state as AutocompleteState<TItem>,\n }),\n ];\n });\n },\n data: {\n ...store,\n // @ts-ignore SearchOptions `facetFilters` is ReadonlyArray\n getAlgoliaSearchParams(params = {}) {\n // If the items returned by `store.getAll` are contained in a Promise,\n // we cannot provide the search params in time when this function is called\n // because we need to resolve the promise before getting the value.\n if (!Array.isArray(lastItemsRef.current)) {\n warn(\n false,\n 'The `getAlgoliaSearchParams` function is not supported with storages that return promises in `getAll`.'\n );\n return params;\n }\n\n return {\n ...params,\n facetFilters: [\n ...(params.facetFilters ?? []),\n // @TODO: we need to base the filter on the `query` attribute, not\n // `objectID`, because the Query Suggestions index cannot ensure\n // that the `objectID` will always be equal to the query.\n ...lastItemsRef.current.map((item) => [`objectID:-${item.label}`]),\n ],\n hitsPerPage: Math.max(\n 1,\n (params.hitsPerPage ?? 10) - lastItemsRef.current.length\n ),\n };\n },\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<TItem extends RecentSearchesItem>(\n options: CreateRecentSearchesPluginParams<TItem>\n) {\n return {\n transformSource: ({ source }) => source,\n ...options,\n translations: {\n ...defaultTranslations,\n ...options.translations,\n },\n };\n}\n","import { HistoryItem, Storage, StorageApi } from './types';\n\nexport function createStorageApi<TItem extends HistoryItem>(\n storage: Storage<TItem>\n): StorageApi<TItem> {\n return {\n addItem(item) {\n storage.onRemove(item.id);\n storage.onAdd(item);\n },\n removeItem(id) {\n storage.onRemove(id);\n },\n getAll(query) {\n return storage.getAll(query);\n },\n };\n}\n","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","import { addHighlightedAttribute } from './addHighlightedAttribute';\nimport { Highlighted, RecentSearchesItem } from './types';\n\nexport type SearchParams<TItem extends RecentSearchesItem> = {\n query: string;\n items: TItem[];\n limit: number;\n};\n\nexport function search<TItem extends RecentSearchesItem>({\n query,\n items,\n limit,\n}: SearchParams<TItem>): Array<Highlighted<TItem>> {\n if (!query) {\n return items\n .slice(0, limit)\n .map((item) => addHighlightedAttribute({ item, query }));\n }\n\n return items\n .filter((item) => item.label.toLowerCase().includes(query.toLowerCase()))\n .slice(0, limit)\n .map((item) => addHighlightedAttribute({ item, query }));\n}\n","import { AutocompletePlugin } from '@algolia/autocomplete-js';\n\nimport { defaultTranslations, LOCAL_STORAGE_KEY } from './constants';\nimport { createLocalStorage } from './createLocalStorage';\nimport {\n createRecentSearchesPlugin,\n CreateRecentSearchesPluginParams,\n RecentSearchesPluginData,\n} from './createRecentSearchesPlugin';\nimport { search as defaultSearch, SearchParams } from './search';\nimport { Highlighted, RecentSearchesItem } from './types';\n\nexport type CreateRecentSearchesLocalStorageOptions<\n TItem extends RecentSearchesItem\n> = {\n /**\n * A local storage key to identify where to save and retrieve the recent searches.\n *\n * For example:\n * - \"navbar\"\n * - \"search\"\n * - \"main\"\n *\n * The plugin namespaces all keys to avoid collisions.\n *\n * @example \"top_searchbar\"\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-key\n */\n key: string;\n\n /**\n * The number of recent searches to display.\n *\n * @default 5\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-limit\n */\n limit?: number;\n\n /**\n * A search function to retrieve recent searches from.\n *\n * This function is called in [`storage.getAll`](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-storage) to retrieve recent searches and is useful to filter and highlight recent searches when typing a query.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-search\n */\n search?(params: SearchParams<TItem>): Array<Highlighted<TItem>>;\n};\n\ntype LocalStorageRecentSearchesPluginOptions<TItem extends RecentSearchesItem> =\n Pick<\n CreateRecentSearchesPluginParams<TItem>,\n 'transformSource' | 'subscribe' | 'translations'\n > &\n CreateRecentSearchesLocalStorageOptions<TItem>;\n\nexport function createLocalStorageRecentSearchesPlugin<\n TItem extends RecentSearchesItem\n>(\n options: LocalStorageRecentSearchesPluginOptions<TItem>\n): AutocompletePlugin<TItem, RecentSearchesPluginData<TItem>> {\n const { key, limit, transformSource, search, subscribe, translations } =\n getOptions(options);\n const storage = createLocalStorage<TItem>({\n key: [LOCAL_STORAGE_KEY, key].join(':'),\n limit,\n search,\n });\n\n const recentSearchesPlugin = createRecentSearchesPlugin<TItem>({\n transformSource,\n storage,\n subscribe,\n translations,\n });\n\n return {\n ...recentSearchesPlugin,\n name: 'aa.localStorageRecentSearchesPlugin',\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<TItem extends RecentSearchesItem>(\n options: LocalStorageRecentSearchesPluginOptions<TItem>\n) {\n return {\n limit: 5,\n search: defaultSearch,\n transformSource: ({ source }) => source,\n ...options,\n translations: {\n ...defaultTranslations,\n ...options.translations,\n },\n };\n}\n"],"names":["addHighlightedAttribute","_ref","item","query","_objectSpread","_highlightResult","label","value","replace","RegExp","match","concat","LOCAL_STORAGE_KEY","LOCAL_STORAGE_KEY_TEST","defaultTranslations","removeSearchTitle","fillQueryTitle","text","getLocalStorage","key","localStorage","setItem","removeItem","error","isLocalStorageSupported","items","window","JSON","stringify","getItem","parse","createLocalStorage","limit","search","storage","onAdd","_toConsumableArray","onRemove","id","filter","x","getAll","arguments","length","undefined","slice","getTemplates","onTapAhead","translations","_ref2","createElement","components","className","viewBox","fill","d","ReverseHighlight","hit","attribute","category","type","title","onClick","event","preventDefault","stopPropagation","getDefaultSubscribe","store","onSelect","state","source","inputValue","getItemInputValue","sourceId","recentItem","__autocomplete_qsCategory","addItem","createRecentSearchesPlugin","options","_getOptions","transformSource","_ref6","getOptions","subscribe","createStorageApi","lastItemsRef","current","name","onSubmit","_ref3","getSources","_ref4","setQuery","refresh","Promise","resolve","then","_ref5","getItems","templates","data","getAlgoliaSearchParams","_params$facetFilters","_params$hitsPerPage","params","Array","isArray","facetFilters","map","hitsPerPage","Math","max","__autocomplete_pluginOptions","toLowerCase","includes","defaultSearch","join"],"mappings":"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"}
1
+ {"version":3,"file":"index.production.js","sources":["../../src/addHighlightedAttribute.ts","../../src/constants.ts","../../src/getLocalStorage.ts","../../src/createLocalStorage.ts","../../src/getTemplates.tsx","../../src/createRecentSearchesPlugin.ts","../../src/createStorageApi.ts","../../../autocomplete-shared/dist/esm/createRef.js","../../src/search.ts","../../src/createLocalStorageRecentSearchesPlugin.ts"],"sourcesContent":["import { Highlighted, HistoryItem } from './types';\n\ntype HighlightParams<TItem> = {\n item: TItem;\n query: string;\n};\n\nexport function addHighlightedAttribute<TItem extends HistoryItem>({\n item,\n query,\n}: HighlightParams<TItem>): Highlighted<TItem> {\n return {\n ...item,\n _highlightResult: {\n label: {\n value: query\n ? item.label.replace(\n new RegExp(query.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'gi'),\n (match) => {\n return `__aa-highlight__${match}__/aa-highlight__`;\n }\n )\n : item.label,\n },\n },\n };\n}\n","import { AutocompleteRecentSearchesPluginTranslations } from './types';\n\nexport const LOCAL_STORAGE_KEY = 'AUTOCOMPLETE_RECENT_SEARCHES';\nexport const LOCAL_STORAGE_KEY_TEST =\n '__AUTOCOMPLETE_RECENT_SEARCHES_PLUGIN_TEST_KEY__';\n\nexport const defaultTranslations: AutocompleteRecentSearchesPluginTranslations =\n {\n removeSearchTitle: 'Remove this search',\n fillQueryTitle: (text: string) => `Fill query with \"${text}\"`,\n };\n","import { LOCAL_STORAGE_KEY_TEST } from './constants';\n\nfunction isLocalStorageSupported() {\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY_TEST, '');\n localStorage.removeItem(LOCAL_STORAGE_KEY_TEST);\n\n return true;\n } catch (error) {\n return false;\n }\n}\n\ntype LocalStorageProps = {\n key: string;\n};\n\nexport function getLocalStorage<TItem>({ key }: LocalStorageProps) {\n if (!isLocalStorageSupported()) {\n return {\n setItem() {},\n getItem() {\n return [];\n },\n };\n }\n\n return {\n setItem(items: TItem[]) {\n return window.localStorage.setItem(key, JSON.stringify(items));\n },\n getItem(): TItem[] {\n const items = window.localStorage.getItem(key);\n\n return items ? (JSON.parse(items) as TItem[]) : [];\n },\n };\n}\n","import { CreateRecentSearchesLocalStorageOptions } from './createLocalStorageRecentSearchesPlugin';\nimport { getLocalStorage } from './getLocalStorage';\nimport { HistoryItem, Storage } from './types';\n\nexport type CreateLocalStorageProps<TItem extends HistoryItem> = Required<\n CreateRecentSearchesLocalStorageOptions<TItem>\n>;\n\nexport function createLocalStorage<TItem extends HistoryItem>({\n key,\n limit,\n search,\n}: CreateLocalStorageProps<TItem>): Storage<TItem> {\n const storage = getLocalStorage<TItem>({ key });\n\n return {\n onAdd(item) {\n storage.setItem([item, ...storage.getItem()]);\n },\n onRemove(id) {\n storage.setItem(storage.getItem().filter((x) => x.id !== id));\n },\n getAll(query = '') {\n return search({ query, items: storage.getItem(), limit }).slice(0, limit);\n },\n };\n}\n","/** @jsxRuntime classic */\n/** @jsx createElement */\nimport { SourceTemplates } from '@algolia/autocomplete-js';\n\nimport {\n RecentSearchesItem,\n AutocompleteRecentSearchesPluginTranslations,\n} from './types';\n\nexport type GetTemplatesParams<TItem extends RecentSearchesItem> = {\n onRemove(id: string): void;\n onTapAhead(item: TItem): void;\n translations: AutocompleteRecentSearchesPluginTranslations;\n};\n\nexport function getTemplates<TItem extends RecentSearchesItem>({\n onRemove,\n onTapAhead,\n translations,\n}: GetTemplatesParams<TItem>): SourceTemplates<TItem> {\n return {\n item({ item, createElement, components }) {\n return (\n <div className=\"aa-ItemWrapper\">\n <div className=\"aa-ItemContent\">\n <div className=\"aa-ItemIcon aa-ItemIcon--noBorder\">\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z\" />\n </svg>\n </div>\n <div className=\"aa-ItemContentBody\">\n <div className=\"aa-ItemContentTitle\">\n <components.ReverseHighlight hit={item} attribute=\"label\" />\n {item.category && (\n <span className=\"aa-ItemContentSubtitle aa-ItemContentSubtitle--inline\">\n <span className=\"aa-ItemContentSubtitleIcon\" /> in{' '}\n <span className=\"aa-ItemContentSubtitleCategory\">\n {item.category}\n </span>\n </span>\n )}\n </div>\n </div>\n </div>\n <div className=\"aa-ItemActions\">\n <button\n type=\"button\"\n className=\"aa-ItemActionButton\"\n title={translations.removeSearchTitle}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onRemove(item.id);\n }}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M18 7v13c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-10c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-13zM17 5v-1c0-0.828-0.337-1.58-0.879-2.121s-1.293-0.879-2.121-0.879h-4c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v1h-4c-0.552 0-1 0.448-1 1s0.448 1 1 1h1v13c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h10c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-13h1c0.552 0 1-0.448 1-1s-0.448-1-1-1zM9 5v-1c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293h4c0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707v1zM9 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1zM13 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1z\" />\n </svg>\n </button>\n <button\n type=\"button\"\n className=\"aa-ItemActionButton\"\n title={translations.fillQueryTitle(item.label)}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onTapAhead(item);\n }}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z\" />\n </svg>\n </button>\n </div>\n </div>\n );\n },\n };\n}\n","import { PluginSubscribeParams } from '@algolia/autocomplete-core';\nimport {\n AutocompleteSource,\n AutocompleteState,\n AutocompletePlugin,\n} from '@algolia/autocomplete-js';\nimport { SearchOptions } from '@algolia/autocomplete-preset-algolia';\nimport { createRef, MaybePromise, warn } from '@algolia/autocomplete-shared';\n\nimport { defaultTranslations } from './constants';\nimport { createStorageApi } from './createStorageApi';\nimport { getTemplates } from './getTemplates';\nimport {\n RecentSearchesItem,\n Storage,\n StorageApi,\n AutocompleteRecentSearchesPluginTranslations,\n} from './types';\n\nexport interface RecentSearchesPluginData<TItem extends RecentSearchesItem>\n extends StorageApi<TItem> {\n /**\n * Optimized [Algolia search parameters](https://www.algolia.com/doc/api-reference/search-api-parameters/). This is useful when using the plugin along with the [Query Suggestions](createQuerySuggestionsPlugin) plugin.\n *\n * This function enhances the provided search parameters by:\n * - Excluding Query Suggestions that are already displayed in recent searches.\n * - Using a shared `hitsPerPage` value to get a group limit of Query Suggestions and recent searches.\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-getalgoliasearchparams\n */\n getAlgoliaSearchParams(params?: SearchOptions): SearchOptions;\n}\n\nexport type CreateRecentSearchesPluginParams<TItem extends RecentSearchesItem> =\n {\n /**\n * The storage to fetch from and save recent searches into.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-storage\n */\n storage: Storage<TItem>;\n /**\n * A function to transform the provided source.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-transformsource\n */\n transformSource?(params: {\n source: AutocompleteSource<TItem>;\n state: AutocompleteState<TItem>;\n onRemove(id: string): void;\n onTapAhead(item: TItem): void;\n }): AutocompleteSource<TItem>;\n subscribe?(params: PluginSubscribeParams<TItem>): void;\n\n /**\n * A mapping of translation strings.\n *\n * Defaults to English values.\n */\n translations?: Partial<AutocompleteRecentSearchesPluginTranslations>;\n };\n\nfunction getDefaultSubscribe<TItem extends RecentSearchesItem>(\n store: StorageApi<TItem>\n) {\n return function subscribe({ onSelect }: PluginSubscribeParams<TItem>) {\n onSelect(({ item, state, source }) => {\n const inputValue = source.getItemInputValue({ item, state });\n\n if (source.sourceId === 'querySuggestionsPlugin' && inputValue) {\n const recentItem: RecentSearchesItem = {\n id: inputValue,\n label: inputValue,\n category: (item as any).__autocomplete_qsCategory,\n };\n store.addItem(recentItem as TItem);\n }\n });\n };\n}\n\nexport function createRecentSearchesPlugin<TItem extends RecentSearchesItem>(\n options: CreateRecentSearchesPluginParams<TItem>\n): AutocompletePlugin<TItem, RecentSearchesPluginData<TItem>> {\n const { storage, transformSource, subscribe, translations } =\n getOptions(options);\n const store = createStorageApi<TItem>(storage);\n const lastItemsRef = createRef<MaybePromise<TItem[]>>([]);\n\n return {\n name: 'aa.recentSearchesPlugin',\n subscribe: subscribe ?? getDefaultSubscribe(store),\n onSubmit({ state }) {\n const { query } = state;\n\n if (query) {\n const recentItem: RecentSearchesItem = {\n id: query,\n label: query,\n };\n store.addItem(recentItem as TItem);\n }\n },\n getSources({ query, setQuery, refresh, state }) {\n lastItemsRef.current = store.getAll(query);\n\n function onRemove(id: string) {\n store.removeItem(id);\n refresh();\n }\n\n function onTapAhead(item: TItem) {\n setQuery(item.label);\n refresh();\n }\n\n return Promise.resolve(lastItemsRef.current).then((items) => {\n if (items.length === 0) {\n return [];\n }\n\n return [\n transformSource({\n source: {\n sourceId: 'recentSearchesPlugin',\n getItemInputValue({ item }) {\n return item.label;\n },\n getItems() {\n return items;\n },\n templates: getTemplates({ onRemove, onTapAhead, translations }),\n },\n onRemove,\n onTapAhead,\n state: state as AutocompleteState<TItem>,\n }),\n ];\n });\n },\n data: {\n ...store,\n // @ts-ignore SearchOptions `facetFilters` is ReadonlyArray\n getAlgoliaSearchParams(params = {}) {\n // If the items returned by `store.getAll` are contained in a Promise,\n // we cannot provide the search params in time when this function is called\n // because we need to resolve the promise before getting the value.\n if (!Array.isArray(lastItemsRef.current)) {\n warn(\n false,\n 'The `getAlgoliaSearchParams` function is not supported with storages that return promises in `getAll`.'\n );\n return params;\n }\n\n return {\n ...params,\n facetFilters: [\n ...(params.facetFilters ?? []),\n // @TODO: we need to base the filter on the `query` attribute, not\n // `objectID`, because the Query Suggestions index cannot ensure\n // that the `objectID` will always be equal to the query.\n ...lastItemsRef.current.map((item) => [`objectID:-${item.label}`]),\n ],\n hitsPerPage: Math.max(\n 1,\n (params.hitsPerPage ?? 10) - lastItemsRef.current.length\n ),\n };\n },\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<TItem extends RecentSearchesItem>(\n options: CreateRecentSearchesPluginParams<TItem>\n) {\n return {\n transformSource: ({ source }) => source,\n ...options,\n translations: {\n ...defaultTranslations,\n ...options.translations,\n },\n };\n}\n","import { HistoryItem, Storage, StorageApi } from './types';\n\nexport function createStorageApi<TItem extends HistoryItem>(\n storage: Storage<TItem>\n): StorageApi<TItem> {\n return {\n addItem(item) {\n storage.onRemove(item.id);\n storage.onAdd(item);\n },\n removeItem(id) {\n storage.onRemove(id);\n },\n getAll(query) {\n return storage.getAll(query);\n },\n };\n}\n","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","import { addHighlightedAttribute } from './addHighlightedAttribute';\nimport { Highlighted, RecentSearchesItem } from './types';\n\nexport type SearchParams<TItem extends RecentSearchesItem> = {\n query: string;\n items: TItem[];\n limit: number;\n};\n\nexport function search<TItem extends RecentSearchesItem>({\n query,\n items,\n limit,\n}: SearchParams<TItem>): Array<Highlighted<TItem>> {\n if (!query) {\n return items\n .slice(0, limit)\n .map((item) => addHighlightedAttribute({ item, query }));\n }\n\n return items\n .filter((item) => item.label.toLowerCase().includes(query.toLowerCase()))\n .slice(0, limit)\n .map((item) => addHighlightedAttribute({ item, query }));\n}\n","import { AutocompletePlugin } from '@algolia/autocomplete-js';\n\nimport { defaultTranslations, LOCAL_STORAGE_KEY } from './constants';\nimport { createLocalStorage } from './createLocalStorage';\nimport {\n createRecentSearchesPlugin,\n CreateRecentSearchesPluginParams,\n RecentSearchesPluginData,\n} from './createRecentSearchesPlugin';\nimport { search as defaultSearch, SearchParams } from './search';\nimport { Highlighted, RecentSearchesItem } from './types';\n\nexport type CreateRecentSearchesLocalStorageOptions<\n TItem extends RecentSearchesItem\n> = {\n /**\n * A local storage key to identify where to save and retrieve the recent searches.\n *\n * For example:\n * - \"navbar\"\n * - \"search\"\n * - \"main\"\n *\n * The plugin namespaces all keys to avoid collisions.\n *\n * @example \"top_searchbar\"\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-key\n */\n key: string;\n\n /**\n * The number of recent searches to display.\n *\n * @default 5\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-limit\n */\n limit?: number;\n\n /**\n * A search function to retrieve recent searches from.\n *\n * This function is called in [`storage.getAll`](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-storage) to retrieve recent searches and is useful to filter and highlight recent searches when typing a query.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-search\n */\n search?(params: SearchParams<TItem>): Array<Highlighted<TItem>>;\n};\n\ntype LocalStorageRecentSearchesPluginOptions<TItem extends RecentSearchesItem> =\n Pick<\n CreateRecentSearchesPluginParams<TItem>,\n 'transformSource' | 'subscribe' | 'translations'\n > &\n CreateRecentSearchesLocalStorageOptions<TItem>;\n\nexport function createLocalStorageRecentSearchesPlugin<\n TItem extends RecentSearchesItem\n>(\n options: LocalStorageRecentSearchesPluginOptions<TItem>\n): AutocompletePlugin<TItem, RecentSearchesPluginData<TItem>> {\n const { key, limit, transformSource, search, subscribe, translations } =\n getOptions(options);\n const storage = createLocalStorage<TItem>({\n key: [LOCAL_STORAGE_KEY, key].join(':'),\n limit,\n search,\n });\n\n const recentSearchesPlugin = createRecentSearchesPlugin<TItem>({\n transformSource,\n storage,\n subscribe,\n translations,\n });\n\n return {\n ...recentSearchesPlugin,\n name: 'aa.localStorageRecentSearchesPlugin',\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<TItem extends RecentSearchesItem>(\n options: LocalStorageRecentSearchesPluginOptions<TItem>\n) {\n return {\n limit: 5,\n search: defaultSearch,\n transformSource: ({ source }) => source,\n ...options,\n translations: {\n ...defaultTranslations,\n ...options.translations,\n },\n };\n}\n"],"names":["addHighlightedAttribute","_ref","item","query","_objectSpread","_highlightResult","label","value","replace","RegExp","match","concat","LOCAL_STORAGE_KEY","LOCAL_STORAGE_KEY_TEST","defaultTranslations","removeSearchTitle","fillQueryTitle","text","getLocalStorage","key","localStorage","setItem","removeItem","error","isLocalStorageSupported","items","window","JSON","stringify","getItem","parse","createLocalStorage","limit","search","storage","onAdd","_toConsumableArray","onRemove","id","filter","x","getAll","arguments","length","undefined","slice","getTemplates","onTapAhead","translations","_ref2","createElement","components","className","viewBox","fill","d","ReverseHighlight","hit","attribute","category","type","title","onClick","event","preventDefault","stopPropagation","getDefaultSubscribe","store","onSelect","state","source","inputValue","getItemInputValue","sourceId","recentItem","__autocomplete_qsCategory","addItem","createRecentSearchesPlugin","options","_getOptions","transformSource","_ref6","getOptions","subscribe","createStorageApi","lastItemsRef","current","name","onSubmit","_ref3","getSources","_ref4","setQuery","refresh","Promise","resolve","then","_ref5","getItems","templates","data","getAlgoliaSearchParams","_params$facetFilters","_params$hitsPerPage","params","Array","isArray","facetFilters","map","hitsPerPage","Math","max","__autocomplete_pluginOptions","toLowerCase","includes","defaultSearch","join"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@algolia/autocomplete-plugin-recent-searches",
3
3
  "description": "A plugin to add recent searches to Algolia Autocomplete.",
4
- "version": "1.19.9",
4
+ "version": "1.19.11",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/algolia/autocomplete",
7
7
  "repository": "algolia/autocomplete",
@@ -31,10 +31,10 @@
31
31
  "watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
32
32
  },
33
33
  "dependencies": {
34
- "@algolia/autocomplete-core": "1.19.9",
35
- "@algolia/autocomplete-js": "1.19.9",
36
- "@algolia/autocomplete-preset-algolia": "1.19.9",
37
- "@algolia/autocomplete-shared": "1.19.9"
34
+ "@algolia/autocomplete-core": "1.19.11",
35
+ "@algolia/autocomplete-js": "1.19.11",
36
+ "@algolia/autocomplete-preset-algolia": "1.19.11",
37
+ "@algolia/autocomplete-shared": "1.19.11"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@algolia/client-search": "4.16.0"