@algolia/autocomplete-plugin-redirect-url 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,15 @@
1
+ # @algolia/autocomplete-plugin-redirect-url
2
+
3
+ The Redirect URL plugin adds redirect functionality to your autocomplete.
4
+
5
+ ## Installation
6
+
7
+ ```sh
8
+ yarn add @algolia/autocomplete-plugin-redirect-url
9
+ # or
10
+ npm install @algolia/autocomplete-plugin-redirect-url
11
+ ```
12
+
13
+ ## Documentation
14
+
15
+ See [**Documentation**](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-redirect-url).
@@ -0,0 +1,4 @@
1
+ import { BaseItem } from '@algolia/autocomplete-core';
2
+ import { AutocompletePlugin } from '@algolia/autocomplete-js';
3
+ import { CreateRedirectUrlPluginParams, RedirectUrlItem } from './types';
4
+ export declare function createRedirectUrlPlugin<TItem extends BaseItem>(options?: CreateRedirectUrlPluginParams<TItem>): AutocompletePlugin<RedirectUrlItem, undefined>;
@@ -0,0 +1,213 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ import { warn } from '@algolia/autocomplete-shared';
8
+ import { defaultTemplates } from './templates';
9
+
10
+ function defaultTransformResponse(response) {
11
+ var _renderingContent, _renderingContent$red;
12
+
13
+ return (_renderingContent = response.renderingContent) === null || _renderingContent === void 0 ? void 0 : (_renderingContent$red = _renderingContent.redirect) === null || _renderingContent$red === void 0 ? void 0 : _renderingContent$red.url;
14
+ }
15
+
16
+ function defaultOnRedirect(redirects, _ref) {
17
+ var _item$urls;
18
+
19
+ var event = _ref.event,
20
+ navigator = _ref.navigator,
21
+ state = _ref.state;
22
+ var item = redirects[0];
23
+ var itemUrl = item === null || item === void 0 ? void 0 : (_item$urls = item.urls) === null || _item$urls === void 0 ? void 0 : _item$urls[0];
24
+
25
+ if (!itemUrl) {
26
+ return;
27
+ }
28
+
29
+ if (event.metaKey || event.ctrlKey) {
30
+ navigator.navigateNewTab({
31
+ itemUrl: itemUrl,
32
+ item: item,
33
+ state: state
34
+ });
35
+ } else if (event.shiftKey) {
36
+ navigator.navigateNewWindow({
37
+ itemUrl: itemUrl,
38
+ item: item,
39
+ state: state
40
+ });
41
+ } else {
42
+ navigator.navigate({
43
+ itemUrl: itemUrl,
44
+ item: item,
45
+ state: state
46
+ });
47
+ }
48
+ }
49
+
50
+ function getOptions(options) {
51
+ return _objectSpread({
52
+ transformResponse: defaultTransformResponse,
53
+ templates: defaultTemplates,
54
+ onRedirect: defaultOnRedirect
55
+ }, options);
56
+ }
57
+
58
+ function getRedirectData(_ref2) {
59
+ var _redirectUrlPlugin$da;
60
+
61
+ var state = _ref2.state;
62
+ var redirectUrlPlugin = state.context.redirectUrlPlugin;
63
+ return (_redirectUrlPlugin$da = redirectUrlPlugin === null || redirectUrlPlugin === void 0 ? void 0 : redirectUrlPlugin.data) !== null && _redirectUrlPlugin$da !== void 0 ? _redirectUrlPlugin$da : [];
64
+ }
65
+
66
+ export function createRedirectUrlPlugin() {
67
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
68
+
69
+ var _getOptions = getOptions(options),
70
+ transformResponse = _getOptions.transformResponse,
71
+ templates = _getOptions.templates,
72
+ onRedirect = _getOptions.onRedirect;
73
+
74
+ function createRedirects(_ref3) {
75
+ var _state$context$redire, _state$context$redire2;
76
+
77
+ var results = _ref3.results,
78
+ source = _ref3.source,
79
+ state = _ref3.state;
80
+ var redirect = {
81
+ sourceId: source.sourceId,
82
+ urls: results.map(function (result) {
83
+ return transformResponse(result);
84
+ }).filter(function (url) {
85
+ return url !== undefined;
86
+ })
87
+ };
88
+ var redirects = (_state$context$redire = (_state$context$redire2 = state.context.redirectUrlPlugin) === null || _state$context$redire2 === void 0 ? void 0 : _state$context$redire2.data) !== null && _state$context$redire !== void 0 ? _state$context$redire : [];
89
+ var existingRedirectIndex = redirects.findIndex(function (r) {
90
+ return r.sourceId === source.sourceId;
91
+ });
92
+
93
+ if (existingRedirectIndex !== -1) {
94
+ if (redirect.urls.length === 0) {
95
+ redirects.splice(existingRedirectIndex, 1);
96
+ } else {
97
+ redirects[existingRedirectIndex] = redirect;
98
+ }
99
+ } else if (redirect.urls.length > 0) {
100
+ redirects.push(redirect);
101
+ }
102
+
103
+ return redirects;
104
+ }
105
+
106
+ return {
107
+ name: 'aa.redirectUrlPlugin',
108
+ subscribe: function subscribe(_ref4) {
109
+ var onResolve = _ref4.onResolve,
110
+ setContext = _ref4.setContext;
111
+ onResolve(function (_ref5) {
112
+ var results = _ref5.results,
113
+ source = _ref5.source,
114
+ state = _ref5.state;
115
+ setContext(_objectSpread(_objectSpread({}, state.context), {}, {
116
+ redirectUrlPlugin: {
117
+ data: createRedirects({
118
+ results: results,
119
+ source: source,
120
+ state: state
121
+ })
122
+ }
123
+ }));
124
+ });
125
+ },
126
+ reshape: function reshape(_ref6) {
127
+ var _data, _state$context$redire3;
128
+
129
+ var state = _ref6.state,
130
+ sourcesBySourceId = _ref6.sourcesBySourceId;
131
+ var redirects = (_data = (_state$context$redire3 = state.context.redirectUrlPlugin) === null || _state$context$redire3 === void 0 ? void 0 : _state$context$redire3.data) !== null && _data !== void 0 ? _data : [];
132
+ redirects.forEach(function (redirect) {
133
+ var source = sourcesBySourceId[redirect.sourceId];
134
+
135
+ if (source === undefined) {
136
+ return;
137
+ }
138
+
139
+ sourcesBySourceId[redirect.sourceId] = _objectSpread(_objectSpread({}, source), {}, {
140
+ getItems: function getItems() {
141
+ return source.getItems().filter(function (item) {
142
+ if (source.getItemInputValue.__default) {
143
+ process.env.NODE_ENV !== 'production' ? warn(false, "The source ".concat(JSON.stringify(source.sourceId), " does not have a `getItemInputValue` function. It's required to be able to filter out the redirect item.") + '\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getiteminputvalue') : void 0;
144
+ return true;
145
+ }
146
+
147
+ var itemInputValue = source.getItemInputValue({
148
+ item: item,
149
+ state: state
150
+ });
151
+
152
+ if (itemInputValue === undefined) {
153
+ process.env.NODE_ENV !== 'production' ? warn(false, "The source ".concat(JSON.stringify(source.sourceId), " does not return a string from the `getItemInputValue` function. It's required to be able to filter out the redirect item.") + '\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getiteminputvalue') : void 0;
154
+ return true;
155
+ }
156
+
157
+ return itemInputValue.toLowerCase() !== state.query.toLowerCase();
158
+ });
159
+ }
160
+ });
161
+ });
162
+ var redirectSource = {
163
+ sourceId: 'redirectUrlPlugin',
164
+ templates: templates,
165
+ getItemUrl: function getItemUrl(_ref7) {
166
+ var item = _ref7.item;
167
+ return item.urls[0];
168
+ },
169
+ onSelect: function onSelect(_ref8) {
170
+ var event = _ref8.event,
171
+ item = _ref8.item,
172
+ state = _ref8.state,
173
+ navigator = _ref8.navigator;
174
+ onRedirect([item], {
175
+ event: event,
176
+ navigator: navigator,
177
+ state: state
178
+ });
179
+ },
180
+ getItemInputValue: function getItemInputValue() {
181
+ return state.query;
182
+ },
183
+ onActive: function onActive() {},
184
+ getItems: function getItems() {
185
+ return getRedirectData({
186
+ state: state
187
+ });
188
+ }
189
+ };
190
+ process.env.NODE_ENV !== 'production' ? warn(sourcesBySourceId.redirect === undefined, 'A source with `sourceId: "redirect"` already exists. This source will be overridden.') : void 0;
191
+ return {
192
+ sourcesBySourceId: _objectSpread({
193
+ // Our source has templates, but reshape only accepts sources without templates (autocomplete-core)
194
+ redirect: redirectSource
195
+ }, sourcesBySourceId),
196
+ state: state
197
+ };
198
+ },
199
+ onSubmit: function onSubmit(_ref9) {
200
+ var event = _ref9.event,
201
+ navigator = _ref9.navigator,
202
+ state = _ref9.state;
203
+ onRedirect(getRedirectData({
204
+ state: state
205
+ }), {
206
+ event: event,
207
+ navigator: navigator,
208
+ state: state
209
+ });
210
+ },
211
+ __autocomplete_pluginOptions: options
212
+ };
213
+ }
@@ -0,0 +1,3 @@
1
+ export * from './createRedirectUrlPlugin';
2
+ export * from './templates';
3
+ export * from './types';
@@ -0,0 +1,3 @@
1
+ export * from './createRedirectUrlPlugin';
2
+ export * from './templates';
3
+ export * from './types';
@@ -0,0 +1,9 @@
1
+ /** @jsxRuntime classic */
2
+ /** @jsx createElement */
3
+ export declare const defaultTemplates: {
4
+ item({ createElement, item, state }: {
5
+ createElement: any;
6
+ item: any;
7
+ state: any;
8
+ }): import("preact").JSX.Element;
9
+ };
@@ -0,0 +1,47 @@
1
+ /** @jsxRuntime classic */
2
+
3
+ /** @jsx createElement */
4
+ export var defaultTemplates = {
5
+ item: function item(_ref) {
6
+ var createElement = _ref.createElement,
7
+ item = _ref.item,
8
+ state = _ref.state;
9
+ return createElement("div", {
10
+ className: "aa-ItemWrapper"
11
+ }, createElement("div", {
12
+ className: "aa-ItemContent"
13
+ }, createElement("div", {
14
+ className: "aa-ItemIcon aa-ItemIcon--noBorder"
15
+ }, createElement("svg", {
16
+ viewBox: "0 0 24 24",
17
+ fill: "currentColor"
18
+ }, createElement("path", {
19
+ d: "M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"
20
+ }))), createElement("div", {
21
+ className: "aa-ItemContentBody"
22
+ }, createElement("div", {
23
+ className: "aa-ItemContentTitle"
24
+ }, createElement("a", {
25
+ className: "aa-ItemLink",
26
+ href: item.urls[0]
27
+ }, state.query)))), createElement("div", {
28
+ className: "aa-ItemActions"
29
+ }, createElement("div", {
30
+ className: "aa-ItemActionButton"
31
+ }, createElement("svg", {
32
+ viewBox: "0 0 24 24",
33
+ fill: "none",
34
+ stroke: "currentColor",
35
+ strokeWidth: "2",
36
+ strokeLinecap: "round",
37
+ strokeLinejoin: "round"
38
+ }, createElement("line", {
39
+ x1: "5",
40
+ y1: "12",
41
+ x2: "19",
42
+ y2: "12"
43
+ }), createElement("polyline", {
44
+ points: "12 5 19 12 12 19"
45
+ })))));
46
+ }
47
+ };
@@ -0,0 +1,23 @@
1
+ import { AutocompleteState, BaseItem, InternalAutocompleteOptions } from '@algolia/autocomplete-core';
2
+ import { SourceTemplates } from '@algolia/autocomplete-js';
3
+ import { SearchForFacetValuesResponse, SearchResponse } from '@algolia/autocomplete-preset-algolia';
4
+ export interface RedirectUrlPlugin {
5
+ data: RedirectUrlState[];
6
+ }
7
+ export interface RedirectUrlState {
8
+ sourceId: string;
9
+ urls: string[];
10
+ }
11
+ export interface RedirectUrlItem extends RedirectUrlState, BaseItem {
12
+ }
13
+ export declare type OnRedirectOptions<TItem extends RedirectUrlItem> = {
14
+ event: any;
15
+ navigator: InternalAutocompleteOptions<TItem>['navigator'];
16
+ state: AutocompleteState<TItem>;
17
+ };
18
+ export declare type TransformResponseParams<TItem> = SearchResponse<TItem> | SearchForFacetValuesResponse;
19
+ export declare type CreateRedirectUrlPluginParams<TItem extends BaseItem> = {
20
+ transformResponse?(response: TransformResponseParams<TItem>): string | undefined;
21
+ onRedirect?(redirects: RedirectUrlItem[], options: OnRedirectOptions<RedirectUrlItem>): void;
22
+ templates?: SourceTemplates<RedirectUrlItem>;
23
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Redirect';
@@ -0,0 +1 @@
1
+ export * from './Redirect';
@@ -0,0 +1,332 @@
1
+ /*! @algolia/autocomplete-plugin-redirect-url 1.8.0 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
+ (function (global, factory) {
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
5
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@algolia/autocomplete-plugin-redirect-url"] = {}));
6
+ })(this, (function (exports) { 'use strict';
7
+
8
+ function ownKeys(object, enumerableOnly) {
9
+ var keys = Object.keys(object);
10
+
11
+ if (Object.getOwnPropertySymbols) {
12
+ var symbols = Object.getOwnPropertySymbols(object);
13
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
14
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
15
+ })), keys.push.apply(keys, symbols);
16
+ }
17
+
18
+ return keys;
19
+ }
20
+
21
+ function _objectSpread2(target) {
22
+ for (var i = 1; i < arguments.length; i++) {
23
+ var source = null != arguments[i] ? arguments[i] : {};
24
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
25
+ _defineProperty(target, key, source[key]);
26
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
27
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
28
+ });
29
+ }
30
+
31
+ return target;
32
+ }
33
+
34
+ function _defineProperty(obj, key, value) {
35
+ if (key in obj) {
36
+ Object.defineProperty(obj, key, {
37
+ value: value,
38
+ enumerable: true,
39
+ configurable: true,
40
+ writable: true
41
+ });
42
+ } else {
43
+ obj[key] = value;
44
+ }
45
+
46
+ return obj;
47
+ }
48
+
49
+ var warnCache = {
50
+ current: {}
51
+ };
52
+ /**
53
+ * Logs a warning if the condition is not met.
54
+ * This is used to log issues in development environment only.
55
+ */
56
+
57
+ function warn(condition, message) {
58
+
59
+ if (condition) {
60
+ return;
61
+ }
62
+
63
+ var sanitizedMessage = message.trim();
64
+ var hasAlreadyPrinted = warnCache.current[sanitizedMessage];
65
+
66
+ if (!hasAlreadyPrinted) {
67
+ warnCache.current[sanitizedMessage] = true; // eslint-disable-next-line no-console
68
+
69
+ console.warn("[Autocomplete] ".concat(sanitizedMessage));
70
+ }
71
+ }
72
+
73
+ /** @jsxRuntime classic */
74
+
75
+ /** @jsx createElement */
76
+ var defaultTemplates = {
77
+ item: function item(_ref) {
78
+ var createElement = _ref.createElement,
79
+ item = _ref.item,
80
+ state = _ref.state;
81
+ return createElement("div", {
82
+ className: "aa-ItemWrapper"
83
+ }, createElement("div", {
84
+ className: "aa-ItemContent"
85
+ }, createElement("div", {
86
+ className: "aa-ItemIcon aa-ItemIcon--noBorder"
87
+ }, createElement("svg", {
88
+ viewBox: "0 0 24 24",
89
+ fill: "currentColor"
90
+ }, createElement("path", {
91
+ d: "M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"
92
+ }))), createElement("div", {
93
+ className: "aa-ItemContentBody"
94
+ }, createElement("div", {
95
+ className: "aa-ItemContentTitle"
96
+ }, createElement("a", {
97
+ className: "aa-ItemLink",
98
+ href: item.urls[0]
99
+ }, state.query)))), createElement("div", {
100
+ className: "aa-ItemActions"
101
+ }, createElement("div", {
102
+ className: "aa-ItemActionButton"
103
+ }, createElement("svg", {
104
+ viewBox: "0 0 24 24",
105
+ fill: "none",
106
+ stroke: "currentColor",
107
+ strokeWidth: "2",
108
+ strokeLinecap: "round",
109
+ strokeLinejoin: "round"
110
+ }, createElement("line", {
111
+ x1: "5",
112
+ y1: "12",
113
+ x2: "19",
114
+ y2: "12"
115
+ }), createElement("polyline", {
116
+ points: "12 5 19 12 12 19"
117
+ })))));
118
+ }
119
+ };
120
+
121
+ function defaultTransformResponse(response) {
122
+ var _renderingContent, _renderingContent$red;
123
+
124
+ return (_renderingContent = response.renderingContent) === null || _renderingContent === void 0 ? void 0 : (_renderingContent$red = _renderingContent.redirect) === null || _renderingContent$red === void 0 ? void 0 : _renderingContent$red.url;
125
+ }
126
+
127
+ function defaultOnRedirect(redirects, _ref) {
128
+ var _item$urls;
129
+
130
+ var event = _ref.event,
131
+ navigator = _ref.navigator,
132
+ state = _ref.state;
133
+ var item = redirects[0];
134
+ var itemUrl = item === null || item === void 0 ? void 0 : (_item$urls = item.urls) === null || _item$urls === void 0 ? void 0 : _item$urls[0];
135
+
136
+ if (!itemUrl) {
137
+ return;
138
+ }
139
+
140
+ if (event.metaKey || event.ctrlKey) {
141
+ navigator.navigateNewTab({
142
+ itemUrl: itemUrl,
143
+ item: item,
144
+ state: state
145
+ });
146
+ } else if (event.shiftKey) {
147
+ navigator.navigateNewWindow({
148
+ itemUrl: itemUrl,
149
+ item: item,
150
+ state: state
151
+ });
152
+ } else {
153
+ navigator.navigate({
154
+ itemUrl: itemUrl,
155
+ item: item,
156
+ state: state
157
+ });
158
+ }
159
+ }
160
+
161
+ function getOptions(options) {
162
+ return _objectSpread2({
163
+ transformResponse: defaultTransformResponse,
164
+ templates: defaultTemplates,
165
+ onRedirect: defaultOnRedirect
166
+ }, options);
167
+ }
168
+
169
+ function getRedirectData(_ref2) {
170
+ var _redirectUrlPlugin$da;
171
+
172
+ var state = _ref2.state;
173
+ var redirectUrlPlugin = state.context.redirectUrlPlugin;
174
+ return (_redirectUrlPlugin$da = redirectUrlPlugin === null || redirectUrlPlugin === void 0 ? void 0 : redirectUrlPlugin.data) !== null && _redirectUrlPlugin$da !== void 0 ? _redirectUrlPlugin$da : [];
175
+ }
176
+
177
+ function createRedirectUrlPlugin() {
178
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
179
+
180
+ var _getOptions = getOptions(options),
181
+ transformResponse = _getOptions.transformResponse,
182
+ templates = _getOptions.templates,
183
+ onRedirect = _getOptions.onRedirect;
184
+
185
+ function createRedirects(_ref3) {
186
+ var _state$context$redire, _state$context$redire2;
187
+
188
+ var results = _ref3.results,
189
+ source = _ref3.source,
190
+ state = _ref3.state;
191
+ var redirect = {
192
+ sourceId: source.sourceId,
193
+ urls: results.map(function (result) {
194
+ return transformResponse(result);
195
+ }).filter(function (url) {
196
+ return url !== undefined;
197
+ })
198
+ };
199
+ var redirects = (_state$context$redire = (_state$context$redire2 = state.context.redirectUrlPlugin) === null || _state$context$redire2 === void 0 ? void 0 : _state$context$redire2.data) !== null && _state$context$redire !== void 0 ? _state$context$redire : [];
200
+ var existingRedirectIndex = redirects.findIndex(function (r) {
201
+ return r.sourceId === source.sourceId;
202
+ });
203
+
204
+ if (existingRedirectIndex !== -1) {
205
+ if (redirect.urls.length === 0) {
206
+ redirects.splice(existingRedirectIndex, 1);
207
+ } else {
208
+ redirects[existingRedirectIndex] = redirect;
209
+ }
210
+ } else if (redirect.urls.length > 0) {
211
+ redirects.push(redirect);
212
+ }
213
+
214
+ return redirects;
215
+ }
216
+
217
+ return {
218
+ name: 'aa.redirectUrlPlugin',
219
+ subscribe: function subscribe(_ref4) {
220
+ var onResolve = _ref4.onResolve,
221
+ setContext = _ref4.setContext;
222
+ onResolve(function (_ref5) {
223
+ var results = _ref5.results,
224
+ source = _ref5.source,
225
+ state = _ref5.state;
226
+ setContext(_objectSpread2(_objectSpread2({}, state.context), {}, {
227
+ redirectUrlPlugin: {
228
+ data: createRedirects({
229
+ results: results,
230
+ source: source,
231
+ state: state
232
+ })
233
+ }
234
+ }));
235
+ });
236
+ },
237
+ reshape: function reshape(_ref6) {
238
+ var _data, _state$context$redire3;
239
+
240
+ var state = _ref6.state,
241
+ sourcesBySourceId = _ref6.sourcesBySourceId;
242
+ var redirects = (_data = (_state$context$redire3 = state.context.redirectUrlPlugin) === null || _state$context$redire3 === void 0 ? void 0 : _state$context$redire3.data) !== null && _data !== void 0 ? _data : [];
243
+ redirects.forEach(function (redirect) {
244
+ var source = sourcesBySourceId[redirect.sourceId];
245
+
246
+ if (source === undefined) {
247
+ return;
248
+ }
249
+
250
+ sourcesBySourceId[redirect.sourceId] = _objectSpread2(_objectSpread2({}, source), {}, {
251
+ getItems: function getItems() {
252
+ return source.getItems().filter(function (item) {
253
+ if (source.getItemInputValue.__default) {
254
+ "development" !== 'production' ? warn(false, "The source ".concat(JSON.stringify(source.sourceId), " does not have a `getItemInputValue` function. It's required to be able to filter out the redirect item.") + '\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getiteminputvalue') : void 0;
255
+ return true;
256
+ }
257
+
258
+ var itemInputValue = source.getItemInputValue({
259
+ item: item,
260
+ state: state
261
+ });
262
+
263
+ if (itemInputValue === undefined) {
264
+ "development" !== 'production' ? warn(false, "The source ".concat(JSON.stringify(source.sourceId), " does not return a string from the `getItemInputValue` function. It's required to be able to filter out the redirect item.") + '\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getiteminputvalue') : void 0;
265
+ return true;
266
+ }
267
+
268
+ return itemInputValue.toLowerCase() !== state.query.toLowerCase();
269
+ });
270
+ }
271
+ });
272
+ });
273
+ var redirectSource = {
274
+ sourceId: 'redirectUrlPlugin',
275
+ templates: templates,
276
+ getItemUrl: function getItemUrl(_ref7) {
277
+ var item = _ref7.item;
278
+ return item.urls[0];
279
+ },
280
+ onSelect: function onSelect(_ref8) {
281
+ var event = _ref8.event,
282
+ item = _ref8.item,
283
+ state = _ref8.state,
284
+ navigator = _ref8.navigator;
285
+ onRedirect([item], {
286
+ event: event,
287
+ navigator: navigator,
288
+ state: state
289
+ });
290
+ },
291
+ getItemInputValue: function getItemInputValue() {
292
+ return state.query;
293
+ },
294
+ onActive: function onActive() {},
295
+ getItems: function getItems() {
296
+ return getRedirectData({
297
+ state: state
298
+ });
299
+ }
300
+ };
301
+ "development" !== 'production' ? warn(sourcesBySourceId.redirect === undefined, 'A source with `sourceId: "redirect"` already exists. This source will be overridden.') : void 0;
302
+ return {
303
+ sourcesBySourceId: _objectSpread2({
304
+ // Our source has templates, but reshape only accepts sources without templates (autocomplete-core)
305
+ redirect: redirectSource
306
+ }, sourcesBySourceId),
307
+ state: state
308
+ };
309
+ },
310
+ onSubmit: function onSubmit(_ref9) {
311
+ var event = _ref9.event,
312
+ navigator = _ref9.navigator,
313
+ state = _ref9.state;
314
+ onRedirect(getRedirectData({
315
+ state: state
316
+ }), {
317
+ event: event,
318
+ navigator: navigator,
319
+ state: state
320
+ });
321
+ },
322
+ __autocomplete_pluginOptions: options
323
+ };
324
+ }
325
+
326
+ exports.createRedirectUrlPlugin = createRedirectUrlPlugin;
327
+ exports.defaultTemplates = defaultTemplates;
328
+
329
+ Object.defineProperty(exports, '__esModule', { value: true });
330
+
331
+ }));
332
+ //# sourceMappingURL=index.development.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/warn.js","../../src/templates.tsx","../../src/createRedirectUrlPlugin.ts"],"sourcesContent":["export var warnCache = {\n current: {}\n};\n/**\n * Logs a warning if the condition is not met.\n * This is used to log issues in development environment only.\n */\n\nexport function warn(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (condition) {\n return;\n }\n\n var sanitizedMessage = message.trim();\n var hasAlreadyPrinted = warnCache.current[sanitizedMessage];\n\n if (!hasAlreadyPrinted) {\n warnCache.current[sanitizedMessage] = true; // eslint-disable-next-line no-console\n\n console.warn(\"[Autocomplete] \".concat(sanitizedMessage));\n }\n}","/** @jsxRuntime classic */\n/** @jsx createElement */\n\nexport const defaultTemplates = {\n item({ createElement, item, state }) {\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=\"M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z\" />\n </svg>\n </div>\n <div className=\"aa-ItemContentBody\">\n <div className=\"aa-ItemContentTitle\">\n <a className=\"aa-ItemLink\" href={item.urls[0]}>\n {state.query}\n </a>\n </div>\n </div>\n </div>\n <div className=\"aa-ItemActions\">\n <div className=\"aa-ItemActionButton\">\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </div>\n </div>\n </div>\n );\n },\n};\n","import {\n BaseItem,\n OnSelectParams,\n OnSubmitParams,\n} from '@algolia/autocomplete-core';\nimport { AutocompletePlugin } from '@algolia/autocomplete-js';\nimport { warn } from '@algolia/autocomplete-shared';\n\nimport { defaultTemplates } from './templates';\nimport {\n CreateRedirectUrlPluginParams,\n OnRedirectOptions,\n RedirectUrlItem,\n RedirectUrlPlugin as RedirectUrlPluginData,\n TransformResponseParams,\n} from './types';\n\nfunction defaultTransformResponse<THit>(\n response: TransformResponseParams<THit>\n): string | undefined {\n return (response as Record<string, any>).renderingContent?.redirect?.url;\n}\n\nfunction defaultOnRedirect(\n redirects: RedirectUrlItem[],\n { event, navigator, state }: OnRedirectOptions<RedirectUrlItem>\n) {\n const item = redirects[0];\n const itemUrl = item?.urls?.[0];\n\n if (!itemUrl) {\n return;\n }\n\n if (event.metaKey || event.ctrlKey) {\n navigator.navigateNewTab({ itemUrl, item, state });\n } else if (event.shiftKey) {\n navigator.navigateNewWindow({ itemUrl, item, state });\n } else {\n navigator.navigate({ itemUrl, item, state });\n }\n}\n\nfunction getOptions<TItem extends BaseItem>(\n options: CreateRedirectUrlPluginParams<TItem>\n) {\n return {\n transformResponse: defaultTransformResponse,\n templates: defaultTemplates,\n onRedirect: defaultOnRedirect,\n ...options,\n };\n}\n\nfunction getRedirectData({ state }) {\n const redirectUrlPlugin = state.context\n .redirectUrlPlugin as RedirectUrlPluginData;\n return (redirectUrlPlugin?.data ?? []) as RedirectUrlItem[];\n}\n\nexport function createRedirectUrlPlugin<TItem extends BaseItem>(\n options: CreateRedirectUrlPluginParams<TItem> = {}\n): AutocompletePlugin<RedirectUrlItem, undefined> {\n const { transformResponse, templates, onRedirect } = getOptions(options);\n\n function createRedirects({ results, source, state }): RedirectUrlItem[] {\n const redirect: RedirectUrlItem = {\n sourceId: source.sourceId,\n urls: results\n .map((result) => transformResponse(result))\n .filter((url) => url !== undefined),\n };\n\n const redirects: RedirectUrlItem[] =\n state.context.redirectUrlPlugin?.data ?? [];\n const existingRedirectIndex = redirects.findIndex(\n (r) => r.sourceId === source.sourceId\n );\n\n if (existingRedirectIndex !== -1) {\n if (redirect.urls.length === 0) {\n redirects.splice(existingRedirectIndex, 1);\n } else {\n redirects[existingRedirectIndex] = redirect;\n }\n } else if (redirect.urls.length > 0) {\n redirects.push(redirect);\n }\n\n return redirects;\n }\n\n return {\n name: 'aa.redirectUrlPlugin',\n subscribe({ onResolve, setContext }) {\n onResolve(({ results, source, state }) => {\n setContext({\n ...state.context,\n redirectUrlPlugin: {\n data: createRedirects({ results, source, state }),\n },\n });\n });\n },\n reshape({ state, sourcesBySourceId }) {\n const redirects =\n (state.context.redirectUrlPlugin as RedirectUrlPluginData)?.data ?? [];\n\n redirects.forEach((redirect) => {\n const source = sourcesBySourceId[redirect.sourceId];\n if (source === undefined) {\n return;\n }\n\n sourcesBySourceId[redirect.sourceId] = {\n ...source,\n getItems: () =>\n source.getItems().filter((item) => {\n if (source.getItemInputValue!.__default) {\n warn(\n false,\n `The source ${JSON.stringify(\n source.sourceId\n )} does not have a \\`getItemInputValue\\` function. It's required to be able to filter out the redirect item.` +\n '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getiteminputvalue'\n );\n return true;\n }\n\n const itemInputValue = source.getItemInputValue!({\n item,\n state,\n });\n\n if (itemInputValue === undefined) {\n warn(\n false,\n `The source ${JSON.stringify(\n source.sourceId\n )} does not return a string from the \\`getItemInputValue\\` function. It's required to be able to filter out the redirect item.` +\n '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getiteminputvalue'\n );\n return true;\n }\n\n return itemInputValue.toLowerCase() !== state.query.toLowerCase();\n }),\n };\n });\n\n const redirectSource = {\n sourceId: 'redirectUrlPlugin',\n templates,\n getItemUrl({ item }) {\n return item.urls[0];\n },\n onSelect({\n event,\n item,\n state,\n navigator,\n }: OnSelectParams<RedirectUrlItem>) {\n onRedirect([item], { event, navigator, state });\n },\n getItemInputValue() {\n return state.query;\n },\n onActive() {},\n getItems() {\n return getRedirectData({ state });\n },\n };\n\n warn(\n sourcesBySourceId.redirect === undefined,\n 'A source with `sourceId: \"redirect\"` already exists. This source will be overridden.'\n );\n\n return {\n sourcesBySourceId: {\n // Our source has templates, but reshape only accepts sources without templates (autocomplete-core)\n redirect: (redirectSource as unknown) as typeof sourcesBySourceId[string],\n ...sourcesBySourceId,\n },\n state,\n };\n },\n onSubmit({ event, navigator, state }: OnSubmitParams<RedirectUrlItem>) {\n onRedirect(getRedirectData({ state }), { event, navigator, state });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n"],"names":["warnCache","current","warn","condition","message","sanitizedMessage","trim","hasAlreadyPrinted","console","concat","defaultTemplates","item","createElement","state","urls","query","defaultTransformResponse","response","renderingContent","redirect","url","defaultOnRedirect","redirects","event","navigator","itemUrl","metaKey","ctrlKey","navigateNewTab","shiftKey","navigateNewWindow","navigate","getOptions","options","_objectSpread","transformResponse","templates","onRedirect","getRedirectData","redirectUrlPlugin","context","data","createRedirectUrlPlugin","createRedirects","results","source","sourceId","map","result","filter","undefined","existingRedirectIndex","findIndex","r","length","splice","push","name","subscribe","onResolve","setContext","reshape","sourcesBySourceId","forEach","getItems","getItemInputValue","__default","process","JSON","stringify","itemInputValue","toLowerCase","redirectSource","getItemUrl","onSelect","onActive","onSubmit","__autocomplete_pluginOptions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIA,SAAS,CAAG,CAAA,CAAA,CAAA;EACrBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,EAAE,CAAA,CAAA;AADY,CAAA,CAAA,CAAhB,CAAA;AAGP,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAT,CAAA,CAAA,CAAA,CAAcC,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyBC,OAAzB,CAAkC,CAAA,CAAA;;EAKvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAID,SAAJ,CAAe,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EACD,CAAA,CAAA,CAAA;;AAED,CAAA,CAAA,CAAA,CAAA,IAAIE,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAGD,OAAO,CAACE,CAAAA,CAAAA,CAAAA,CAAR,EAAvB,CAAA;EACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIC,iBAAiB,CAAGP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAACC,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkBI,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAxB,CAAA;;EAEA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAACE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAL,CAAwB,CAAA,CAAA;EACtBP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAACC,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkBI,gBAAlB,CAAsC,CAAA,CAAA,CAAA,IAAtC,CADsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;EAGtBG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAACN,CAAAA,CAAAA,CAAAA,CAAR,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAkBO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAlB,CAAyBJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAzB,CAAb,CAAA,CAAA;EACD,CAAA,CAAA,CAAA;AACH,CAAA,CAAA,CAAA;;ACzBA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMK,gBAAgB,CAAG,CAAA,CAAA,CAAA;AAC9BC,CAAAA,CAAAA,CAAAA,CAAAA,IAD8B,CACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA9BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA8B,QAA9BA,CAA8B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAfD,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,MAAfA,CAAe,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAATE,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAATA,KAAS,CAAA;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,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;AAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAC,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CADF,CAAA,CADF,CADF,EAME,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA;EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,C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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,GAAA,CALA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAOA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAP,CAAA;EACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAMwB,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAGzB,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAACoB,iBAAP,CAA0B,CAAA;EAC/CtD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,EAAJA,CAD+C,CAAA,CAAA,CAAA,CAAA;EAE/CE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAALA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAF+C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA1B,CAAvB,CAAA;;AAKA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIyD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAKpB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAvB,CAAkC,CAAA,CAAA;AAtIhDiB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,aAAA,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAuIT,CAAAjE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,CACF,CAAA,CAAA,CAAA,CAAA,CADE,CAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAckE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CAAA,CAAA,CAACC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACZxB,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAACC,QADK,CAAd,CAAA,CAGE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CALA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAOA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAP,CAAA;EACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOwB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC1D,CAAK,CAAA,CAAA,CAAA,CAAA,CAACE,CAAN,CAAA,CAAA,CAAA,CAAA,CAAYwD,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAxC,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA7BD,CADQ,CAAA;EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAFZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAkCD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAxCD,CAAA,CAAA;EA0CA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,cAAc,CAAG,CAAA,CAAA,CAAA;EACrB1B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,EAAE,CADW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAErBV,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,EAATA,CAFqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAGrBqC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,UAHqB,CAGA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAR9D,IAAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,OAARA,IAAQ,CAAA;AACnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAOA,CAAI,CAAA,CAAA,CAAA,CAACG,IAAL,CAAU,CAAV,CAAP,CAAA;EACD,CALoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAMrB4D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QANqB,CAWe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAJlCnD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAIkC,SAJlCA,CAIkC,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAHlCZ,CAGkC,CAAA,CAAA,CAAA,CAAA,CAAA,OAHlCA,CAGkC,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAFlCE,CAEkC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAFlCA,CAEkC,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CADlCW,CACkC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OADlCA,SACkC,CAAA;AAClCa,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC1B,CAAAA,CAAAA,CAAAA,CAAD,CAAD,CAAS,CAAA,CAAA;EAAEY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAALA,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA;EAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,EAATA,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAoBX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAALA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAT,CAAV,CAAA;EACD,CAboB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAcrBoD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAdqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAcD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOpD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CAACE,CAAAA,CAAAA,CAAAA,CAAAA,CAAb,CAAA;EACD,CAhBoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAiBrB4D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAjBqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAiBV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAjBU,CAAA,CAAA;AAkBrBX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAlBqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAkBV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO1B,eAAe,CAAC,CAAA;EAAEzB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAALA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAD,CAAtB,CAAA;EACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AApBoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAvB,CAAA;EAtJNsD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,aAAA,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA6KnB,GAAAjE,CAAI,CAAA,CAAA,CAAA,CACF4D,iBAAiB,CAAC3C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAlB,KAA+B+B,CAD7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEF,sFAFE,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAKA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EACLY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA5B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA;AACf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EACAf,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,EAAGqD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;EAFI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGZV,iBAHY,CADZ,CAAA;EAMLjD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAALA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AANK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAP,CAAA;EAQD,CA9FI,CAAA,CAAA,CAAA,CAAA,CAAA;AA+FL+D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QA/FK,CA+FkE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA5DrD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA4D,SAA5DA,CAA4D,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAArDC,CAAqD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAArDA,CAAqD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA1CX,CAA0C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAA1CA,KAA0C,CAAA;EACrEwB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAC,CAAA;EAAEzB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAALA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAD,CAAhB,CAA6B,CAAA,CAAA;EAAEU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAALA,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA;EAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,EAATA,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAoBX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,EAALA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA7B,CAAV,CAAA;EACD,CAjGI,CAAA,CAAA,CAAA,CAAA,CAAA;EAkGLgE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA4B,EAAE5C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAlGzB,CAAA,CAAA,CAAA,CAAA,CAAP,CAAA;AAoGD,CAAA,CAAA,CAAA;;;;;;;"}
@@ -0,0 +1,3 @@
1
+ /*! @algolia/autocomplete-plugin-redirect-url 1.8.0 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
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-redirect-url"]={})}(this,(function(e){"use strict";function t(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 r(e){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?t(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o={item:function(e){var t=e.createElement,r=e.item,n=e.state;return t("div",{className:"aa-ItemWrapper"},t("div",{className:"aa-ItemContent"},t("div",{className:"aa-ItemIcon aa-ItemIcon--noBorder"},t("svg",{viewBox:"0 0 24 24",fill:"currentColor"},t("path",{d:"M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"}))),t("div",{className:"aa-ItemContentBody"},t("div",{className:"aa-ItemContentTitle"},t("a",{className:"aa-ItemLink",href:r.urls[0]},n.query)))),t("div",{className:"aa-ItemActions"},t("div",{className:"aa-ItemActionButton"},t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),t("polyline",{points:"12 5 19 12 12 19"})))))}};function i(e){var t,r;return null===(t=e.renderingContent)||void 0===t||null===(r=t.redirect)||void 0===r?void 0:r.url}function a(e,t){var r,n=t.event,o=t.navigator,i=t.state,a=e[0],u=null==a||null===(r=a.urls)||void 0===r?void 0:r[0];u&&(n.metaKey||n.ctrlKey?o.navigateNewTab({itemUrl:u,item:a,state:i}):n.shiftKey?o.navigateNewWindow({itemUrl:u,item:a,state:i}):o.navigate({itemUrl:u,item:a,state:i}))}function u(e){return r({transformResponse:i,templates:o,onRedirect:a},e)}function s(e){var t,r=e.state.context.redirectUrlPlugin;return null!==(t=null==r?void 0:r.data)&&void 0!==t?t:[]}e.createRedirectUrlPlugin=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=u(e),n=t.transformResponse,o=t.templates,i=t.onRedirect;function a(e){var t,r,o=e.results,i=e.source,a=e.state,u={sourceId:i.sourceId,urls:o.map((function(e){return n(e)})).filter((function(e){return void 0!==e}))},s=null!==(t=null===(r=a.context.redirectUrlPlugin)||void 0===r?void 0:r.data)&&void 0!==t?t:[],c=s.findIndex((function(e){return e.sourceId===i.sourceId}));return-1!==c?0===u.urls.length?s.splice(c,1):s[c]=u:u.urls.length>0&&s.push(u),s}return{name:"aa.redirectUrlPlugin",subscribe:function(e){var t=e.onResolve,n=e.setContext;t((function(e){var t=e.results,o=e.source,i=e.state;n(r(r({},i.context),{},{redirectUrlPlugin:{data:a({results:t,source:o,state:i})}}))}))},reshape:function(e){var t,n,a=e.state,u=e.sourcesBySourceId;return(null!==(t=null===(n=a.context.redirectUrlPlugin)||void 0===n?void 0:n.data)&&void 0!==t?t:[]).forEach((function(e){var t=u[e.sourceId];void 0!==t&&(u[e.sourceId]=r(r({},t),{},{getItems:function(){return t.getItems().filter((function(e){if(t.getItemInputValue.__default)return!0;var r=t.getItemInputValue({item:e,state:a});return void 0===r||r.toLowerCase()!==a.query.toLowerCase()}))}}))})),{sourcesBySourceId:r({redirect:{sourceId:"redirectUrlPlugin",templates:o,getItemUrl:function(e){return e.item.urls[0]},onSelect:function(e){var t=e.event,r=e.item,n=e.state,o=e.navigator;i([r],{event:t,navigator:o,state:n})},getItemInputValue:function(){return a.query},onActive:function(){},getItems:function(){return s({state:a})}}},u),state:a}},onSubmit:function(e){var t=e.event,r=e.navigator,n=e.state;i(s({state:n}),{event:t,navigator:r,state:n})},__autocomplete_pluginOptions:e}},e.defaultTemplates=o,Object.defineProperty(e,"__esModule",{value:!0})}));
3
+ //# sourceMappingURL=index.production.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.production.js","sources":["../../src/templates.tsx","../../src/createRedirectUrlPlugin.ts"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nexport const defaultTemplates = {\n item({ createElement, item, state }) {\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=\"M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z\" />\n </svg>\n </div>\n <div className=\"aa-ItemContentBody\">\n <div className=\"aa-ItemContentTitle\">\n <a className=\"aa-ItemLink\" href={item.urls[0]}>\n {state.query}\n </a>\n </div>\n </div>\n </div>\n <div className=\"aa-ItemActions\">\n <div className=\"aa-ItemActionButton\">\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </div>\n </div>\n </div>\n );\n },\n};\n","import {\n BaseItem,\n OnSelectParams,\n OnSubmitParams,\n} from '@algolia/autocomplete-core';\nimport { AutocompletePlugin } from '@algolia/autocomplete-js';\nimport { warn } from '@algolia/autocomplete-shared';\n\nimport { defaultTemplates } from './templates';\nimport {\n CreateRedirectUrlPluginParams,\n OnRedirectOptions,\n RedirectUrlItem,\n RedirectUrlPlugin as RedirectUrlPluginData,\n TransformResponseParams,\n} from './types';\n\nfunction defaultTransformResponse<THit>(\n response: TransformResponseParams<THit>\n): string | undefined {\n return (response as Record<string, any>).renderingContent?.redirect?.url;\n}\n\nfunction defaultOnRedirect(\n redirects: RedirectUrlItem[],\n { event, navigator, state }: OnRedirectOptions<RedirectUrlItem>\n) {\n const item = redirects[0];\n const itemUrl = item?.urls?.[0];\n\n if (!itemUrl) {\n return;\n }\n\n if (event.metaKey || event.ctrlKey) {\n navigator.navigateNewTab({ itemUrl, item, state });\n } else if (event.shiftKey) {\n navigator.navigateNewWindow({ itemUrl, item, state });\n } else {\n navigator.navigate({ itemUrl, item, state });\n }\n}\n\nfunction getOptions<TItem extends BaseItem>(\n options: CreateRedirectUrlPluginParams<TItem>\n) {\n return {\n transformResponse: defaultTransformResponse,\n templates: defaultTemplates,\n onRedirect: defaultOnRedirect,\n ...options,\n };\n}\n\nfunction getRedirectData({ state }) {\n const redirectUrlPlugin = state.context\n .redirectUrlPlugin as RedirectUrlPluginData;\n return (redirectUrlPlugin?.data ?? []) as RedirectUrlItem[];\n}\n\nexport function createRedirectUrlPlugin<TItem extends BaseItem>(\n options: CreateRedirectUrlPluginParams<TItem> = {}\n): AutocompletePlugin<RedirectUrlItem, undefined> {\n const { transformResponse, templates, onRedirect } = getOptions(options);\n\n function createRedirects({ results, source, state }): RedirectUrlItem[] {\n const redirect: RedirectUrlItem = {\n sourceId: source.sourceId,\n urls: results\n .map((result) => transformResponse(result))\n .filter((url) => url !== undefined),\n };\n\n const redirects: RedirectUrlItem[] =\n state.context.redirectUrlPlugin?.data ?? [];\n const existingRedirectIndex = redirects.findIndex(\n (r) => r.sourceId === source.sourceId\n );\n\n if (existingRedirectIndex !== -1) {\n if (redirect.urls.length === 0) {\n redirects.splice(existingRedirectIndex, 1);\n } else {\n redirects[existingRedirectIndex] = redirect;\n }\n } else if (redirect.urls.length > 0) {\n redirects.push(redirect);\n }\n\n return redirects;\n }\n\n return {\n name: 'aa.redirectUrlPlugin',\n subscribe({ onResolve, setContext }) {\n onResolve(({ results, source, state }) => {\n setContext({\n ...state.context,\n redirectUrlPlugin: {\n data: createRedirects({ results, source, state }),\n },\n });\n });\n },\n reshape({ state, sourcesBySourceId }) {\n const redirects =\n (state.context.redirectUrlPlugin as RedirectUrlPluginData)?.data ?? [];\n\n redirects.forEach((redirect) => {\n const source = sourcesBySourceId[redirect.sourceId];\n if (source === undefined) {\n return;\n }\n\n sourcesBySourceId[redirect.sourceId] = {\n ...source,\n getItems: () =>\n source.getItems().filter((item) => {\n if (source.getItemInputValue!.__default) {\n warn(\n false,\n `The source ${JSON.stringify(\n source.sourceId\n )} does not have a \\`getItemInputValue\\` function. It's required to be able to filter out the redirect item.` +\n '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getiteminputvalue'\n );\n return true;\n }\n\n const itemInputValue = source.getItemInputValue!({\n item,\n state,\n });\n\n if (itemInputValue === undefined) {\n warn(\n false,\n `The source ${JSON.stringify(\n source.sourceId\n )} does not return a string from the \\`getItemInputValue\\` function. It's required to be able to filter out the redirect item.` +\n '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getiteminputvalue'\n );\n return true;\n }\n\n return itemInputValue.toLowerCase() !== state.query.toLowerCase();\n }),\n };\n });\n\n const redirectSource = {\n sourceId: 'redirectUrlPlugin',\n templates,\n getItemUrl({ item }) {\n return item.urls[0];\n },\n onSelect({\n event,\n item,\n state,\n navigator,\n }: OnSelectParams<RedirectUrlItem>) {\n onRedirect([item], { event, navigator, state });\n },\n getItemInputValue() {\n return state.query;\n },\n onActive() {},\n getItems() {\n return getRedirectData({ state });\n },\n };\n\n warn(\n sourcesBySourceId.redirect === undefined,\n 'A source with `sourceId: \"redirect\"` already exists. This source will be overridden.'\n );\n\n return {\n sourcesBySourceId: {\n // Our source has templates, but reshape only accepts sources without templates (autocomplete-core)\n redirect: (redirectSource as unknown) as typeof sourcesBySourceId[string],\n ...sourcesBySourceId,\n },\n state,\n };\n },\n onSubmit({ event, navigator, state }: OnSubmitParams<RedirectUrlItem>) {\n onRedirect(getRedirectData({ state }), { event, navigator, state });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n"],"names":["defaultTemplates","item","_ref","createElement","state","className","viewBox","fill","d","href","urls","query","stroke","strokeWidth","strokeLinecap","strokeLinejoin","x1","y1","x2","y2","points","defaultTransformResponse","response","_renderingContent","_renderingContent$red","renderingContent","redirect","url","defaultOnRedirect","redirects","_item$urls","event","navigator","itemUrl","metaKey","ctrlKey","navigateNewTab","shiftKey","navigateNewWindow","navigate","getOptions","options","_objectSpread","transformResponse","templates","onRedirect","getRedirectData","_ref2","_redirectUrlPlugin$da","redirectUrlPlugin","context","data","createRedirects","_ref3","_state$context$redire","_state$context$redire2","results","source","sourceId","map","result","filter","undefined","existingRedirectIndex","findIndex","r","length","splice","push","name","subscribe","_ref4","onResolve","setContext","_ref5","reshape","_ref6","_data","_state$context$redire3","sourcesBySourceId","forEach","getItems","getItemInputValue","__default","itemInputValue","toLowerCase","getItemUrl","_ref7","onSelect","_ref8","onActive","onSubmit","_ref9","__autocomplete_pluginOptions"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@algolia/autocomplete-plugin-redirect-url",
3
+ "description": "A plugin to add redirect URL functionality to Algolia Autocomplete.",
4
+ "version": "1.8.0",
5
+ "license": "MIT",
6
+ "homepage": "https://github.com/algolia/autocomplete",
7
+ "repository": "algolia/autocomplete",
8
+ "author": {
9
+ "name": "Algolia, Inc.",
10
+ "url": "https://www.algolia.com"
11
+ },
12
+ "source": "src/index.ts",
13
+ "types": "dist/esm/index.d.ts",
14
+ "module": "dist/esm/index.js",
15
+ "main": "dist/umd/index.production.js",
16
+ "umd:main": "dist/umd/index.production.js",
17
+ "unpkg": "dist/umd/index.production.js",
18
+ "jsdelivr": "dist/umd/index.production.js",
19
+ "sideEffects": false,
20
+ "files": [
21
+ "dist/"
22
+ ],
23
+ "scripts": {
24
+ "build:clean": "rm -rf ./dist",
25
+ "build:esm": "babel src --root-mode upward --extensions '.ts,.tsx' --out-dir dist/esm --ignore '**/*/__tests__/'",
26
+ "build:types": "tsc -p ./tsconfig.declaration.json --outDir ./dist/esm",
27
+ "build:umd": "rollup --config",
28
+ "build": "rm -rf ./dist && yarn build:umd && yarn build:esm && yarn build:types",
29
+ "on:change": "concurrently \"yarn build:esm\" \"yarn build:types\"",
30
+ "prepare": "yarn run build:esm && yarn build:types",
31
+ "watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
32
+ },
33
+ "dependencies": {
34
+ "@algolia/autocomplete-core": "1.8.0",
35
+ "@algolia/autocomplete-js": "1.8.0",
36
+ "@algolia/autocomplete-preset-algolia": "1.8.0",
37
+ "@algolia/autocomplete-shared": "1.8.0"
38
+ },
39
+ "devDependencies": {
40
+ "@algolia/client-search": "4.14.3",
41
+ "algoliasearch": "4.14.3"
42
+ },
43
+ "peerDependencies": {
44
+ "@algolia/client-search": ">= 4.5.1 < 6",
45
+ "algoliasearch": ">= 4.5.1 < 6"
46
+ }
47
+ }