algolia-experiences 1.4.4 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2382,7 +2382,7 @@
2382
2382
 
2383
2383
  mod[attribute] = facetRefinement;
2384
2384
 
2385
- return defaultsPure({}, mod, refinementList);
2385
+ return defaultsPure(mod, refinementList);
2386
2386
  },
2387
2387
  /**
2388
2388
  * Removes refinement(s) for an attribute:
@@ -3716,7 +3716,6 @@
3716
3716
 
3717
3717
  return this.setQueryParameters({
3718
3718
  hierarchicalFacetsRefinements: defaultsPure(
3719
- {},
3720
3719
  mod,
3721
3720
  this.hierarchicalFacetsRefinements
3722
3721
  ),
@@ -3744,7 +3743,6 @@
3744
3743
  mod[facet] = [path];
3745
3744
  return this.setQueryParameters({
3746
3745
  hierarchicalFacetsRefinements: defaultsPure(
3747
- {},
3748
3746
  mod,
3749
3747
  this.hierarchicalFacetsRefinements
3750
3748
  ),
@@ -3765,7 +3763,6 @@
3765
3763
  mod[facet] = [];
3766
3764
  return this.setQueryParameters({
3767
3765
  hierarchicalFacetsRefinements: defaultsPure(
3768
- {},
3769
3766
  mod,
3770
3767
  this.hierarchicalFacetsRefinements
3771
3768
  ),
@@ -4763,12 +4760,9 @@
4763
4760
  });
4764
4761
 
4765
4762
  // Make every key of the result options reachable from the instance
4766
- var opts = merge_1(
4767
- {
4768
- persistHierarchicalRootCount: false,
4769
- },
4770
- options
4771
- );
4763
+ var opts = defaultsPure(options, {
4764
+ persistHierarchicalRootCount: false,
4765
+ });
4772
4766
  Object.keys(opts).forEach(function (key) {
4773
4767
  self[key] = opts[key];
4774
4768
  });
@@ -5035,11 +5029,16 @@
5035
5029
  return;
5036
5030
  }
5037
5031
 
5038
- self.hierarchicalFacets[position][attributeIndex].data = merge_1(
5039
- {},
5040
- self.hierarchicalFacets[position][attributeIndex].data,
5041
- facetResults
5042
- );
5032
+ self.hierarchicalFacets[position][attributeIndex].data =
5033
+ self.persistHierarchicalRootCount
5034
+ ? defaultsPure(
5035
+ self.hierarchicalFacets[position][attributeIndex].data,
5036
+ facetResults
5037
+ )
5038
+ : defaultsPure(
5039
+ facetResults,
5040
+ self.hierarchicalFacets[position][attributeIndex].data
5041
+ );
5043
5042
  } else {
5044
5043
  position = disjunctiveFacetsIndices[dfacet];
5045
5044
 
@@ -5048,7 +5047,7 @@
5048
5047
 
5049
5048
  self.disjunctiveFacets[position] = {
5050
5049
  name: dfacet,
5051
- data: defaultsPure({}, facetResults, dataFromMainRequest),
5050
+ data: defaultsPure(dataFromMainRequest, facetResults),
5052
5051
  exhaustive: result.exhaustiveFacetsCount,
5053
5052
  };
5054
5053
  assignFacetStats(
@@ -5446,7 +5445,7 @@
5446
5445
  return undefined;
5447
5446
  }
5448
5447
 
5449
- var options = defaultsPure({}, opts, {
5448
+ var options = defaultsPure(opts, {
5450
5449
  sortBy: SearchResults.DEFAULT_SORT,
5451
5450
  // if no sortBy is given, attempt to sort based on facetOrdering
5452
5451
  // if it is given, we still allow to sort via facet ordering first
@@ -5737,7 +5736,7 @@
5737
5736
 
5738
5737
  var sortAndMergeRecommendations_1 = sortAndMergeRecommendations;
5739
5738
 
5740
- var version = '3.22.5';
5739
+ var version = '3.22.6';
5741
5740
 
5742
5741
  var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
5743
5742
 
@@ -8804,8 +8803,9 @@
8804
8803
  }
8805
8804
  return res;
8806
8805
  }
8807
- function getRefinements(results, state) {
8806
+ function getRefinements(_results, state) {
8808
8807
  var includesQuery = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
8808
+ var results = _results || {};
8809
8809
  var refinements = [];
8810
8810
  var _state$facetsRefineme = state.facetsRefinements,
8811
8811
  facetsRefinements = _state$facetsRefineme === void 0 ? {} : _state$facetsRefineme,
@@ -10106,7 +10106,6 @@
10106
10106
  $$internal = _props$$$internal === void 0 ? false : _props$$$internal,
10107
10107
  _props$$$automatic = props.$$automatic,
10108
10108
  $$automatic = _props$$$automatic === void 0 ? false : _props$$$automatic;
10109
- var currentTokenType;
10110
10109
  var potentialInsightsClient = _insightsClient;
10111
10110
  if (!_insightsClient && _insightsClient !== null) {
10112
10111
  safelyRunOnBrowser(function (_ref) {
@@ -10152,9 +10151,7 @@
10152
10151
  apiKey = _getAppIdAndApiKey2[1];
10153
10152
  var queuedInitParams = undefined;
10154
10153
  var queuedUserToken = undefined;
10155
- var queuedAuthenticatedUserToken = undefined;
10156
10154
  var userTokenBeforeInit = undefined;
10157
- var authenticatedUserTokenBeforeInit = undefined;
10158
10155
  var queue = insightsClient.queue;
10159
10156
  if (Array.isArray(queue)) {
10160
10157
  // Context: The umd build of search-insights is asynchronously loaded by the snippet.
@@ -10167,7 +10164,7 @@
10167
10164
  // At this point, even though `search-insights` is not loaded yet,
10168
10165
  // we still want to read the token from the queue.
10169
10166
  // Otherwise, the first search call will be fired without the token.
10170
- var _map = ['setUserToken', 'setAuthenticatedUserToken', 'init'].map(function (key) {
10167
+ var _map = ['setUserToken', 'init'].map(function (key) {
10171
10168
  var _ref3 = find$1(queue.slice().reverse(), function (_ref5) {
10172
10169
  var _ref6 = _slicedToArray$4(_ref5, 1),
10173
10170
  method = _ref6[0];
@@ -10177,23 +10174,18 @@
10177
10174
  value = _ref4[1];
10178
10175
  return value;
10179
10176
  });
10180
- var _map2 = _slicedToArray$4(_map, 3);
10177
+ var _map2 = _slicedToArray$4(_map, 2);
10181
10178
  queuedUserToken = _map2[0];
10182
- queuedAuthenticatedUserToken = _map2[1];
10183
- queuedInitParams = _map2[2];
10179
+ queuedInitParams = _map2[1];
10184
10180
  }
10185
10181
 
10186
- // If user called `aa('setUserToken')` or `aa('setAuthenticatedUserToken')`
10187
- // before creating the Insights middleware, we temporarily store the token
10188
- // and set it later on.
10182
+ // If user called `aa('setUserToken')` before creating the Insights middleware,
10183
+ // we temporarily store the token and set it later on.
10189
10184
  //
10190
10185
  // Otherwise, the `init` call might override them with anonymous user token.
10191
10186
  insightsClient('getUserToken', null, function (_error, userToken) {
10192
10187
  userTokenBeforeInit = normalizeUserToken(userToken);
10193
10188
  });
10194
- insightsClient('getAuthenticatedUserToken', null, function (_error, userToken) {
10195
- authenticatedUserTokenBeforeInit = normalizeUserToken(userToken);
10196
- });
10197
10189
 
10198
10190
  // Only `init` if the `insightsInitParams` option is passed or
10199
10191
  // if the `insightsClient` version doesn't supports optional `init` calling.
@@ -10233,7 +10225,7 @@
10233
10225
  helper = instantSearchInstance.mainHelper;
10234
10226
  var queueAtStart = insightsClient.queue;
10235
10227
  if (Array.isArray(queueAtStart)) {
10236
- var _map3 = ['setUserToken', 'setAuthenticatedUserToken', 'init'].map(function (key) {
10228
+ var _map3 = ['setUserToken', 'init'].map(function (key) {
10237
10229
  var _ref7 = find$1(queueAtStart.slice().reverse(), function (_ref9) {
10238
10230
  var _ref10 = _slicedToArray$4(_ref9, 1),
10239
10231
  method = _ref10[0];
@@ -10243,15 +10235,11 @@
10243
10235
  value = _ref8[1];
10244
10236
  return value;
10245
10237
  });
10246
- var _map4 = _slicedToArray$4(_map3, 3);
10238
+ var _map4 = _slicedToArray$4(_map3, 2);
10247
10239
  queuedUserToken = _map4[0];
10248
- queuedAuthenticatedUserToken = _map4[1];
10249
- queuedInitParams = _map4[2];
10240
+ queuedInitParams = _map4[1];
10250
10241
  }
10251
- initialParameters = {
10252
- userToken: helper.state.userToken,
10253
- clickAnalytics: helper.state.clickAnalytics
10254
- };
10242
+ initialParameters = getInitialParameters(instantSearchInstance);
10255
10243
 
10256
10244
  // We don't want to force clickAnalytics when the insights is enabled from the search response.
10257
10245
  // This means we don't enable insights for indices that don't opt in
@@ -10263,9 +10251,8 @@
10263
10251
  if (!$$internal) {
10264
10252
  instantSearchInstance.scheduleSearch();
10265
10253
  }
10266
- var setUserTokenToSearch = function setUserTokenToSearch(userToken, tokenType) {
10267
- var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
10268
- var unsetAuthenticatedUserToken = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
10254
+ var setUserTokenToSearch = function setUserTokenToSearch(userToken) {
10255
+ var immediate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
10269
10256
  var normalizedUserToken = normalizeUserToken(userToken);
10270
10257
  if (!normalizedUserToken) {
10271
10258
  return;
@@ -10278,13 +10265,6 @@
10278
10265
  if (existingToken && existingToken !== userToken) {
10279
10266
  instantSearchInstance.scheduleSearch();
10280
10267
  }
10281
- currentTokenType = tokenType;
10282
- }
10283
-
10284
- // the authenticated user token cannot be overridden by a user or anonymous token
10285
- // for instant search query requests
10286
- if (currentTokenType && currentTokenType === 'authenticated' && tokenType === 'default' && !unsetAuthenticatedUserToken) {
10287
- return;
10288
10268
  }
10289
10269
 
10290
10270
  // Delay the token application to the next render cycle
@@ -10294,14 +10274,9 @@
10294
10274
  applyToken();
10295
10275
  }
10296
10276
  };
10297
- function setUserToken(token, userToken, authenticatedUserToken) {
10298
- setUserTokenToSearch(token, authenticatedUserToken ? 'authenticated' : 'default', true);
10299
- if (userToken) {
10300
- insightsClient('setUserToken', userToken);
10301
- }
10302
- if (authenticatedUserToken) {
10303
- insightsClient('setAuthenticatedUserToken', authenticatedUserToken);
10304
- }
10277
+ function setUserToken(token) {
10278
+ setUserTokenToSearch(token, true);
10279
+ insightsClient('setUserToken', token);
10305
10280
  }
10306
10281
  var anonymousUserToken = undefined;
10307
10282
  var anonymousTokenFromInsights = getInsightsAnonymousUserTokenInternal();
@@ -10315,7 +10290,6 @@
10315
10290
  var token = "anonymous-".concat(createUUID());
10316
10291
  anonymousUserToken = token;
10317
10292
  }
10318
- var authenticatedUserTokenFromInit;
10319
10293
  var userTokenFromInit;
10320
10294
 
10321
10295
  // With SSR, the token could be be set on the state. We make sure
@@ -10323,36 +10297,25 @@
10323
10297
  // insights lib on the server.
10324
10298
  var tokenFromSearchParameters = initialParameters.userToken;
10325
10299
 
10326
- // When the first query is sent, the token is possibly not yet be set by
10300
+ // When the first query is sent, the token is possibly not yet set by
10327
10301
  // the insights onChange callbacks (if insights isn't yet loaded).
10328
10302
  // It is explicitly being set here so that the first query has the
10329
10303
  // initial tokens set and ensure a second query isn't automatically
10330
10304
  // made when the onChange callback actually changes the state.
10331
- if (insightsInitParams) {
10332
- if (insightsInitParams.authenticatedUserToken) {
10333
- authenticatedUserTokenFromInit = insightsInitParams.authenticatedUserToken;
10334
- } else if (insightsInitParams.userToken) {
10335
- userTokenFromInit = insightsInitParams.userToken;
10336
- }
10305
+ if (insightsInitParams !== null && insightsInitParams !== void 0 && insightsInitParams.userToken) {
10306
+ userTokenFromInit = insightsInitParams.userToken;
10337
10307
  }
10338
-
10339
- // We consider the `userToken` or `authenticatedUserToken` before an
10340
- // `init` call of higher importance than one from the queue and ones set
10341
- // from the init props to be higher than that.
10342
- var tokenFromInit = authenticatedUserTokenFromInit || userTokenFromInit;
10343
- var tokenBeforeInit = authenticatedUserTokenBeforeInit || userTokenBeforeInit;
10344
- var tokenFromQueue = queuedAuthenticatedUserToken || queuedUserToken;
10345
- if (tokenFromInit) {
10346
- setUserToken(tokenFromInit, userTokenFromInit, authenticatedUserTokenFromInit);
10308
+ if (userTokenFromInit) {
10309
+ setUserToken(userTokenFromInit);
10347
10310
  } else if (tokenFromSearchParameters) {
10348
- setUserToken(tokenFromSearchParameters, tokenFromSearchParameters, undefined);
10349
- } else if (tokenBeforeInit) {
10350
- setUserToken(tokenBeforeInit, userTokenBeforeInit, authenticatedUserTokenBeforeInit);
10351
- } else if (tokenFromQueue) {
10352
- setUserToken(tokenFromQueue, queuedUserToken, queuedAuthenticatedUserToken);
10311
+ setUserToken(tokenFromSearchParameters);
10312
+ } else if (userTokenBeforeInit) {
10313
+ setUserToken(userTokenBeforeInit);
10314
+ } else if (queuedUserToken) {
10315
+ setUserToken(queuedUserToken);
10353
10316
  } else if (anonymousUserToken) {
10354
10317
  var _queuedInitParams;
10355
- setUserToken(anonymousUserToken, anonymousUserToken, undefined);
10318
+ setUserToken(anonymousUserToken);
10356
10319
  if (insightsInitParams !== null && insightsInitParams !== void 0 && insightsInitParams.useCookie || (_queuedInitParams = queuedInitParams) !== null && _queuedInitParams !== void 0 && _queuedInitParams.useCookie) {
10357
10320
  var _queuedInitParams2;
10358
10321
  saveTokenAsCookie(anonymousUserToken, (insightsInitParams === null || insightsInitParams === void 0 ? void 0 : insightsInitParams.cookieDuration) || ((_queuedInitParams2 = queuedInitParams) === null || _queuedInitParams2 === void 0 ? void 0 : _queuedInitParams2.cookieDuration));
@@ -10361,20 +10324,7 @@
10361
10324
 
10362
10325
  // This updates userToken which is set explicitly by `aa('setUserToken', userToken)`
10363
10326
  insightsClient('onUserTokenChange', function (token) {
10364
- return setUserTokenToSearch(token, 'default', true);
10365
- }, {
10366
- immediate: true
10367
- });
10368
-
10369
- // This updates userToken which is set explicitly by `aa('setAuthenticatedtUserToken', authenticatedUserToken)`
10370
- insightsClient('onAuthenticatedUserTokenChange', function (authenticatedUserToken) {
10371
- // If we're unsetting the `authenticatedUserToken`, we revert to the `userToken`
10372
- if (!authenticatedUserToken) {
10373
- insightsClient('getUserToken', null, function (_, userToken) {
10374
- setUserTokenToSearch(userToken, 'default', true, true);
10375
- });
10376
- }
10377
- setUserTokenToSearch(authenticatedUserToken, 'authenticated', true);
10327
+ return setUserTokenToSearch(token, true);
10378
10328
  }, {
10379
10329
  immediate: true
10380
10330
  });
@@ -10396,7 +10346,7 @@
10396
10346
  var lastQueryId;
10397
10347
  instantSearchInstance.mainHelper.derivedHelpers[0].on('result', function (_ref11) {
10398
10348
  var results = _ref11.results;
10399
- if (!results.queryID || results.queryID !== lastQueryId) {
10349
+ if (results && (!results.queryID || results.queryID !== lastQueryId)) {
10400
10350
  lastQueryId = results.queryID;
10401
10351
  viewedObjectIDs.clear();
10402
10352
  }
@@ -10433,7 +10383,6 @@
10433
10383
  },
10434
10384
  unsubscribe: function unsubscribe() {
10435
10385
  insightsClient('onUserTokenChange', undefined);
10436
- insightsClient('onAuthenticatedUserTokenChange', undefined);
10437
10386
  instantSearchInstance.sendEventToInsights = noop;
10438
10387
  if (helper && initialParameters) {
10439
10388
  helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread$9(_objectSpread$9({}, helper.state), initialParameters));
@@ -10443,6 +10392,16 @@
10443
10392
  };
10444
10393
  };
10445
10394
  }
10395
+ function getInitialParameters(instantSearchInstance) {
10396
+ var _instantSearchInstanc, _instantSearchInstanc2;
10397
+ // in SSR, the initial state we use in this domain is set on the main index
10398
+ var stateFromInitialResults = ((_instantSearchInstanc = instantSearchInstance._initialResults) === null || _instantSearchInstanc === void 0 ? void 0 : (_instantSearchInstanc2 = _instantSearchInstanc[instantSearchInstance.indexName]) === null || _instantSearchInstanc2 === void 0 ? void 0 : _instantSearchInstanc2.state) || {};
10399
+ var stateFromHelper = instantSearchInstance.mainHelper.state;
10400
+ return {
10401
+ userToken: stateFromInitialResults.userToken || stateFromHelper.userToken,
10402
+ clickAnalytics: stateFromInitialResults.clickAnalytics || stateFromHelper.clickAnalytics
10403
+ };
10404
+ }
10446
10405
  function saveTokenAsCookie(token, cookieDuration) {
10447
10406
  var MONTH = 30 * 24 * 60 * 60 * 1000;
10448
10407
  var d = new Date();
@@ -12126,7 +12085,6 @@
12126
12085
  // TODO: emit "change" event when events for Recommend are implemented
12127
12086
  }
12128
12087
  }
12129
-
12130
12088
  function getLocalWidgetsUiState(widgets, widgetStateOptions) {
12131
12089
  var initialUiState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
12132
12090
  return widgets.reduce(function (uiState, widget) {
@@ -12821,7 +12779,7 @@
12821
12779
  };
12822
12780
  }
12823
12781
 
12824
- var version$1 = '4.75.5';
12782
+ var version$1 = '4.75.6';
12825
12783
 
12826
12784
  function _typeof$j(obj) {
12827
12785
  "@babel/helpers - typeof";
@@ -12981,9 +12939,11 @@
12981
12939
  // this purposely breaks typescript's type inference to ensure it's not used
12982
12940
  // as it's used for a default parameter for example
12983
12941
  // source: https://github.com/Microsoft/TypeScript/issues/14829#issuecomment-504042546
12942
+
12984
12943
  /**
12985
12944
  * Global options for an InstantSearch instance.
12986
12945
  */
12946
+
12987
12947
  var INSTANTSEARCH_FUTURE_DEFAULTS = {
12988
12948
  preserveSharedStateOnUnmount: false,
12989
12949
  persistHierarchicalRootCount: false
@@ -13565,25 +13525,32 @@
13565
13525
  return experience;
13566
13526
  });
13567
13527
  }
13568
- var API_BASE = 'https://experiences-beta.algolia.com/1';
13528
+ var API_BASE = {
13529
+ local: 'http://localhost:3000/1',
13530
+ beta: 'https://experiences-beta.algolia.com/1',
13531
+ prod: 'https://experiences.algolia.com/1'
13532
+ };
13569
13533
  function getExperience(_ref2) {
13570
13534
  var id = _ref2.id,
13571
13535
  appId = _ref2.appId,
13572
- apiKey = _ref2.apiKey;
13536
+ apiKey = _ref2.apiKey,
13537
+ environment = _ref2.environment;
13573
13538
  return buildRequest({
13574
13539
  appId: appId,
13575
13540
  apiKey: apiKey,
13541
+ environment: environment,
13576
13542
  endpoint: "experiences/".concat(id)
13577
13543
  });
13578
13544
  }
13579
13545
  function buildRequest(_ref5) {
13580
13546
  var appId = _ref5.appId,
13581
13547
  apiKey = _ref5.apiKey,
13548
+ environment = _ref5.environment,
13582
13549
  endpoint = _ref5.endpoint,
13583
13550
  _ref5$method = _ref5.method,
13584
13551
  method = _ref5$method === void 0 ? 'GET' : _ref5$method,
13585
13552
  data = _ref5.data;
13586
- return fetch("".concat(API_BASE, "/").concat(endpoint), {
13553
+ return fetch("".concat(API_BASE[environment], "/").concat(endpoint), {
13587
13554
  method: method,
13588
13555
  headers: {
13589
13556
  'X-Algolia-Application-ID': appId,
@@ -13605,15 +13572,18 @@
13605
13572
  if (!metaConfiguration || !metaConfiguration.content) {
13606
13573
  throw new Error('No meta tag found');
13607
13574
  }
13608
- var _JSON$parse = JSON.parse(metaConfiguration.content),
13609
- appId = _JSON$parse.appId,
13610
- apiKey = _JSON$parse.apiKey;
13575
+ var _ref = JSON.parse(metaConfiguration.content),
13576
+ appId = _ref.appId,
13577
+ apiKey = _ref.apiKey,
13578
+ _ref$environment = _ref.environment,
13579
+ environment = _ref$environment === void 0 ? 'prod' : _ref$environment;
13611
13580
  if (!appId || !apiKey) {
13612
13581
  throw new Error('Missing appId or apiKey in the meta tag');
13613
13582
  }
13614
13583
  return {
13615
13584
  appId: appId,
13616
- apiKey: apiKey
13585
+ apiKey: apiKey,
13586
+ environment: environment
13617
13587
  };
13618
13588
  }
13619
13589
 
@@ -17748,7 +17718,7 @@
17748
17718
  function getItems() {
17749
17719
  if (!results) {
17750
17720
  return transformItems(getRefinementsItems({
17751
- results: {},
17721
+ results: null,
17752
17722
  helper: helper,
17753
17723
  indexId: helper.state.index,
17754
17724
  includedAttributes: includedAttributes,
@@ -19806,6 +19776,7 @@
19806
19776
 
19807
19777
  // false positive lint error
19808
19778
  // eslint-disable-next-line @typescript-eslint/consistent-type-imports
19779
+
19809
19780
  var defaultTemplates$3 = {
19810
19781
  empty: function empty() {
19811
19782
  return 'No results';
@@ -20900,7 +20871,7 @@
20900
20871
  sendEvent: sendEvent,
20901
20872
  bindEvent: bindEvent,
20902
20873
  banner: banner,
20903
- results: results,
20874
+ results: results || undefined,
20904
20875
  showPrevious: showPrevious,
20905
20876
  showMore: showMore,
20906
20877
  isFirstPage: isFirstPage,
@@ -24975,7 +24946,6 @@
24975
24946
  ), handlePos[idx - 1] !== undefined ? handlePos[idx - 1] + handleDimensions : PERCENT_EMPTY // 0% is the lowest value
24976
24947
  );
24977
24948
  });
24978
-
24979
24949
  _defineProperty$X(_assertThisInitialized$6(_this), "validateValues", function (proposedValues, props) {
24980
24950
  var _ref4 = props || _this.props,
24981
24951
  max = _ref4.max,
@@ -29989,7 +29959,7 @@
29989
29959
  }
29990
29960
  }]);
29991
29961
  return AlgoliaExperience;
29992
- }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
29962
+ }(/*#__PURE__*/_wrapNativeSuper(HTMLElement));
29993
29963
  _defineProperty(AlgoliaExperience, "observedAttributes", ['experience-id']);
29994
29964
  customElements.define('algolia-experience', AlgoliaExperience);
29995
29965
  }