@getlupa/vue 0.17.12 → 0.17.14

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.
@@ -9004,8 +9004,8 @@ const useSearchBoxStore = defineStore("searchBox", () => {
9004
9004
  const _hoisted_1$1i = { id: "lupa-search-box-input-container" };
9005
9005
  const _hoisted_2$T = { class: "lupa-input-clear" };
9006
9006
  const _hoisted_3$C = { id: "lupa-search-box-input" };
9007
- const _hoisted_4$s = ["value"];
9008
- const _hoisted_5$i = ["aria-label", "placeholder"];
9007
+ const _hoisted_4$u = ["value"];
9008
+ const _hoisted_5$k = ["aria-label", "placeholder"];
9009
9009
  const _hoisted_6$9 = /* @__PURE__ */ vue.createElementVNode("span", { class: "lupa-search-submit-icon" }, null, -1);
9010
9010
  const _hoisted_7$7 = [
9011
9011
  _hoisted_6$9
@@ -9111,7 +9111,7 @@ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
9111
9111
  "aria-hidden": "true",
9112
9112
  value: showHint.value ? suggestedValue.value.item.suggestion : "",
9113
9113
  disabled: ""
9114
- }, null, 8, _hoisted_4$s),
9114
+ }, null, 8, _hoisted_4$u),
9115
9115
  vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
9116
9116
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
9117
9117
  }, inputAttributes.value, {
@@ -9125,7 +9125,7 @@ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
9125
9125
  placeholder: labels.value.placeholder,
9126
9126
  onInput: handleInput,
9127
9127
  onFocus: handleFocus
9128
- }), null, 16, _hoisted_5$i), [
9128
+ }), null, 16, _hoisted_5$k), [
9129
9129
  [vue.vModelText, inputValue.value]
9130
9130
  ]),
9131
9131
  _ctx.options.showSubmitButton ? (vue.openBlock(), vue.createElementBlock("button", {
@@ -9337,11 +9337,11 @@ const _hoisted_3$B = {
9337
9337
  class: "lupa-suggestion-facet",
9338
9338
  "data-cy": "lupa-suggestion-facet"
9339
9339
  };
9340
- const _hoisted_4$r = {
9340
+ const _hoisted_4$t = {
9341
9341
  class: "lupa-suggestion-facet-label",
9342
9342
  "data-cy": "lupa-suggestion-facet-label"
9343
9343
  };
9344
- const _hoisted_5$h = {
9344
+ const _hoisted_5$j = {
9345
9345
  class: "lupa-suggestion-facet-value",
9346
9346
  "data-cy": "lupa-suggestion-facet-value"
9347
9347
  };
@@ -9383,8 +9383,8 @@ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
9383
9383
  innerHTML: _ctx.suggestion.displayHighlight
9384
9384
  }, null, 8, _hoisted_1$1e)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$R, vue.toDisplayString(_ctx.suggestion.display), 1)),
9385
9385
  _ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$B, [
9386
- vue.createElementVNode("span", _hoisted_4$r, vue.toDisplayString(facetLabel.value), 1),
9387
- vue.createElementVNode("span", _hoisted_5$h, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
9386
+ vue.createElementVNode("span", _hoisted_4$t, vue.toDisplayString(facetLabel.value), 1),
9387
+ vue.createElementVNode("span", _hoisted_5$j, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
9388
9388
  ])) : vue.createCommentVNode("", true)
9389
9389
  ]);
9390
9390
  };
@@ -18927,8 +18927,8 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
18927
18927
  const _hoisted_1$18 = ["innerHTML"];
18928
18928
  const _hoisted_2$N = { key: 0 };
18929
18929
  const _hoisted_3$A = { key: 1 };
18930
- const _hoisted_4$q = { class: "lupa-search-box-custom-label" };
18931
- const _hoisted_5$g = { class: "lupa-search-box-custom-text" };
18930
+ const _hoisted_4$s = { class: "lupa-search-box-custom-label" };
18931
+ const _hoisted_5$i = { class: "lupa-search-box-custom-text" };
18932
18932
  const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
18933
18933
  __name: "SearchBoxProductCustom",
18934
18934
  props: {
@@ -18960,8 +18960,8 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
18960
18960
  class: [className.value, "lupa-search-box-product-custom"]
18961
18961
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
18962
18962
  !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$N, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
18963
- vue.createElementVNode("div", _hoisted_4$q, vue.toDisplayString(label.value), 1),
18964
- vue.createElementVNode("div", _hoisted_5$g, vue.toDisplayString(text.value), 1)
18963
+ vue.createElementVNode("div", _hoisted_4$s, vue.toDisplayString(label.value), 1),
18964
+ vue.createElementVNode("div", _hoisted_5$i, vue.toDisplayString(text.value), 1)
18965
18965
  ]))
18966
18966
  ], 16));
18967
18967
  };
@@ -19278,14 +19278,17 @@ const useSearchResultStore = defineStore("searchResult", () => {
19278
19278
  });
19279
19279
  const _hoisted_1$16 = { class: "lupa-search-box-add-to-cart-wrapper" };
19280
19280
  const _hoisted_2$M = { class: "lupa-search-box-product-addtocart" };
19281
- const _hoisted_3$z = ["onClick", "disabled"];
19281
+ const _hoisted_3$z = ["disabled"];
19282
+ const _hoisted_4$r = ["href"];
19283
+ const _hoisted_5$h = ["onClick", "disabled"];
19282
19284
  const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
19283
19285
  __name: "SearchBoxProductAddToCart",
19284
19286
  props: {
19285
19287
  item: {},
19286
19288
  options: {},
19287
19289
  inStock: { type: Boolean },
19288
- dynamicAttributes: {}
19290
+ dynamicAttributes: {},
19291
+ link: {}
19289
19292
  },
19290
19293
  emits: ["productEvent"],
19291
19294
  setup(__props, { emit }) {
@@ -19312,16 +19315,27 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
19312
19315
  emit("productEvent", { type: "addToCart" });
19313
19316
  loading.value = false;
19314
19317
  });
19318
+ const hasLink = vue.computed(() => {
19319
+ return Boolean(props.link && props.options.link);
19320
+ });
19315
19321
  return (_ctx, _cache) => {
19316
19322
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$16, [
19317
19323
  vue.createElementVNode("div", _hoisted_2$M, [
19318
- vue.createElementVNode("button", vue.mergeProps({
19324
+ hasLink.value ? (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
19325
+ key: 0,
19326
+ class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
19327
+ "data-cy": "lupa-add-to-cart",
19328
+ disabled: !inStockValue.value || loading.value
19329
+ }, _ctx.dynamicAttributes, { onClick: handleClick }), [
19330
+ vue.createElementVNode("a", { href: _ctx.link }, vue.toDisplayString(label.value), 9, _hoisted_4$r)
19331
+ ], 16, _hoisted_3$z)) : (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
19332
+ key: 1,
19319
19333
  onClick: vue.withModifiers(handleClick, ["stop", "prevent"]),
19320
19334
  class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
19321
19335
  "data-cy": "lupa-add-to-cart",
19322
19336
  type: "button",
19323
19337
  disabled: !inStockValue.value || loading.value
19324
- }, _ctx.dynamicAttributes), vue.toDisplayString(label.value), 17, _hoisted_3$z)
19338
+ }, _ctx.dynamicAttributes), vue.toDisplayString(label.value), 17, _hoisted_5$h))
19325
19339
  ])
19326
19340
  ]);
19327
19341
  };
@@ -19349,7 +19363,8 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
19349
19363
  item: {},
19350
19364
  element: {},
19351
19365
  labels: {},
19352
- isInStock: { type: Boolean }
19366
+ isInStock: { type: Boolean },
19367
+ link: {}
19353
19368
  },
19354
19369
  setup(__props) {
19355
19370
  const props = __props;
@@ -19411,17 +19426,19 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
19411
19426
  labels: _ctx.labels,
19412
19427
  class: { "lupa-loading-dynamic-data": isLoadingDynamicData((_a = _ctx.item) == null ? void 0 : _a.id) },
19413
19428
  inStock: _ctx.isInStock,
19414
- "dynamic-attributes": dynamicAttributes.value
19415
- }, renderDynamicAttributesOnParentElement.value && dynamicAttributes.value), null, 16, ["item", "options", "labels", "class", "inStock", "dynamic-attributes"])) : vue.createCommentVNode("", true)
19429
+ "dynamic-attributes": dynamicAttributes.value,
19430
+ link: _ctx.link
19431
+ }, renderDynamicAttributesOnParentElement.value && dynamicAttributes.value), null, 16, ["item", "options", "labels", "class", "inStock", "dynamic-attributes", "link"])) : vue.createCommentVNode("", true)
19416
19432
  ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$15, [
19417
19433
  displayElement.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(elementComponent.value), {
19418
19434
  key: 0,
19419
19435
  item: enhancedItem.value,
19420
19436
  options: _ctx.element,
19421
19437
  labels: _ctx.labels,
19438
+ link: _ctx.link,
19422
19439
  class: vue.normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData((_b = _ctx.item) == null ? void 0 : _b.id) }),
19423
19440
  inStock: _ctx.isInStock
19424
- }, null, 8, ["item", "options", "labels", "class", "inStock"])) : vue.createCommentVNode("", true),
19441
+ }, null, 8, ["item", "options", "labels", "link", "class", "inStock"])) : vue.createCommentVNode("", true),
19425
19442
  vue.renderSlot(_ctx.$slots, "badges")
19426
19443
  ]));
19427
19444
  };
@@ -19430,7 +19447,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
19430
19447
  const _hoisted_1$14 = { class: "lupa-badge-title" };
19431
19448
  const _hoisted_2$L = ["src"];
19432
19449
  const _hoisted_3$y = { key: 1 };
19433
- const _hoisted_4$p = {
19450
+ const _hoisted_4$q = {
19434
19451
  key: 0,
19435
19452
  class: "lupa-badge-full-text"
19436
19453
  };
@@ -19474,7 +19491,7 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
19474
19491
  }, null, 8, _hoisted_2$L)) : vue.createCommentVNode("", true),
19475
19492
  hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$y, vue.toDisplayString(_ctx.badge.titleText), 1)) : vue.createCommentVNode("", true)
19476
19493
  ]),
19477
- hasAdditionalText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$p, vue.toDisplayString(_ctx.badge.additionalText), 1)) : vue.createCommentVNode("", true)
19494
+ hasAdditionalText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$q, vue.toDisplayString(_ctx.badge.additionalText), 1)) : vue.createCommentVNode("", true)
19478
19495
  ], 6);
19479
19496
  };
19480
19497
  }
@@ -20389,11 +20406,11 @@ const _hoisted_3$w = {
20389
20406
  key: 0,
20390
20407
  class: "lupa-panel-title lupa-panel-title-top-results"
20391
20408
  };
20392
- const _hoisted_4$o = {
20409
+ const _hoisted_4$p = {
20393
20410
  key: 1,
20394
20411
  class: "lupa-panel-title"
20395
20412
  };
20396
- const _hoisted_5$f = {
20413
+ const _hoisted_5$g = {
20397
20414
  key: 1,
20398
20415
  id: "lupa-search-box-panel"
20399
20416
  };
@@ -20582,7 +20599,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
20582
20599
  "data-cy": "lupa-panel-" + panel.type + "-index"
20583
20600
  }, [
20584
20601
  ((_a = panel.labels) == null ? void 0 : _a.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, vue.toDisplayString((_b = panel.labels) == null ? void 0 : _b.topResultsTitle), 1)) : vue.createCommentVNode("", true),
20585
- ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$o, vue.toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
20602
+ ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$p, vue.toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
20586
20603
  panel.queryKey && canShowPanel(panel) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getComponent(panel.type)), {
20587
20604
  key: 2,
20588
20605
  panel,
@@ -20617,7 +20634,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
20617
20634
  options: _ctx.options,
20618
20635
  onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
20619
20636
  }, null, 8, ["labels", "options"])) : vue.createCommentVNode("", true)
20620
- ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$f, [
20637
+ ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$g, [
20621
20638
  vue.createVNode(_sfc_main$1s, {
20622
20639
  options: _ctx.options.history,
20623
20640
  history: history.value,
@@ -21096,7 +21113,7 @@ const _hoisted_3$v = {
21096
21113
  key: 1,
21097
21114
  "data-cy": "did-you-mean-label"
21098
21115
  };
21099
- const _hoisted_4$n = { key: 1 };
21116
+ const _hoisted_4$o = { key: 1 };
21100
21117
  const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
21101
21118
  __name: "SearchResultsDidYouMean",
21102
21119
  props: {
@@ -21147,7 +21164,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
21147
21164
  class: "lupa-did-you-mean lupa-highlighted-search-text",
21148
21165
  "data-cy": "did-you-mean-value",
21149
21166
  onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
21150
- }, vue.toDisplayString(didYouMeanValue.value) + " ", 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$n, vue.toDisplayString(label) + " ", 1))
21167
+ }, vue.toDisplayString(didYouMeanValue.value) + " ", 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$o, vue.toDisplayString(label) + " ", 1))
21151
21168
  ]);
21152
21169
  }), 128))
21153
21170
  ])) : vue.createCommentVNode("", true)
@@ -21197,8 +21214,8 @@ const _hoisted_3$u = {
21197
21214
  key: 1,
21198
21215
  class: "lupa-results-total-count"
21199
21216
  };
21200
- const _hoisted_4$m = { class: "lupa-results-total-count-number" };
21201
- const _hoisted_5$e = ["innerHTML"];
21217
+ const _hoisted_4$n = { class: "lupa-results-total-count-number" };
21218
+ const _hoisted_5$f = ["innerHTML"];
21202
21219
  const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
21203
21220
  __name: "SearchResultsTitle",
21204
21221
  props: {
@@ -21247,7 +21264,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
21247
21264
  queryText.value && !searchResultsTitleTemplate.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$E, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
21248
21265
  showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$u, [
21249
21266
  vue.createTextVNode("(" + vue.toDisplayString(searchResultsCountLabel.value), 1),
21250
- vue.createElementVNode("span", _hoisted_4$m, vue.toDisplayString(vue.unref(totalItems)), 1),
21267
+ vue.createElementVNode("span", _hoisted_4$n, vue.toDisplayString(vue.unref(totalItems)), 1),
21251
21268
  vue.createTextVNode(")")
21252
21269
  ])) : vue.createCommentVNode("", true)
21253
21270
  ])) : vue.createCommentVNode("", true),
@@ -21259,7 +21276,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
21259
21276
  key: 2,
21260
21277
  class: "lupa-result-page-description-top",
21261
21278
  innerHTML: descriptionTop.value
21262
- }, null, 8, _hoisted_5$e)) : vue.createCommentVNode("", true)
21279
+ }, null, 8, _hoisted_5$f)) : vue.createCommentVNode("", true)
21263
21280
  ]);
21264
21281
  };
21265
21282
  }
@@ -21309,7 +21326,7 @@ const _hoisted_3$t = {
21309
21326
  key: 0,
21310
21327
  class: "filter-values"
21311
21328
  };
21312
- const _hoisted_4$l = { class: "lupa-current-filter-list" };
21329
+ const _hoisted_4$m = { class: "lupa-current-filter-list" };
21313
21330
  const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
21314
21331
  __name: "CurrentFilters",
21315
21332
  props: {
@@ -21393,7 +21410,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
21393
21410
  }, null, 2)) : vue.createCommentVNode("", true)
21394
21411
  ]),
21395
21412
  !_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$t, [
21396
- vue.createElementVNode("div", _hoisted_4$l, [
21413
+ vue.createElementVNode("div", _hoisted_4$m, [
21397
21414
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentDisplayFilters.value, (filter2) => {
21398
21415
  return vue.openBlock(), vue.createBlock(_sfc_main$Y, {
21399
21416
  key: filter2.key + "_" + filter2.value,
@@ -21461,8 +21478,8 @@ const _hoisted_1$P = {
21461
21478
  };
21462
21479
  const _hoisted_2$B = { class: "lupa-category-back" };
21463
21480
  const _hoisted_3$s = ["href"];
21464
- const _hoisted_4$k = ["href"];
21465
- const _hoisted_5$d = { class: "lupa-child-category-list" };
21481
+ const _hoisted_4$l = ["href"];
21482
+ const _hoisted_5$e = { class: "lupa-child-category-list" };
21466
21483
  const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
21467
21484
  __name: "CategoryFilter",
21468
21485
  props: {
@@ -21568,9 +21585,9 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
21568
21585
  href: parentUrlLink.value,
21569
21586
  class: vue.normalizeClass({ "lupa-title-category": !hasBackButton.value }),
21570
21587
  onClick: handleNavigationParent
21571
- }, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$k)
21588
+ }, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$l)
21572
21589
  ], 2),
21573
- vue.createElementVNode("div", _hoisted_5$d, [
21590
+ vue.createElementVNode("div", _hoisted_5$e, [
21574
21591
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
21575
21592
  return vue.openBlock(), vue.createBlock(_sfc_main$W, {
21576
21593
  key: getCategoryKey(child),
@@ -21589,8 +21606,8 @@ const _hoisted_1$O = {
21589
21606
  };
21590
21607
  const _hoisted_2$A = ["placeholder"];
21591
21608
  const _hoisted_3$r = { class: "lupa-terms-list" };
21592
- const _hoisted_4$j = ["onClick"];
21593
- const _hoisted_5$c = { class: "lupa-term-checkbox-wrapper" };
21609
+ const _hoisted_4$k = ["onClick"];
21610
+ const _hoisted_5$d = { class: "lupa-term-checkbox-wrapper" };
21594
21611
  const _hoisted_6$8 = { class: "lupa-term-label" };
21595
21612
  const _hoisted_7$6 = {
21596
21613
  key: 0,
@@ -21705,7 +21722,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
21705
21722
  key: item.title,
21706
21723
  onClick: ($event) => handleFacetClick(item)
21707
21724
  }, [
21708
- vue.createElementVNode("div", _hoisted_5$c, [
21725
+ vue.createElementVNode("div", _hoisted_5$d, [
21709
21726
  vue.createElementVNode("span", {
21710
21727
  class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
21711
21728
  }, null, 2)
@@ -21716,7 +21733,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
21716
21733
  vue.createElementVNode("span", _hoisted_6$8, vue.toDisplayString(getItemLabel(item)), 1),
21717
21734
  _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$6, "(" + vue.toDisplayString(item.count) + ")", 1)) : vue.createCommentVNode("", true)
21718
21735
  ], 2)
21719
- ], 10, _hoisted_4$j);
21736
+ ], 10, _hoisted_4$k);
21720
21737
  }), 128))
21721
21738
  ]),
21722
21739
  displayShowMore.value ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -22716,11 +22733,11 @@ const _hoisted_3$q = {
22716
22733
  key: 1,
22717
22734
  class: "lupa-stats-facet-summary-input"
22718
22735
  };
22719
- const _hoisted_4$i = {
22736
+ const _hoisted_4$j = {
22720
22737
  key: 0,
22721
22738
  class: "lupa-stats-range-label"
22722
22739
  };
22723
- const _hoisted_5$b = { class: "lupa-stats-from" };
22740
+ const _hoisted_5$c = { class: "lupa-stats-from" };
22724
22741
  const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
22725
22742
  const _hoisted_7$5 = { key: 0 };
22726
22743
  const _hoisted_8$1 = /* @__PURE__ */ vue.createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
@@ -22919,8 +22936,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
22919
22936
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
22920
22937
  !isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$z, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$q, [
22921
22938
  vue.createElementVNode("div", null, [
22922
- rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$i, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
22923
- vue.createElementVNode("div", _hoisted_5$b, [
22939
+ rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$j, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
22940
+ vue.createElementVNode("div", _hoisted_5$c, [
22924
22941
  vue.withDirectives(vue.createElementVNode("input", {
22925
22942
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
22926
22943
  type: "text",
@@ -22989,7 +23006,7 @@ const _hoisted_3$p = {
22989
23006
  key: 0,
22990
23007
  class: "lupa-term-count"
22991
23008
  };
22992
- const _hoisted_4$h = {
23009
+ const _hoisted_4$i = {
22993
23010
  key: 0,
22994
23011
  class: "lupa-facet-level"
22995
23012
  };
@@ -23058,7 +23075,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
23058
23075
  _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$p, "(" + vue.toDisplayString(_ctx.item.count) + ")", 1)) : vue.createCommentVNode("", true)
23059
23076
  ], 2)
23060
23077
  ]),
23061
- showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$h, [
23078
+ showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$i, [
23062
23079
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(treeItem.value.children, (itemChild) => {
23063
23080
  return vue.openBlock(), vue.createBlock(_component_HierarchyFacetLevel, {
23064
23081
  key: itemChild.title,
@@ -23591,8 +23608,8 @@ const _hoisted_1$F = {
23591
23608
  };
23592
23609
  const _hoisted_2$u = ["onClick"];
23593
23610
  const _hoisted_3$n = { class: "lupa-mobile-sidebar-content" };
23594
- const _hoisted_4$g = { class: "lupa-sidebar-top" };
23595
- const _hoisted_5$a = { class: "lupa-sidebar-title" };
23611
+ const _hoisted_4$h = { class: "lupa-sidebar-top" };
23612
+ const _hoisted_5$b = { class: "lupa-sidebar-title" };
23596
23613
  const _hoisted_6$6 = {
23597
23614
  key: 0,
23598
23615
  class: "lupa-sidebar-filter-count"
@@ -23635,8 +23652,8 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
23635
23652
  onClick: vue.withModifiers(handleMobileToggle, ["stop"])
23636
23653
  }, null, 8, _hoisted_2$u),
23637
23654
  vue.createElementVNode("div", _hoisted_3$n, [
23638
- vue.createElementVNode("div", _hoisted_4$g, [
23639
- vue.createElementVNode("div", _hoisted_5$a, [
23655
+ vue.createElementVNode("div", _hoisted_4$h, [
23656
+ vue.createElementVNode("div", _hoisted_5$b, [
23640
23657
  vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
23641
23658
  isFilterCountVisible.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
23642
23659
  ]),
@@ -23663,7 +23680,7 @@ const _hoisted_3$m = {
23663
23680
  key: 1,
23664
23681
  class: "lupa-search-results-breadcrumb-text"
23665
23682
  };
23666
- const _hoisted_4$f = { key: 2 };
23683
+ const _hoisted_4$g = { key: 2 };
23667
23684
  const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
23668
23685
  __name: "SearchResultsBreadcrumbs",
23669
23686
  props: {
@@ -23705,7 +23722,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
23705
23722
  return handleNavigation(e2, (_a2 = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a2 : "");
23706
23723
  }
23707
23724
  }, vue.toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$t)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$m, vue.toDisplayString(getLabel(breadcrumb.label)), 1)),
23708
- index < breadcrumbsValue.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$f, vue.toDisplayString((_a = breadcrumb.separator) != null ? _a : "/"), 1)) : vue.createCommentVNode("", true)
23725
+ index < breadcrumbsValue.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$g, vue.toDisplayString((_a = breadcrumb.separator) != null ? _a : "/"), 1)) : vue.createCommentVNode("", true)
23709
23726
  ]);
23710
23727
  }), 128))
23711
23728
  ]);
@@ -23867,7 +23884,7 @@ const _hoisted_2$s = {
23867
23884
  class: "lupa-page-number-separator"
23868
23885
  };
23869
23886
  const _hoisted_3$l = ["onClick"];
23870
- const _hoisted_4$e = {
23887
+ const _hoisted_4$f = {
23871
23888
  key: 0,
23872
23889
  class: "lupa-page-number-separator"
23873
23890
  };
@@ -23973,7 +23990,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
23973
23990
  }, vue.toDisplayString(page), 11, _hoisted_3$l);
23974
23991
  }), 128)),
23975
23992
  showLastPage.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
23976
- showLastPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e, "...")) : vue.createCommentVNode("", true),
23993
+ showLastPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$f, "...")) : vue.createCommentVNode("", true),
23977
23994
  vue.createElementVNode("div", {
23978
23995
  class: "lupa-page-number lupa-page-number-last",
23979
23996
  onClick: _cache[2] || (_cache[2] = () => {
@@ -23998,8 +24015,8 @@ const _hoisted_1$z = {
23998
24015
  };
23999
24016
  const _hoisted_2$r = { id: "lupa-select" };
24000
24017
  const _hoisted_3$k = { class: "lupa-select-label" };
24001
- const _hoisted_4$d = ["aria-label"];
24002
- const _hoisted_5$9 = ["value"];
24018
+ const _hoisted_4$e = ["aria-label"];
24019
+ const _hoisted_5$a = ["value"];
24003
24020
  const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
24004
24021
  __name: "SearchResultsPageSize",
24005
24022
  props: {
@@ -24043,9 +24060,9 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
24043
24060
  return vue.openBlock(), vue.createElementBlock("option", {
24044
24061
  key: option,
24045
24062
  value: option
24046
- }, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$9);
24063
+ }, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$a);
24047
24064
  }), 128))
24048
- ], 40, _hoisted_4$d)
24065
+ ], 40, _hoisted_4$e)
24049
24066
  ])
24050
24067
  ]);
24051
24068
  };
@@ -24057,8 +24074,8 @@ const _hoisted_1$y = {
24057
24074
  };
24058
24075
  const _hoisted_2$q = { id: "lupa-select" };
24059
24076
  const _hoisted_3$j = { class: "lupa-select-label" };
24060
- const _hoisted_4$c = ["aria-label"];
24061
- const _hoisted_5$8 = ["value"];
24077
+ const _hoisted_4$d = ["aria-label"];
24078
+ const _hoisted_5$9 = ["value"];
24062
24079
  const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
24063
24080
  __name: "SearchResultsSort",
24064
24081
  props: {
@@ -24123,9 +24140,9 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
24123
24140
  return vue.openBlock(), vue.createElementBlock("option", {
24124
24141
  key: option.key,
24125
24142
  value: option.key
24126
- }, vue.toDisplayString(option.label), 9, _hoisted_5$8);
24143
+ }, vue.toDisplayString(option.label), 9, _hoisted_5$9);
24127
24144
  }), 128))
24128
- ], 40, _hoisted_4$c), [
24145
+ ], 40, _hoisted_4$d), [
24129
24146
  [vue.vModelSelect, selectedKey.value]
24130
24147
  ])
24131
24148
  ])
@@ -24139,8 +24156,8 @@ const _hoisted_2$p = {
24139
24156
  class: "lupa-toolbar-right-title"
24140
24157
  };
24141
24158
  const _hoisted_3$i = { key: 2 };
24142
- const _hoisted_4$b = { key: 4 };
24143
- const _hoisted_5$7 = { key: 6 };
24159
+ const _hoisted_4$c = { key: 4 };
24160
+ const _hoisted_5$8 = { key: 6 };
24144
24161
  const _hoisted_6$5 = { class: "lupa-toolbar-right" };
24145
24162
  const _hoisted_7$3 = {
24146
24163
  key: 0,
@@ -24267,13 +24284,13 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
24267
24284
  label: searchSummaryLabel.value,
24268
24285
  clearable: vue.unref(hasAnyFilter) && showFilterClear.value,
24269
24286
  onClear: handleClearAll
24270
- }, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$b)),
24287
+ }, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$c)),
24271
24288
  displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
24272
24289
  key: 5,
24273
24290
  options: paginationOptions.value.pageSelect,
24274
24291
  "last-page-label": paginationOptions.value.labels.showMore,
24275
24292
  "first-page-label": paginationOptions.value.labels.showLess
24276
- }, null, 8, ["options", "last-page-label", "first-page-label"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$7))
24293
+ }, null, 8, ["options", "last-page-label", "first-page-label"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$8))
24277
24294
  ]),
24278
24295
  vue.createElementVNode("div", _hoisted_6$5, [
24279
24296
  toolbarRightLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, vue.toDisplayString(toolbarRightLabel.value), 1)) : vue.createCommentVNode("", true),
@@ -24320,8 +24337,8 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
24320
24337
  const _hoisted_1$w = ["title", "innerHTML"];
24321
24338
  const _hoisted_2$o = ["title"];
24322
24339
  const _hoisted_3$h = ["href", "innerHTML"];
24323
- const _hoisted_4$a = ["title"];
24324
- const _hoisted_5$6 = {
24340
+ const _hoisted_4$b = ["title"];
24341
+ const _hoisted_5$7 = {
24325
24342
  key: 0,
24326
24343
  class: "lupa-search-results-product-title-text"
24327
24344
  };
@@ -24381,14 +24398,14 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
24381
24398
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
24382
24399
  title: title.value
24383
24400
  }, [
24384
- !_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$6, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
24401
+ !_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$7, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
24385
24402
  _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("a", {
24386
24403
  key: 1,
24387
24404
  href: _ctx.link,
24388
24405
  class: "lupa-search-results-product-title-text lupa-title-link",
24389
24406
  onClick: handleNavigation
24390
24407
  }, vue.toDisplayString(title.value), 9, _hoisted_6$4)) : vue.createCommentVNode("", true)
24391
- ], 12, _hoisted_4$a));
24408
+ ], 12, _hoisted_4$b));
24392
24409
  };
24393
24410
  }
24394
24411
  });
@@ -24431,8 +24448,8 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
24431
24448
  const _hoisted_1$u = { id: "lupa-search-results-rating" };
24432
24449
  const _hoisted_2$n = { class: "lupa-ratings" };
24433
24450
  const _hoisted_3$g = { class: "lupa-ratings-base" };
24434
- const _hoisted_4$9 = ["innerHTML"];
24435
- const _hoisted_5$5 = { class: "lupa-rating-wrapper" };
24451
+ const _hoisted_4$a = ["innerHTML"];
24452
+ const _hoisted_5$6 = { class: "lupa-rating-wrapper" };
24436
24453
  const _hoisted_6$3 = ["innerHTML"];
24437
24454
  const _hoisted_7$2 = ["href"];
24438
24455
  const STAR_COUNT = 5;
@@ -24481,10 +24498,10 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
24481
24498
  key: index,
24482
24499
  innerHTML: star,
24483
24500
  class: "lupa-rating lupa-rating-not-highlighted"
24484
- }, null, 8, _hoisted_4$9);
24501
+ }, null, 8, _hoisted_4$a);
24485
24502
  }), 128))
24486
24503
  ]),
24487
- vue.createElementVNode("div", _hoisted_5$5, [
24504
+ vue.createElementVNode("div", _hoisted_5$6, [
24488
24505
  vue.createElementVNode("div", {
24489
24506
  class: "lupa-ratings-highlighted",
24490
24507
  style: vue.normalizeStyle({ width: ratingPercentage.value + "%" })
@@ -24567,14 +24584,17 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
24567
24584
  });
24568
24585
  const _hoisted_1$s = { class: "lupa-search-results-add-to-cart-wrapper" };
24569
24586
  const _hoisted_2$m = { class: "lupa-search-results-product-addtocart" };
24570
- const _hoisted_3$f = ["id", "disabled", "onClick"];
24587
+ const _hoisted_3$f = ["disabled"];
24588
+ const _hoisted_4$9 = ["href"];
24589
+ const _hoisted_5$5 = ["id", "disabled", "onClick"];
24571
24590
  const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
24572
24591
  __name: "SearchResultsProductAddToCart",
24573
24592
  props: {
24574
24593
  item: {},
24575
24594
  options: {},
24576
24595
  inStock: { type: Boolean },
24577
- dynamicAttributes: {}
24596
+ dynamicAttributes: {},
24597
+ link: {}
24578
24598
  },
24579
24599
  emits: ["productEvent"],
24580
24600
  setup(__props, { emit }) {
@@ -24606,17 +24626,28 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
24606
24626
  emit("productEvent", { type: "addToCart" });
24607
24627
  loading.value = false;
24608
24628
  });
24629
+ const hasLink = vue.computed(() => {
24630
+ return Boolean(props.link && props.options.link);
24631
+ });
24609
24632
  return (_ctx, _cache) => {
24610
24633
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
24611
24634
  vue.createElementVNode("div", _hoisted_2$m, [
24612
- vue.createElementVNode("button", vue.mergeProps({
24635
+ hasLink.value ? (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
24636
+ key: 0,
24637
+ class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
24638
+ "data-cy": "lupa-add-to-cart",
24639
+ disabled: !inStockValue.value || loading.value
24640
+ }, _ctx.dynamicAttributes, { onClick: handleClick }), [
24641
+ vue.createElementVNode("a", { href: _ctx.link }, vue.toDisplayString(label.value), 9, _hoisted_4$9)
24642
+ ], 16, _hoisted_3$f)) : (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
24643
+ key: 1,
24613
24644
  id: id.value,
24614
24645
  class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
24615
24646
  "data-cy": "lupa-add-to-cart",
24616
24647
  disabled: !inStockValue.value || loading.value
24617
24648
  }, _ctx.dynamicAttributes, {
24618
24649
  onClick: vue.withModifiers(handleClick, ["stop"])
24619
- }), vue.toDisplayString(label.value), 17, _hoisted_3$f)
24650
+ }), vue.toDisplayString(label.value), 17, _hoisted_5$5))
24620
24651
  ])
24621
24652
  ]);
24622
24653
  };
@@ -26261,7 +26292,12 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
26261
26292
  const hasResults2 = Boolean(
26262
26293
  results.total > 0 || ((_a = results.similarQueries) == null ? void 0 : _a.length) || ((_b = results.didYouMean) == null ? void 0 : _b.options) || ((_d = (_c = results.similarResults) == null ? void 0 : _c.items) == null ? void 0 : _d.length)
26263
26294
  );
26264
- (_f = (_e = props.options.callbacks) == null ? void 0 : _e.onSearchResults) == null ? void 0 : _f.call(_e, { queryKey, hasResults: hasResults2, params: paramStore.params });
26295
+ (_f = (_e = props.options.callbacks) == null ? void 0 : _e.onSearchResults) == null ? void 0 : _f.call(_e, {
26296
+ queryKey,
26297
+ hasResults: hasResults2,
26298
+ params: paramStore.params,
26299
+ results
26300
+ });
26265
26301
  if (!hasResults2) {
26266
26302
  return;
26267
26303
  }