@getlupa/client 1.9.5 → 1.10.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.
@@ -6894,6 +6894,11 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6894
6894
  const setInitialFilters = ({ initialFilters: initialFilters2 }) => {
6895
6895
  searchResultInitialFilters.value = initialFilters2;
6896
6896
  };
6897
+ const getQueryParamName = (param) => {
6898
+ var _a;
6899
+ const nameMap = searchBoxOptions.value.queryParameterNames;
6900
+ return (_a = nameMap == null ? void 0 : nameMap[param]) != null ? _a : param;
6901
+ };
6897
6902
  return {
6898
6903
  searchBoxOptions,
6899
6904
  searchResultOptions,
@@ -6908,7 +6913,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6908
6913
  setSearchBoxOptions,
6909
6914
  setTrackingOptions,
6910
6915
  setSearchResultOptions,
6911
- setInitialFilters
6916
+ setInitialFilters,
6917
+ getQueryParamName
6912
6918
  };
6913
6919
  });
6914
6920
  var DocumentElementType = /* @__PURE__ */ ((DocumentElementType2) => {
@@ -7161,9 +7167,14 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7161
7167
  return void 0;
7162
7168
  }
7163
7169
  };
7164
- const parseRegularKeys = (regularKeys, searchParams) => {
7170
+ const parseRegularKeys = (regularKeys, searchParams, getQueryParamName) => {
7165
7171
  const params = /* @__PURE__ */ Object.create({});
7166
- const keys = reverseKeyValue(QUERY_PARAMS$1);
7172
+ const keys = reverseKeyValue({
7173
+ QUERY: getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.QUERY) : QUERY_PARAMS$1.QUERY,
7174
+ LIMIT: getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.LIMIT) : QUERY_PARAMS$1.LIMIT,
7175
+ PAGE: getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.PAGE) : QUERY_PARAMS$1.PAGE,
7176
+ SORT: getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.SORT) : QUERY_PARAMS$1.SORT
7177
+ });
7167
7178
  for (const key of regularKeys) {
7168
7179
  const rawKey = keys[key] || key;
7169
7180
  params[rawKey] = parseParam(key, searchParams);
@@ -7205,16 +7216,17 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7205
7216
  }
7206
7217
  return params;
7207
7218
  };
7208
- const parseParams = (searchParams) => {
7219
+ const parseParams = (getQueryParamName, searchParams) => {
7209
7220
  const params = /* @__PURE__ */ Object.create({});
7210
7221
  if (!searchParams)
7211
7222
  return params;
7212
7223
  const paramKeys = Array.from(searchParams.keys());
7213
7224
  const facetKeys = paramKeys.filter((k) => isFacetKey(k));
7214
7225
  const regularKeys = paramKeys.filter((k) => !isFacetKey(k));
7215
- return __spreadValues2(__spreadValues2({
7226
+ const r = __spreadValues2(__spreadValues2({
7216
7227
  [QUERY_PARAMS_PARSED.QUERY]: ""
7217
- }, parseRegularKeys(regularKeys, searchParams)), parseFacetKeys(facetKeys, searchParams));
7228
+ }, parseRegularKeys(regularKeys, searchParams, getQueryParamName)), parseFacetKeys(facetKeys, searchParams));
7229
+ return r;
7218
7230
  };
7219
7231
  const appendParam = (url, { name, value }, encode = true) => {
7220
7232
  if (Array.isArray(value)) {
@@ -7235,10 +7247,16 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7235
7247
  url.searchParams.delete(param.name);
7236
7248
  param.value.forEach((v) => url.searchParams.append(param.name, encodeParam(v)));
7237
7249
  };
7238
- const getRemovableParams = (url, paramsToRemove) => {
7250
+ const getRemovableParams = (url, getQueryParamName, paramsToRemove) => {
7239
7251
  if (paramsToRemove === "all") {
7252
+ const params = {
7253
+ QUERY: getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.QUERY) : QUERY_PARAMS$1.QUERY,
7254
+ LIMIT: getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.LIMIT) : QUERY_PARAMS$1.LIMIT,
7255
+ PAGE: getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.PAGE) : QUERY_PARAMS$1.PAGE,
7256
+ SORT: getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.SORT) : QUERY_PARAMS$1.SORT
7257
+ };
7240
7258
  return [
7241
- ...Object.values(QUERY_PARAMS$1),
7259
+ ...Object.values(params),
7242
7260
  ...Array.from(url.searchParams.keys()).filter((k) => isFacetKey(k))
7243
7261
  ];
7244
7262
  }
@@ -7269,12 +7287,12 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7269
7287
  }
7270
7288
  return link;
7271
7289
  };
7272
- const generateResultLink = (link, searchText, facet) => {
7290
+ const generateResultLink = (link, getQueryParamName, searchText, facet) => {
7273
7291
  if (!searchText) {
7274
7292
  return link;
7275
7293
  }
7276
7294
  const facetParam = facet ? `&${FACET_PARAMS_TYPE.TERMS}${encodeParam(facet.key)}=${encodeParam(facet.title)}` : "";
7277
- const queryParam = `?${QUERY_PARAMS$1.QUERY}=${encodeParam(searchText)}`;
7295
+ const queryParam = `?${getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.QUERY) : QUERY_PARAMS$1.QUERY}=${encodeParam(searchText)}`;
7278
7296
  return `${link}${queryParam}${facetParam}`;
7279
7297
  };
7280
7298
  const getRelativePath = (link) => {
@@ -7303,8 +7321,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7303
7321
  event == null ? void 0 : event.preventDefault();
7304
7322
  emitRoutingEvent(link);
7305
7323
  };
7306
- const redirectToResultsPage = (link, searchText, facet, routingBehavior = "direct-link") => {
7307
- const url = generateResultLink(link, searchText, facet);
7324
+ const redirectToResultsPage = (link, searchText, getQueryParamName, facet, routingBehavior = "direct-link") => {
7325
+ const url = generateResultLink(link, getQueryParamName, searchText, facet);
7308
7326
  if (routingBehavior === "event") {
7309
7327
  emitRoutingEvent(url);
7310
7328
  } else {
@@ -7329,15 +7347,15 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7329
7347
  value
7330
7348
  };
7331
7349
  };
7332
- const toggleTermFilter = (appendParams, facetAction, currentFilters) => {
7350
+ const toggleTermFilter = (appendParams, facetAction, getQueryParamName, currentFilters) => {
7333
7351
  const currentFilter = currentFilters == null ? void 0 : currentFilters[facetAction.key];
7334
7352
  const newParams = toggleTermParam(currentFilter, facetAction.value);
7335
7353
  appendParams({
7336
7354
  params: [getFacetParam(facetAction.key, newParams)],
7337
- paramsToRemove: [QUERY_PARAMS$1.PAGE]
7355
+ paramsToRemove: [getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.PAGE) : QUERY_PARAMS$1.PAGE]
7338
7356
  });
7339
7357
  };
7340
- const toggleHierarchyFilter = (appendParams, facetAction, currentFilters, removeAllLevels = false) => {
7358
+ const toggleHierarchyFilter = (appendParams, facetAction, getQueryParamName, currentFilters, removeAllLevels = false) => {
7341
7359
  var _a;
7342
7360
  const currentFilter = currentFilters == null ? void 0 : currentFilters[facetAction.key];
7343
7361
  const newParams = toggleHierarchyParam(
@@ -7347,10 +7365,10 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7347
7365
  );
7348
7366
  appendParams({
7349
7367
  params: [getFacetParam(facetAction.key, newParams, FACET_PARAMS_TYPE.HIERARCHY)],
7350
- paramsToRemove: [QUERY_PARAMS$1.PAGE]
7368
+ paramsToRemove: [getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.PAGE) : QUERY_PARAMS$1.PAGE]
7351
7369
  });
7352
7370
  };
7353
- const toggleRangeFilter = (appendParams, facetAction, currentFilters) => {
7371
+ const toggleRangeFilter = (appendParams, facetAction, getQueryParamName, currentFilters) => {
7354
7372
  const currentFilter = rangeFilterToString(
7355
7373
  currentFilters == null ? void 0 : currentFilters[facetAction.key],
7356
7374
  FACET_RANGE_SEPARATOR
@@ -7359,7 +7377,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7359
7377
  facetValue = currentFilter === facetValue ? "" : facetValue;
7360
7378
  appendParams({
7361
7379
  params: [getFacetParam(facetAction.key, facetValue, FACET_PARAMS_TYPE.RANGE)],
7362
- paramsToRemove: [QUERY_PARAMS$1.PAGE],
7380
+ paramsToRemove: [getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.PAGE) : QUERY_PARAMS$1.PAGE],
7363
7381
  encode: false
7364
7382
  });
7365
7383
  };
@@ -7488,7 +7506,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7488
7506
  const navigate = (url) => {
7489
7507
  var _a, _b, _c;
7490
7508
  window.history.pushState("", "Append params", url.pathname + url.search);
7491
- const params2 = parseParams(url.searchParams);
7509
+ const params2 = parseParams(optionsStore.getQueryParamName, url.searchParams);
7492
7510
  (_c = (_b = (_a = optionsStore == null ? void 0 : optionsStore.searchBoxOptions) == null ? void 0 : _a.callbacks) == null ? void 0 : _b.onSearchResultsNavigate) == null ? void 0 : _c.call(_b, {
7493
7511
  params: params2
7494
7512
  });
@@ -7506,7 +7524,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7506
7524
  const paramsToRemove = Array.from(url.searchParams.keys()).filter(isFacetKey);
7507
7525
  removeParams(url, paramsToRemove);
7508
7526
  navigate(url);
7509
- params.value = parseParams(url.searchParams);
7527
+ params.value = parseParams(optionsStore.getQueryParamName, url.searchParams);
7510
7528
  searchString.value = url.search;
7511
7529
  };
7512
7530
  const removeParameters = ({
@@ -7514,13 +7532,13 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7514
7532
  save = true
7515
7533
  }) => {
7516
7534
  const url = getPageUrl();
7517
- paramsToRemove = getRemovableParams(url, paramsToRemove);
7535
+ paramsToRemove = getRemovableParams(url, optionsStore.getQueryParamName, paramsToRemove);
7518
7536
  removeParams(url, paramsToRemove);
7519
7537
  navigate(url);
7520
7538
  if (!save) {
7521
7539
  return;
7522
7540
  }
7523
- params.value = parseParams(url.searchParams);
7541
+ params.value = parseParams(optionsStore.getQueryParamName, url.searchParams);
7524
7542
  searchString.value = url.search;
7525
7543
  };
7526
7544
  const handleNoResultsFlag = ({
@@ -7562,13 +7580,22 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7562
7580
  })
7563
7581
  ] : [];
7564
7582
  appendParams({
7565
- params: [{ name: QUERY_PARAMS$1.QUERY, value: searchText }, ...facetParam],
7583
+ params: [
7584
+ { name: optionsStore.getQueryParamName(QUERY_PARAMS$1.QUERY), value: searchText },
7585
+ ...facetParam
7586
+ ],
7566
7587
  paramsToRemove: "all",
7567
7588
  searchResultsLink: searchResultsLink.value
7568
7589
  });
7569
7590
  } else {
7570
7591
  const routing = (_a = optionsStore.boxRoutingBehavior) != null ? _a : "direct-link";
7571
- redirectToResultsPage(searchResultsLink.value, searchText, facet, routing);
7592
+ redirectToResultsPage(
7593
+ searchResultsLink.value,
7594
+ searchText,
7595
+ optionsStore.getQueryParamName,
7596
+ facet,
7597
+ routing
7598
+ );
7572
7599
  }
7573
7600
  };
7574
7601
  const appendParams = ({
@@ -7582,14 +7609,14 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7582
7609
  return { params: params.value };
7583
7610
  }
7584
7611
  const url = getPageUrl(searchResultsLink2);
7585
- paramsToRemove = getRemovableParams(url, paramsToRemove);
7612
+ paramsToRemove = getRemovableParams(url, optionsStore.getQueryParamName, paramsToRemove);
7586
7613
  removeParams(url, paramsToRemove);
7587
7614
  newParams.forEach((p2) => appendParam(url, p2, encode));
7588
7615
  navigate(url);
7589
7616
  if (!save) {
7590
7617
  return;
7591
7618
  }
7592
- params.value = parseParams(url.searchParams);
7619
+ params.value = parseParams(optionsStore.getQueryParamName, url.searchParams);
7593
7620
  searchString.value = url.search;
7594
7621
  };
7595
7622
  const setDefaultLimit = (newDefaultLimit) => {
@@ -8324,8 +8351,9 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8324
8351
  const useDynamicDataStore = defineStore("dynamicData", () => {
8325
8352
  const loading = ref(false);
8326
8353
  const dynamicDataIdMap = ref({});
8354
+ const loadingIds = ref({});
8327
8355
  const optionsStore = useOptionsStore();
8328
- const loadedIds = computed(() => Object.keys(dynamicDataIdMap.value));
8356
+ computed(() => Object.keys(dynamicDataIdMap.value));
8329
8357
  const searchResultOptions = computed(() => optionsStore.searchResultOptions);
8330
8358
  const searchBoxOptions = computed(() => optionsStore.searchBoxOptions);
8331
8359
  const dynamicSearchResultData = computed(() => {
@@ -8365,11 +8393,12 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8365
8393
  const similarQueryResultIds = (_e = (_d = (_c = result.similarQueries) == null ? void 0 : _c.map((q) => q.items.map((i) => i.id))) == null ? void 0 : _d.flat()) != null ? _e : [];
8366
8394
  let requestedIds = [...resultIds, ...similarQueryResultIds];
8367
8395
  if (isCacheEnabled.value) {
8368
- requestedIds = requestedIds.filter((i) => !loadedIds.value.includes(i));
8396
+ requestedIds = requestedIds.filter((i) => !dynamicDataIdMap.value[`${i}`]);
8369
8397
  }
8370
8398
  if (!requestedIds.length) {
8371
8399
  return;
8372
8400
  }
8401
+ loadingIds.value = requestedIds.reduce((a, c2) => __spreadProps2(__spreadValues2({}, a), { [c2]: true }), {});
8373
8402
  loading.value = true;
8374
8403
  try {
8375
8404
  const dynamicData = dynamicSearchResultData.value || dynamicSearchBoxData.value;
@@ -8379,15 +8408,16 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8379
8408
  const dynamicDataResult = (_f = yield dynamicData == null ? void 0 : dynamicData.handler(requestedIds)) != null ? _f : [];
8380
8409
  const seed = {};
8381
8410
  const dynamicDataIdMapValue = dynamicDataResult.reduce(
8382
- (a, c2) => __spreadProps2(__spreadValues2({}, a), { [c2.id]: c2 }),
8411
+ (a, c2) => __spreadProps2(__spreadValues2({}, a), { [`${c2.id}`]: c2 }),
8383
8412
  seed
8384
8413
  );
8385
8414
  dynamicDataIdMap.value = __spreadValues2(__spreadValues2({}, dynamicDataIdMap.value), dynamicDataIdMapValue);
8386
8415
  } finally {
8387
8416
  loading.value = false;
8417
+ loadingIds.value = {};
8388
8418
  }
8389
8419
  });
8390
- return { dynamicDataIdMap, loading, enhanceSearchResultsWithDynamicData };
8420
+ return { dynamicDataIdMap, loading, loadingIds, enhanceSearchResultsWithDynamicData };
8391
8421
  });
8392
8422
  const joinUrlParts = (...parts) => {
8393
8423
  var _a, _b, _c;
@@ -8905,7 +8935,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8905
8935
  setup(__props) {
8906
8936
  const props = __props;
8907
8937
  const dynamicDataStore = useDynamicDataStore();
8908
- const { loading, dynamicDataIdMap } = storeToRefs(dynamicDataStore);
8938
+ const { loading, loadingIds, dynamicDataIdMap } = storeToRefs(dynamicDataStore);
8909
8939
  const elementComponent = computed(() => {
8910
8940
  switch (props.element.type) {
8911
8941
  case DocumentElementType.IMAGE:
@@ -8930,9 +8960,6 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8930
8960
  const displayElement = computed(() => {
8931
8961
  return props.element.display ? props.element.display(props.item) : true;
8932
8962
  });
8933
- const isLoadingDynamicData = computed(() => {
8934
- return Boolean(props.element.dynamic && loading.value);
8935
- });
8936
8963
  const enhancedItem = computed(() => {
8937
8964
  var _a, _b, _c, _d;
8938
8965
  if (!((_a = props.item) == null ? void 0 : _a.id)) {
@@ -8941,13 +8968,17 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8941
8968
  const enhancementData = (_d = (_c = dynamicDataIdMap.value) == null ? void 0 : _c[(_b = props.item) == null ? void 0 : _b.id]) != null ? _d : {};
8942
8969
  return __spreadValues2(__spreadValues2({}, props.item), enhancementData);
8943
8970
  });
8971
+ const isLoadingDynamicData = (id) => {
8972
+ return Boolean(props.element.dynamic && id && loading.value && (loadingIds == null ? void 0 : loadingIds.value[id]));
8973
+ };
8944
8974
  return (_ctx, _cache) => {
8975
+ var _a;
8945
8976
  return displayElement.value ? (openBlock(), createBlock(resolveDynamicComponent(elementComponent.value), {
8946
8977
  key: 0,
8947
8978
  item: enhancedItem.value,
8948
8979
  options: _ctx.element,
8949
8980
  labels: _ctx.labels,
8950
- class: normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData.value }),
8981
+ class: normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData((_a = _ctx.item) == null ? void 0 : _a.id) }),
8951
8982
  inStock: _ctx.isInStock
8952
8983
  }, null, 8, ["item", "options", "labels", "class", "inStock"])) : createCommentVNode("", true);
8953
8984
  };
@@ -10176,6 +10207,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
10176
10207
  setup(__props) {
10177
10208
  const isOpen = ref(false);
10178
10209
  const paramsStore = useParamsStore();
10210
+ const optionStore = useOptionsStore();
10179
10211
  const searchResultStore = useSearchResultStore();
10180
10212
  const { filters, displayFilters, currentFilterCount } = storeToRefs(searchResultStore);
10181
10213
  const currentFilters = computed(() => filters.value);
@@ -10193,6 +10225,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
10193
10225
  // TODO: Fix any
10194
10226
  paramsStore.appendParams,
10195
10227
  { type: "terms", value: filter.value, key: filter.key },
10228
+ optionStore.getQueryParamName,
10196
10229
  currentFilters.value
10197
10230
  );
10198
10231
  break;
@@ -10200,13 +10233,17 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
10200
10233
  toggleHierarchyFilter(
10201
10234
  paramsStore.appendParams,
10202
10235
  { type: "hierarchy", value: filter.value, key: filter.key },
10236
+ optionStore.getQueryParamName,
10203
10237
  currentFilters.value,
10204
10238
  true
10205
10239
  );
10206
10240
  break;
10207
10241
  case "range":
10208
10242
  paramsStore.removeParameters({
10209
- paramsToRemove: [QUERY_PARAMS$1.PAGE, `${FACET_PARAMS_TYPE.RANGE}${filter.key}`]
10243
+ paramsToRemove: [
10244
+ optionStore.getQueryParamName(QUERY_PARAMS$1.PAGE),
10245
+ `${FACET_PARAMS_TYPE.RANGE}${filter.key}`
10246
+ ]
10210
10247
  });
10211
10248
  break;
10212
10249
  }
@@ -12208,13 +12245,28 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12208
12245
  const handleFacetSelect = (facetAction) => {
12209
12246
  switch (facetAction.type) {
12210
12247
  case "terms":
12211
- toggleTermFilter(paramStore.appendParams, facetAction, filters.value);
12248
+ toggleTermFilter(
12249
+ paramStore.appendParams,
12250
+ facetAction,
12251
+ optionsStore.getQueryParamName,
12252
+ filters.value
12253
+ );
12212
12254
  break;
12213
12255
  case "range":
12214
- toggleRangeFilter(paramStore.appendParams, facetAction, filters.value);
12256
+ toggleRangeFilter(
12257
+ paramStore.appendParams,
12258
+ facetAction,
12259
+ optionsStore.getQueryParamName,
12260
+ filters.value
12261
+ );
12215
12262
  break;
12216
12263
  case "hierarchy":
12217
- toggleHierarchyFilter(paramStore.appendParams, facetAction, filters.value);
12264
+ toggleHierarchyFilter(
12265
+ paramStore.appendParams,
12266
+ facetAction,
12267
+ optionsStore.getQueryParamName,
12268
+ filters.value
12269
+ );
12218
12270
  break;
12219
12271
  }
12220
12272
  if (scrollToResultsOptions.value.enabled) {
@@ -12581,7 +12633,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12581
12633
  const handlePageChange = (page) => {
12582
12634
  if (page > 0) {
12583
12635
  paramStore.appendParams({
12584
- params: [{ name: QUERY_PARAMS$1.PAGE, value: page.toString() }]
12636
+ params: [{ name: optionsStore.getQueryParamName(QUERY_PARAMS$1.PAGE), value: page.toString() }]
12585
12637
  });
12586
12638
  if (scrollToResultsOptions.value.enabled) {
12587
12639
  scrollToSearchResults(
@@ -12651,12 +12703,13 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12651
12703
  },
12652
12704
  setup(__props) {
12653
12705
  const paramsStore = useParamsStore();
12706
+ const optionsStore = useOptionsStore();
12654
12707
  const select = ref(null);
12655
12708
  const handleSelect = (e) => {
12656
12709
  const value = e.target.value;
12657
12710
  paramsStore.appendParams({
12658
- params: [{ name: QUERY_PARAMS$1.LIMIT, value }],
12659
- paramsToRemove: [QUERY_PARAMS$1.PAGE]
12711
+ params: [{ name: optionsStore.getQueryParamName(QUERY_PARAMS$1.LIMIT), value }],
12712
+ paramsToRemove: [optionsStore.getQueryParamName(QUERY_PARAMS$1.PAGE)]
12660
12713
  });
12661
12714
  };
12662
12715
  return (_ctx, _cache) => {
@@ -12697,6 +12750,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12697
12750
  setup(__props) {
12698
12751
  const props = __props;
12699
12752
  const paramStore = useParamsStore();
12753
+ const optionStore = useOptionsStore();
12700
12754
  const { sort } = storeToRefs(paramStore);
12701
12755
  const selectedKey = ref("");
12702
12756
  const previousKey = ref("");
@@ -12730,8 +12784,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12730
12784
  paramStore.setSortSettings({ selectedSortKey: value, previousSortKey: previousKey.value });
12731
12785
  (_c = (_b = props.callbacks) == null ? void 0 : _b.onSortChange) == null ? void 0 : _c.call(_b, { selectedSortKey: value, previousSortKey: previousKey.value });
12732
12786
  paramStore.appendParams({
12733
- params: [{ name: QUERY_PARAMS$1.SORT, value }],
12734
- paramsToRemove: [QUERY_PARAMS$1.PAGE]
12787
+ params: [{ name: optionStore.getQueryParamName(QUERY_PARAMS$1.SORT), value }],
12788
+ paramsToRemove: [optionStore.getQueryParamName(QUERY_PARAMS$1.PAGE)]
12735
12789
  });
12736
12790
  previousKey.value = selectedKey.value;
12737
12791
  };
@@ -13589,7 +13643,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
13589
13643
  setup(__props, { emit: emit2 }) {
13590
13644
  const props = __props;
13591
13645
  const dynamicDataStore = useDynamicDataStore();
13592
- const { dynamicDataIdMap, loading } = storeToRefs(dynamicDataStore);
13646
+ const { dynamicDataIdMap, loadingIds, loading } = storeToRefs(dynamicDataStore);
13593
13647
  const elementComponent = computed(() => {
13594
13648
  switch (props.element.type) {
13595
13649
  case DocumentElementType.IMAGE:
@@ -13615,9 +13669,6 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
13615
13669
  }
13616
13670
  return "searchResultsProductTitle";
13617
13671
  });
13618
- const isLoadingDynamicData = computed(() => {
13619
- return Boolean(props.element.dynamic && loading.value);
13620
- });
13621
13672
  const enhancedItem = computed(() => {
13622
13673
  var _a, _b, _c, _d;
13623
13674
  if (!((_a = props.item) == null ? void 0 : _a.id)) {
@@ -13632,7 +13683,11 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
13632
13683
  const handleProductEvent = (item) => {
13633
13684
  emit2("productEvent", item);
13634
13685
  };
13686
+ const isLoadingDynamicData = (id) => {
13687
+ return Boolean(props.element.dynamic && id && loading.value && (loadingIds == null ? void 0 : loadingIds.value[id]));
13688
+ };
13635
13689
  return (_ctx, _cache) => {
13690
+ var _a;
13636
13691
  return displayElement.value ? (openBlock(), createBlock(resolveDynamicComponent(elementComponent.value), {
13637
13692
  key: 0,
13638
13693
  item: enhancedItem.value,
@@ -13640,7 +13695,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
13640
13695
  labels: _ctx.labels,
13641
13696
  inStock: _ctx.inStock,
13642
13697
  link: _ctx.link,
13643
- class: normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData.value }),
13698
+ class: normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData((_a = _ctx.item) == null ? void 0 : _a.id) }),
13644
13699
  onProductEvent: handleProductEvent
13645
13700
  }, null, 40, ["item", "options", "labels", "inStock", "link", "class"])) : createCommentVNode("", true);
13646
13701
  };
@@ -14167,7 +14222,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
14167
14222
  const props = __props;
14168
14223
  const searchResultStore = useSearchResultStore();
14169
14224
  const paramStore = useParamsStore();
14170
- useOptionsStore();
14225
+ const optionStore = useOptionsStore();
14171
14226
  const {
14172
14227
  hasResults,
14173
14228
  currentQueryText,
@@ -14251,7 +14306,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
14251
14306
  };
14252
14307
  const goToFirstPage = () => {
14253
14308
  paramStore.appendParams({
14254
- params: [{ name: QUERY_PARAMS$1.PAGE, value: "1" }]
14309
+ params: [{ name: optionStore.getQueryParamName(QUERY_PARAMS$1.PAGE), value: "1" }]
14255
14310
  });
14256
14311
  };
14257
14312
  return (_ctx, _cache) => {
@@ -14457,7 +14512,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
14457
14512
  const handlePopState = () => {
14458
14513
  var _a;
14459
14514
  const searchParams = getSearchParams((_a = props.options.ssr) == null ? void 0 : _a.url);
14460
- paramStore.add(parseParams(searchParams));
14515
+ paramStore.add(parseParams(optionStore.getQueryParamName, searchParams));
14461
14516
  };
14462
14517
  onMounted(() => __async(this, null, function* () {
14463
14518
  var _a, _b;
@@ -14557,7 +14612,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
14557
14612
  var _a;
14558
14613
  const searchParams = getSearchParams((_a = props.options.ssr) == null ? void 0 : _a.url, params);
14559
14614
  const publicQuery = createPublicQuery(
14560
- parseParams(searchParams),
14615
+ parseParams(optionStore.getQueryParamName, searchParams),
14561
14616
  props.options.sort,
14562
14617
  defaultSearchResultPageSize.value
14563
14618
  );
@@ -14577,10 +14632,10 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
14577
14632
  }
14578
14633
  }
14579
14634
  const params = new URLSearchParams(window.location.search);
14580
- if (!params.has(QUERY_PARAMS$1.QUERY) && !props.initialData) {
14635
+ if (!params.has(optionStore.getQueryParamName(QUERY_PARAMS$1.QUERY)) && !props.initialData) {
14581
14636
  handleUrlChange(params);
14582
14637
  }
14583
- paramStore.add(parseParams(params));
14638
+ paramStore.add(parseParams(optionStore.getQueryParamName, params));
14584
14639
  paramStore.setDefaultLimit(defaultSearchResultPageSize.value);
14585
14640
  };
14586
14641
  watch(searchString, () => handleParamsChange());
@@ -14614,7 +14669,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
14614
14669
  );
14615
14670
  optionStore.setSearchResultOptions({ options: props.options });
14616
14671
  searchResultStore.add(__spreadValues2({}, initialData));
14617
- paramStore.add(parseParams(searchParams), props.options.ssr);
14672
+ paramStore.add(parseParams(optionStore.getQueryParamName, searchParams), props.options.ssr);
14618
14673
  paramStore.setDefaultLimit(defaultSearchResultPageSize.value);
14619
14674
  handleResults({ queryKey: props.options.queryKey, results: initialData });
14620
14675
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getlupa/client",
3
- "version": "1.9.5",
3
+ "version": "1.10.0",
4
4
  "main": "dist/lupaSearch.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/src/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "devDependencies": {
22
22
  "@getlupa/client-sdk": "^1.3.4",
23
- "@getlupa/vue": "0.9.6",
23
+ "@getlupa/vue": "0.10.0",
24
24
  "@rushstack/eslint-patch": "^1.3.2",
25
25
  "@tsconfig/node18": "^2.0.1",
26
26
  "@types/jsdom": "^21.1.1",