@getlupa/vue 0.17.12 → 0.17.13

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
  };
@@ -9002,8 +9002,8 @@ const useSearchBoxStore = defineStore("searchBox", () => {
9002
9002
  const _hoisted_1$1i = { id: "lupa-search-box-input-container" };
9003
9003
  const _hoisted_2$T = { class: "lupa-input-clear" };
9004
9004
  const _hoisted_3$C = { id: "lupa-search-box-input" };
9005
- const _hoisted_4$s = ["value"];
9006
- const _hoisted_5$i = ["aria-label", "placeholder"];
9005
+ const _hoisted_4$u = ["value"];
9006
+ const _hoisted_5$k = ["aria-label", "placeholder"];
9007
9007
  const _hoisted_6$9 = /* @__PURE__ */ createElementVNode("span", { class: "lupa-search-submit-icon" }, null, -1);
9008
9008
  const _hoisted_7$7 = [
9009
9009
  _hoisted_6$9
@@ -9109,7 +9109,7 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
9109
9109
  "aria-hidden": "true",
9110
9110
  value: showHint.value ? suggestedValue.value.item.suggestion : "",
9111
9111
  disabled: ""
9112
- }, null, 8, _hoisted_4$s),
9112
+ }, null, 8, _hoisted_4$u),
9113
9113
  withDirectives(createElementVNode("input", mergeProps({
9114
9114
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
9115
9115
  }, inputAttributes.value, {
@@ -9123,7 +9123,7 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
9123
9123
  placeholder: labels.value.placeholder,
9124
9124
  onInput: handleInput,
9125
9125
  onFocus: handleFocus
9126
- }), null, 16, _hoisted_5$i), [
9126
+ }), null, 16, _hoisted_5$k), [
9127
9127
  [vModelText, inputValue.value]
9128
9128
  ]),
9129
9129
  _ctx.options.showSubmitButton ? (openBlock(), createElementBlock("button", {
@@ -9335,11 +9335,11 @@ const _hoisted_3$B = {
9335
9335
  class: "lupa-suggestion-facet",
9336
9336
  "data-cy": "lupa-suggestion-facet"
9337
9337
  };
9338
- const _hoisted_4$r = {
9338
+ const _hoisted_4$t = {
9339
9339
  class: "lupa-suggestion-facet-label",
9340
9340
  "data-cy": "lupa-suggestion-facet-label"
9341
9341
  };
9342
- const _hoisted_5$h = {
9342
+ const _hoisted_5$j = {
9343
9343
  class: "lupa-suggestion-facet-value",
9344
9344
  "data-cy": "lupa-suggestion-facet-value"
9345
9345
  };
@@ -9381,8 +9381,8 @@ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
9381
9381
  innerHTML: _ctx.suggestion.displayHighlight
9382
9382
  }, null, 8, _hoisted_1$1e)) : (openBlock(), createElementBlock("div", _hoisted_2$R, toDisplayString(_ctx.suggestion.display), 1)),
9383
9383
  _ctx.suggestion.facet ? (openBlock(), createElementBlock("div", _hoisted_3$B, [
9384
- createElementVNode("span", _hoisted_4$r, toDisplayString(facetLabel.value), 1),
9385
- createElementVNode("span", _hoisted_5$h, toDisplayString(_ctx.suggestion.facet.title), 1)
9384
+ createElementVNode("span", _hoisted_4$t, toDisplayString(facetLabel.value), 1),
9385
+ createElementVNode("span", _hoisted_5$j, toDisplayString(_ctx.suggestion.facet.title), 1)
9386
9386
  ])) : createCommentVNode("", true)
9387
9387
  ]);
9388
9388
  };
@@ -18925,8 +18925,8 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
18925
18925
  const _hoisted_1$18 = ["innerHTML"];
18926
18926
  const _hoisted_2$N = { key: 0 };
18927
18927
  const _hoisted_3$A = { key: 1 };
18928
- const _hoisted_4$q = { class: "lupa-search-box-custom-label" };
18929
- const _hoisted_5$g = { class: "lupa-search-box-custom-text" };
18928
+ const _hoisted_4$s = { class: "lupa-search-box-custom-label" };
18929
+ const _hoisted_5$i = { class: "lupa-search-box-custom-text" };
18930
18930
  const _sfc_main$1h = /* @__PURE__ */ defineComponent({
18931
18931
  __name: "SearchBoxProductCustom",
18932
18932
  props: {
@@ -18958,8 +18958,8 @@ const _sfc_main$1h = /* @__PURE__ */ defineComponent({
18958
18958
  class: [className.value, "lupa-search-box-product-custom"]
18959
18959
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
18960
18960
  !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$N, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$A, [
18961
- createElementVNode("div", _hoisted_4$q, toDisplayString(label.value), 1),
18962
- createElementVNode("div", _hoisted_5$g, toDisplayString(text.value), 1)
18961
+ createElementVNode("div", _hoisted_4$s, toDisplayString(label.value), 1),
18962
+ createElementVNode("div", _hoisted_5$i, toDisplayString(text.value), 1)
18963
18963
  ]))
18964
18964
  ], 16));
18965
18965
  };
@@ -19276,14 +19276,17 @@ const useSearchResultStore = defineStore("searchResult", () => {
19276
19276
  });
19277
19277
  const _hoisted_1$16 = { class: "lupa-search-box-add-to-cart-wrapper" };
19278
19278
  const _hoisted_2$M = { class: "lupa-search-box-product-addtocart" };
19279
- const _hoisted_3$z = ["onClick", "disabled"];
19279
+ const _hoisted_3$z = ["disabled"];
19280
+ const _hoisted_4$r = ["href"];
19281
+ const _hoisted_5$h = ["onClick", "disabled"];
19280
19282
  const _sfc_main$1f = /* @__PURE__ */ defineComponent({
19281
19283
  __name: "SearchBoxProductAddToCart",
19282
19284
  props: {
19283
19285
  item: {},
19284
19286
  options: {},
19285
19287
  inStock: { type: Boolean },
19286
- dynamicAttributes: {}
19288
+ dynamicAttributes: {},
19289
+ link: {}
19287
19290
  },
19288
19291
  emits: ["productEvent"],
19289
19292
  setup(__props, { emit }) {
@@ -19310,16 +19313,27 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
19310
19313
  emit("productEvent", { type: "addToCart" });
19311
19314
  loading.value = false;
19312
19315
  });
19316
+ const hasLink = computed(() => {
19317
+ return Boolean(props.link && props.options.link);
19318
+ });
19313
19319
  return (_ctx, _cache) => {
19314
19320
  return openBlock(), createElementBlock("div", _hoisted_1$16, [
19315
19321
  createElementVNode("div", _hoisted_2$M, [
19316
- createElementVNode("button", mergeProps({
19322
+ hasLink.value ? (openBlock(), createElementBlock("button", mergeProps({
19323
+ key: 0,
19324
+ class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
19325
+ "data-cy": "lupa-add-to-cart",
19326
+ disabled: !inStockValue.value || loading.value
19327
+ }, _ctx.dynamicAttributes, { onClick: handleClick }), [
19328
+ createElementVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$r)
19329
+ ], 16, _hoisted_3$z)) : (openBlock(), createElementBlock("button", mergeProps({
19330
+ key: 1,
19317
19331
  onClick: withModifiers(handleClick, ["stop", "prevent"]),
19318
19332
  class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
19319
19333
  "data-cy": "lupa-add-to-cart",
19320
19334
  type: "button",
19321
19335
  disabled: !inStockValue.value || loading.value
19322
- }, _ctx.dynamicAttributes), toDisplayString(label.value), 17, _hoisted_3$z)
19336
+ }, _ctx.dynamicAttributes), toDisplayString(label.value), 17, _hoisted_5$h))
19323
19337
  ])
19324
19338
  ]);
19325
19339
  };
@@ -19347,7 +19361,8 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
19347
19361
  item: {},
19348
19362
  element: {},
19349
19363
  labels: {},
19350
- isInStock: { type: Boolean }
19364
+ isInStock: { type: Boolean },
19365
+ link: {}
19351
19366
  },
19352
19367
  setup(__props) {
19353
19368
  const props = __props;
@@ -19409,17 +19424,19 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
19409
19424
  labels: _ctx.labels,
19410
19425
  class: { "lupa-loading-dynamic-data": isLoadingDynamicData((_a = _ctx.item) == null ? void 0 : _a.id) },
19411
19426
  inStock: _ctx.isInStock,
19412
- "dynamic-attributes": dynamicAttributes.value
19413
- }, renderDynamicAttributesOnParentElement.value && dynamicAttributes.value), null, 16, ["item", "options", "labels", "class", "inStock", "dynamic-attributes"])) : createCommentVNode("", true)
19427
+ "dynamic-attributes": dynamicAttributes.value,
19428
+ link: _ctx.link
19429
+ }, renderDynamicAttributesOnParentElement.value && dynamicAttributes.value), null, 16, ["item", "options", "labels", "class", "inStock", "dynamic-attributes", "link"])) : createCommentVNode("", true)
19414
19430
  ], 64)) : (openBlock(), createElementBlock("div", _hoisted_1$15, [
19415
19431
  displayElement.value ? (openBlock(), createBlock(resolveDynamicComponent(elementComponent.value), {
19416
19432
  key: 0,
19417
19433
  item: enhancedItem.value,
19418
19434
  options: _ctx.element,
19419
19435
  labels: _ctx.labels,
19436
+ link: _ctx.link,
19420
19437
  class: normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData((_b = _ctx.item) == null ? void 0 : _b.id) }),
19421
19438
  inStock: _ctx.isInStock
19422
- }, null, 8, ["item", "options", "labels", "class", "inStock"])) : createCommentVNode("", true),
19439
+ }, null, 8, ["item", "options", "labels", "link", "class", "inStock"])) : createCommentVNode("", true),
19423
19440
  renderSlot(_ctx.$slots, "badges")
19424
19441
  ]));
19425
19442
  };
@@ -19428,7 +19445,7 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
19428
19445
  const _hoisted_1$14 = { class: "lupa-badge-title" };
19429
19446
  const _hoisted_2$L = ["src"];
19430
19447
  const _hoisted_3$y = { key: 1 };
19431
- const _hoisted_4$p = {
19448
+ const _hoisted_4$q = {
19432
19449
  key: 0,
19433
19450
  class: "lupa-badge-full-text"
19434
19451
  };
@@ -19472,7 +19489,7 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
19472
19489
  }, null, 8, _hoisted_2$L)) : createCommentVNode("", true),
19473
19490
  hasTitleText.value && showTitle.value ? (openBlock(), createElementBlock("span", _hoisted_3$y, toDisplayString(_ctx.badge.titleText), 1)) : createCommentVNode("", true)
19474
19491
  ]),
19475
- hasAdditionalText.value ? (openBlock(), createElementBlock("span", _hoisted_4$p, toDisplayString(_ctx.badge.additionalText), 1)) : createCommentVNode("", true)
19492
+ hasAdditionalText.value ? (openBlock(), createElementBlock("span", _hoisted_4$q, toDisplayString(_ctx.badge.additionalText), 1)) : createCommentVNode("", true)
19476
19493
  ], 6);
19477
19494
  };
19478
19495
  }
@@ -20387,11 +20404,11 @@ const _hoisted_3$w = {
20387
20404
  key: 0,
20388
20405
  class: "lupa-panel-title lupa-panel-title-top-results"
20389
20406
  };
20390
- const _hoisted_4$o = {
20407
+ const _hoisted_4$p = {
20391
20408
  key: 1,
20392
20409
  class: "lupa-panel-title"
20393
20410
  };
20394
- const _hoisted_5$f = {
20411
+ const _hoisted_5$g = {
20395
20412
  key: 1,
20396
20413
  id: "lupa-search-box-panel"
20397
20414
  };
@@ -20580,7 +20597,7 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
20580
20597
  "data-cy": "lupa-panel-" + panel.type + "-index"
20581
20598
  }, [
20582
20599
  ((_a = panel.labels) == null ? void 0 : _a.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (openBlock(), createElementBlock("div", _hoisted_3$w, toDisplayString((_b = panel.labels) == null ? void 0 : _b.topResultsTitle), 1)) : createCommentVNode("", true),
20583
- ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (openBlock(), createElementBlock("div", _hoisted_4$o, toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
20600
+ ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (openBlock(), createElementBlock("div", _hoisted_4$p, toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
20584
20601
  panel.queryKey && canShowPanel(panel) ? (openBlock(), createBlock(resolveDynamicComponent(getComponent(panel.type)), {
20585
20602
  key: 2,
20586
20603
  panel,
@@ -20615,7 +20632,7 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
20615
20632
  options: _ctx.options,
20616
20633
  onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
20617
20634
  }, null, 8, ["labels", "options"])) : createCommentVNode("", true)
20618
- ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_5$f, [
20635
+ ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_5$g, [
20619
20636
  createVNode(_sfc_main$1s, {
20620
20637
  options: _ctx.options.history,
20621
20638
  history: history.value,
@@ -21094,7 +21111,7 @@ const _hoisted_3$v = {
21094
21111
  key: 1,
21095
21112
  "data-cy": "did-you-mean-label"
21096
21113
  };
21097
- const _hoisted_4$n = { key: 1 };
21114
+ const _hoisted_4$o = { key: 1 };
21098
21115
  const _sfc_main$$ = /* @__PURE__ */ defineComponent({
21099
21116
  __name: "SearchResultsDidYouMean",
21100
21117
  props: {
@@ -21145,7 +21162,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
21145
21162
  class: "lupa-did-you-mean lupa-highlighted-search-text",
21146
21163
  "data-cy": "did-you-mean-value",
21147
21164
  onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
21148
- }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$n, toDisplayString(label) + " ", 1))
21165
+ }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$o, toDisplayString(label) + " ", 1))
21149
21166
  ]);
21150
21167
  }), 128))
21151
21168
  ])) : createCommentVNode("", true)
@@ -21195,8 +21212,8 @@ const _hoisted_3$u = {
21195
21212
  key: 1,
21196
21213
  class: "lupa-results-total-count"
21197
21214
  };
21198
- const _hoisted_4$m = { class: "lupa-results-total-count-number" };
21199
- const _hoisted_5$e = ["innerHTML"];
21215
+ const _hoisted_4$n = { class: "lupa-results-total-count-number" };
21216
+ const _hoisted_5$f = ["innerHTML"];
21200
21217
  const _sfc_main$Z = /* @__PURE__ */ defineComponent({
21201
21218
  __name: "SearchResultsTitle",
21202
21219
  props: {
@@ -21245,7 +21262,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
21245
21262
  queryText.value && !searchResultsTitleTemplate.value ? (openBlock(), createElementBlock("span", _hoisted_2$E, "'" + toDisplayString(queryText.value) + "'", 1)) : createCommentVNode("", true),
21246
21263
  showProductCount.value ? (openBlock(), createElementBlock("span", _hoisted_3$u, [
21247
21264
  createTextVNode("(" + toDisplayString(searchResultsCountLabel.value), 1),
21248
- createElementVNode("span", _hoisted_4$m, toDisplayString(unref(totalItems)), 1),
21265
+ createElementVNode("span", _hoisted_4$n, toDisplayString(unref(totalItems)), 1),
21249
21266
  createTextVNode(")")
21250
21267
  ])) : createCommentVNode("", true)
21251
21268
  ])) : createCommentVNode("", true),
@@ -21257,7 +21274,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
21257
21274
  key: 2,
21258
21275
  class: "lupa-result-page-description-top",
21259
21276
  innerHTML: descriptionTop.value
21260
- }, null, 8, _hoisted_5$e)) : createCommentVNode("", true)
21277
+ }, null, 8, _hoisted_5$f)) : createCommentVNode("", true)
21261
21278
  ]);
21262
21279
  };
21263
21280
  }
@@ -21307,7 +21324,7 @@ const _hoisted_3$t = {
21307
21324
  key: 0,
21308
21325
  class: "filter-values"
21309
21326
  };
21310
- const _hoisted_4$l = { class: "lupa-current-filter-list" };
21327
+ const _hoisted_4$m = { class: "lupa-current-filter-list" };
21311
21328
  const _sfc_main$X = /* @__PURE__ */ defineComponent({
21312
21329
  __name: "CurrentFilters",
21313
21330
  props: {
@@ -21391,7 +21408,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
21391
21408
  }, null, 2)) : createCommentVNode("", true)
21392
21409
  ]),
21393
21410
  !_ctx.expandable || isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_3$t, [
21394
- createElementVNode("div", _hoisted_4$l, [
21411
+ createElementVNode("div", _hoisted_4$m, [
21395
21412
  (openBlock(true), createElementBlock(Fragment, null, renderList(currentDisplayFilters.value, (filter2) => {
21396
21413
  return openBlock(), createBlock(_sfc_main$Y, {
21397
21414
  key: filter2.key + "_" + filter2.value,
@@ -21459,8 +21476,8 @@ const _hoisted_1$P = {
21459
21476
  };
21460
21477
  const _hoisted_2$B = { class: "lupa-category-back" };
21461
21478
  const _hoisted_3$s = ["href"];
21462
- const _hoisted_4$k = ["href"];
21463
- const _hoisted_5$d = { class: "lupa-child-category-list" };
21479
+ const _hoisted_4$l = ["href"];
21480
+ const _hoisted_5$e = { class: "lupa-child-category-list" };
21464
21481
  const _sfc_main$V = /* @__PURE__ */ defineComponent({
21465
21482
  __name: "CategoryFilter",
21466
21483
  props: {
@@ -21566,9 +21583,9 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
21566
21583
  href: parentUrlLink.value,
21567
21584
  class: normalizeClass({ "lupa-title-category": !hasBackButton.value }),
21568
21585
  onClick: handleNavigationParent
21569
- }, toDisplayString(parentTitle.value), 11, _hoisted_4$k)
21586
+ }, toDisplayString(parentTitle.value), 11, _hoisted_4$l)
21570
21587
  ], 2),
21571
- createElementVNode("div", _hoisted_5$d, [
21588
+ createElementVNode("div", _hoisted_5$e, [
21572
21589
  (openBlock(true), createElementBlock(Fragment, null, renderList(categoryChildren.value, (child) => {
21573
21590
  return openBlock(), createBlock(_sfc_main$W, {
21574
21591
  key: getCategoryKey(child),
@@ -21587,8 +21604,8 @@ const _hoisted_1$O = {
21587
21604
  };
21588
21605
  const _hoisted_2$A = ["placeholder"];
21589
21606
  const _hoisted_3$r = { class: "lupa-terms-list" };
21590
- const _hoisted_4$j = ["onClick"];
21591
- const _hoisted_5$c = { class: "lupa-term-checkbox-wrapper" };
21607
+ const _hoisted_4$k = ["onClick"];
21608
+ const _hoisted_5$d = { class: "lupa-term-checkbox-wrapper" };
21592
21609
  const _hoisted_6$8 = { class: "lupa-term-label" };
21593
21610
  const _hoisted_7$6 = {
21594
21611
  key: 0,
@@ -21703,7 +21720,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
21703
21720
  key: item.title,
21704
21721
  onClick: ($event) => handleFacetClick(item)
21705
21722
  }, [
21706
- createElementVNode("div", _hoisted_5$c, [
21723
+ createElementVNode("div", _hoisted_5$d, [
21707
21724
  createElementVNode("span", {
21708
21725
  class: normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
21709
21726
  }, null, 2)
@@ -21714,7 +21731,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
21714
21731
  createElementVNode("span", _hoisted_6$8, toDisplayString(getItemLabel(item)), 1),
21715
21732
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_7$6, "(" + toDisplayString(item.count) + ")", 1)) : createCommentVNode("", true)
21716
21733
  ], 2)
21717
- ], 10, _hoisted_4$j);
21734
+ ], 10, _hoisted_4$k);
21718
21735
  }), 128))
21719
21736
  ]),
21720
21737
  displayShowMore.value ? (openBlock(), createElementBlock("div", {
@@ -22714,11 +22731,11 @@ const _hoisted_3$q = {
22714
22731
  key: 1,
22715
22732
  class: "lupa-stats-facet-summary-input"
22716
22733
  };
22717
- const _hoisted_4$i = {
22734
+ const _hoisted_4$j = {
22718
22735
  key: 0,
22719
22736
  class: "lupa-stats-range-label"
22720
22737
  };
22721
- const _hoisted_5$b = { class: "lupa-stats-from" };
22738
+ const _hoisted_5$c = { class: "lupa-stats-from" };
22722
22739
  const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
22723
22740
  const _hoisted_7$5 = { key: 0 };
22724
22741
  const _hoisted_8$1 = /* @__PURE__ */ createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
@@ -22917,8 +22934,8 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
22917
22934
  return openBlock(), createElementBlock("div", _hoisted_1$N, [
22918
22935
  !isInputVisible.value ? (openBlock(), createElementBlock("div", _hoisted_2$z, toDisplayString(statsSummary.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$q, [
22919
22936
  createElementVNode("div", null, [
22920
- rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$i, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
22921
- createElementVNode("div", _hoisted_5$b, [
22937
+ rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$j, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
22938
+ createElementVNode("div", _hoisted_5$c, [
22922
22939
  withDirectives(createElementVNode("input", {
22923
22940
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
22924
22941
  type: "text",
@@ -22987,7 +23004,7 @@ const _hoisted_3$p = {
22987
23004
  key: 0,
22988
23005
  class: "lupa-term-count"
22989
23006
  };
22990
- const _hoisted_4$h = {
23007
+ const _hoisted_4$i = {
22991
23008
  key: 0,
22992
23009
  class: "lupa-facet-level"
22993
23010
  };
@@ -23056,7 +23073,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
23056
23073
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_3$p, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
23057
23074
  ], 2)
23058
23075
  ]),
23059
- showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$h, [
23076
+ showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$i, [
23060
23077
  (openBlock(true), createElementBlock(Fragment, null, renderList(treeItem.value.children, (itemChild) => {
23061
23078
  return openBlock(), createBlock(_component_HierarchyFacetLevel, {
23062
23079
  key: itemChild.title,
@@ -23589,8 +23606,8 @@ const _hoisted_1$F = {
23589
23606
  };
23590
23607
  const _hoisted_2$u = ["onClick"];
23591
23608
  const _hoisted_3$n = { class: "lupa-mobile-sidebar-content" };
23592
- const _hoisted_4$g = { class: "lupa-sidebar-top" };
23593
- const _hoisted_5$a = { class: "lupa-sidebar-title" };
23609
+ const _hoisted_4$h = { class: "lupa-sidebar-top" };
23610
+ const _hoisted_5$b = { class: "lupa-sidebar-title" };
23594
23611
  const _hoisted_6$6 = {
23595
23612
  key: 0,
23596
23613
  class: "lupa-sidebar-filter-count"
@@ -23633,8 +23650,8 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
23633
23650
  onClick: withModifiers(handleMobileToggle, ["stop"])
23634
23651
  }, null, 8, _hoisted_2$u),
23635
23652
  createElementVNode("div", _hoisted_3$n, [
23636
- createElementVNode("div", _hoisted_4$g, [
23637
- createElementVNode("div", _hoisted_5$a, [
23653
+ createElementVNode("div", _hoisted_4$h, [
23654
+ createElementVNode("div", _hoisted_5$b, [
23638
23655
  createTextVNode(toDisplayString(sidebarTitle.value) + " ", 1),
23639
23656
  isFilterCountVisible.value ? (openBlock(), createElementBlock("span", _hoisted_6$6, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
23640
23657
  ]),
@@ -23661,7 +23678,7 @@ const _hoisted_3$m = {
23661
23678
  key: 1,
23662
23679
  class: "lupa-search-results-breadcrumb-text"
23663
23680
  };
23664
- const _hoisted_4$f = { key: 2 };
23681
+ const _hoisted_4$g = { key: 2 };
23665
23682
  const _sfc_main$K = /* @__PURE__ */ defineComponent({
23666
23683
  __name: "SearchResultsBreadcrumbs",
23667
23684
  props: {
@@ -23703,7 +23720,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
23703
23720
  return handleNavigation(e2, (_a2 = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a2 : "");
23704
23721
  }
23705
23722
  }, toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$t)) : (openBlock(), createElementBlock("span", _hoisted_3$m, toDisplayString(getLabel(breadcrumb.label)), 1)),
23706
- index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$f, toDisplayString((_a = breadcrumb.separator) != null ? _a : "/"), 1)) : createCommentVNode("", true)
23723
+ index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$g, toDisplayString((_a = breadcrumb.separator) != null ? _a : "/"), 1)) : createCommentVNode("", true)
23707
23724
  ]);
23708
23725
  }), 128))
23709
23726
  ]);
@@ -23865,7 +23882,7 @@ const _hoisted_2$s = {
23865
23882
  class: "lupa-page-number-separator"
23866
23883
  };
23867
23884
  const _hoisted_3$l = ["onClick"];
23868
- const _hoisted_4$e = {
23885
+ const _hoisted_4$f = {
23869
23886
  key: 0,
23870
23887
  class: "lupa-page-number-separator"
23871
23888
  };
@@ -23971,7 +23988,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
23971
23988
  }, toDisplayString(page), 11, _hoisted_3$l);
23972
23989
  }), 128)),
23973
23990
  showLastPage.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
23974
- showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$e, "...")) : createCommentVNode("", true),
23991
+ showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$f, "...")) : createCommentVNode("", true),
23975
23992
  createElementVNode("div", {
23976
23993
  class: "lupa-page-number lupa-page-number-last",
23977
23994
  onClick: _cache[2] || (_cache[2] = () => {
@@ -23996,8 +24013,8 @@ const _hoisted_1$z = {
23996
24013
  };
23997
24014
  const _hoisted_2$r = { id: "lupa-select" };
23998
24015
  const _hoisted_3$k = { class: "lupa-select-label" };
23999
- const _hoisted_4$d = ["aria-label"];
24000
- const _hoisted_5$9 = ["value"];
24016
+ const _hoisted_4$e = ["aria-label"];
24017
+ const _hoisted_5$a = ["value"];
24001
24018
  const _sfc_main$E = /* @__PURE__ */ defineComponent({
24002
24019
  __name: "SearchResultsPageSize",
24003
24020
  props: {
@@ -24041,9 +24058,9 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
24041
24058
  return openBlock(), createElementBlock("option", {
24042
24059
  key: option,
24043
24060
  value: option
24044
- }, toDisplayString(prefixLabel.value) + toDisplayString(option), 9, _hoisted_5$9);
24061
+ }, toDisplayString(prefixLabel.value) + toDisplayString(option), 9, _hoisted_5$a);
24045
24062
  }), 128))
24046
- ], 40, _hoisted_4$d)
24063
+ ], 40, _hoisted_4$e)
24047
24064
  ])
24048
24065
  ]);
24049
24066
  };
@@ -24055,8 +24072,8 @@ const _hoisted_1$y = {
24055
24072
  };
24056
24073
  const _hoisted_2$q = { id: "lupa-select" };
24057
24074
  const _hoisted_3$j = { class: "lupa-select-label" };
24058
- const _hoisted_4$c = ["aria-label"];
24059
- const _hoisted_5$8 = ["value"];
24075
+ const _hoisted_4$d = ["aria-label"];
24076
+ const _hoisted_5$9 = ["value"];
24060
24077
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
24061
24078
  __name: "SearchResultsSort",
24062
24079
  props: {
@@ -24121,9 +24138,9 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
24121
24138
  return openBlock(), createElementBlock("option", {
24122
24139
  key: option.key,
24123
24140
  value: option.key
24124
- }, toDisplayString(option.label), 9, _hoisted_5$8);
24141
+ }, toDisplayString(option.label), 9, _hoisted_5$9);
24125
24142
  }), 128))
24126
- ], 40, _hoisted_4$c), [
24143
+ ], 40, _hoisted_4$d), [
24127
24144
  [vModelSelect, selectedKey.value]
24128
24145
  ])
24129
24146
  ])
@@ -24137,8 +24154,8 @@ const _hoisted_2$p = {
24137
24154
  class: "lupa-toolbar-right-title"
24138
24155
  };
24139
24156
  const _hoisted_3$i = { key: 2 };
24140
- const _hoisted_4$b = { key: 4 };
24141
- const _hoisted_5$7 = { key: 6 };
24157
+ const _hoisted_4$c = { key: 4 };
24158
+ const _hoisted_5$8 = { key: 6 };
24142
24159
  const _hoisted_6$5 = { class: "lupa-toolbar-right" };
24143
24160
  const _hoisted_7$3 = {
24144
24161
  key: 0,
@@ -24265,13 +24282,13 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
24265
24282
  label: searchSummaryLabel.value,
24266
24283
  clearable: unref(hasAnyFilter) && showFilterClear.value,
24267
24284
  onClear: handleClearAll
24268
- }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$b)),
24285
+ }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$c)),
24269
24286
  displayPageSelect.value ? (openBlock(), createBlock(_sfc_main$F, {
24270
24287
  key: 5,
24271
24288
  options: paginationOptions.value.pageSelect,
24272
24289
  "last-page-label": paginationOptions.value.labels.showMore,
24273
24290
  "first-page-label": paginationOptions.value.labels.showLess
24274
- }, null, 8, ["options", "last-page-label", "first-page-label"])) : (openBlock(), createElementBlock("div", _hoisted_5$7))
24291
+ }, null, 8, ["options", "last-page-label", "first-page-label"])) : (openBlock(), createElementBlock("div", _hoisted_5$8))
24275
24292
  ]),
24276
24293
  createElementVNode("div", _hoisted_6$5, [
24277
24294
  toolbarRightLabel.value ? (openBlock(), createElementBlock("div", _hoisted_7$3, toDisplayString(toolbarRightLabel.value), 1)) : createCommentVNode("", true),
@@ -24318,8 +24335,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
24318
24335
  const _hoisted_1$w = ["title", "innerHTML"];
24319
24336
  const _hoisted_2$o = ["title"];
24320
24337
  const _hoisted_3$h = ["href", "innerHTML"];
24321
- const _hoisted_4$a = ["title"];
24322
- const _hoisted_5$6 = {
24338
+ const _hoisted_4$b = ["title"];
24339
+ const _hoisted_5$7 = {
24323
24340
  key: 0,
24324
24341
  class: "lupa-search-results-product-title-text"
24325
24342
  };
@@ -24379,14 +24396,14 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
24379
24396
  style: normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
24380
24397
  title: title.value
24381
24398
  }, [
24382
- !_ctx.options.link ? (openBlock(), createElementBlock("span", _hoisted_5$6, toDisplayString(title.value), 1)) : createCommentVNode("", true),
24399
+ !_ctx.options.link ? (openBlock(), createElementBlock("span", _hoisted_5$7, toDisplayString(title.value), 1)) : createCommentVNode("", true),
24383
24400
  _ctx.options.link ? (openBlock(), createElementBlock("a", {
24384
24401
  key: 1,
24385
24402
  href: _ctx.link,
24386
24403
  class: "lupa-search-results-product-title-text lupa-title-link",
24387
24404
  onClick: handleNavigation
24388
24405
  }, toDisplayString(title.value), 9, _hoisted_6$4)) : createCommentVNode("", true)
24389
- ], 12, _hoisted_4$a));
24406
+ ], 12, _hoisted_4$b));
24390
24407
  };
24391
24408
  }
24392
24409
  });
@@ -24429,8 +24446,8 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
24429
24446
  const _hoisted_1$u = { id: "lupa-search-results-rating" };
24430
24447
  const _hoisted_2$n = { class: "lupa-ratings" };
24431
24448
  const _hoisted_3$g = { class: "lupa-ratings-base" };
24432
- const _hoisted_4$9 = ["innerHTML"];
24433
- const _hoisted_5$5 = { class: "lupa-rating-wrapper" };
24449
+ const _hoisted_4$a = ["innerHTML"];
24450
+ const _hoisted_5$6 = { class: "lupa-rating-wrapper" };
24434
24451
  const _hoisted_6$3 = ["innerHTML"];
24435
24452
  const _hoisted_7$2 = ["href"];
24436
24453
  const STAR_COUNT = 5;
@@ -24479,10 +24496,10 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
24479
24496
  key: index,
24480
24497
  innerHTML: star,
24481
24498
  class: "lupa-rating lupa-rating-not-highlighted"
24482
- }, null, 8, _hoisted_4$9);
24499
+ }, null, 8, _hoisted_4$a);
24483
24500
  }), 128))
24484
24501
  ]),
24485
- createElementVNode("div", _hoisted_5$5, [
24502
+ createElementVNode("div", _hoisted_5$6, [
24486
24503
  createElementVNode("div", {
24487
24504
  class: "lupa-ratings-highlighted",
24488
24505
  style: normalizeStyle({ width: ratingPercentage.value + "%" })
@@ -24565,14 +24582,17 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
24565
24582
  });
24566
24583
  const _hoisted_1$s = { class: "lupa-search-results-add-to-cart-wrapper" };
24567
24584
  const _hoisted_2$m = { class: "lupa-search-results-product-addtocart" };
24568
- const _hoisted_3$f = ["id", "disabled", "onClick"];
24585
+ const _hoisted_3$f = ["disabled"];
24586
+ const _hoisted_4$9 = ["href"];
24587
+ const _hoisted_5$5 = ["id", "disabled", "onClick"];
24569
24588
  const _sfc_main$v = /* @__PURE__ */ defineComponent({
24570
24589
  __name: "SearchResultsProductAddToCart",
24571
24590
  props: {
24572
24591
  item: {},
24573
24592
  options: {},
24574
24593
  inStock: { type: Boolean },
24575
- dynamicAttributes: {}
24594
+ dynamicAttributes: {},
24595
+ link: {}
24576
24596
  },
24577
24597
  emits: ["productEvent"],
24578
24598
  setup(__props, { emit }) {
@@ -24604,17 +24624,28 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
24604
24624
  emit("productEvent", { type: "addToCart" });
24605
24625
  loading.value = false;
24606
24626
  });
24627
+ const hasLink = computed(() => {
24628
+ return Boolean(props.link && props.options.link);
24629
+ });
24607
24630
  return (_ctx, _cache) => {
24608
24631
  return openBlock(), createElementBlock("div", _hoisted_1$s, [
24609
24632
  createElementVNode("div", _hoisted_2$m, [
24610
- createElementVNode("button", mergeProps({
24633
+ hasLink.value ? (openBlock(), createElementBlock("button", mergeProps({
24634
+ key: 0,
24635
+ class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
24636
+ "data-cy": "lupa-add-to-cart",
24637
+ disabled: !inStockValue.value || loading.value
24638
+ }, _ctx.dynamicAttributes, { onClick: handleClick }), [
24639
+ createElementVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$9)
24640
+ ], 16, _hoisted_3$f)) : (openBlock(), createElementBlock("button", mergeProps({
24641
+ key: 1,
24611
24642
  id: id.value,
24612
24643
  class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
24613
24644
  "data-cy": "lupa-add-to-cart",
24614
24645
  disabled: !inStockValue.value || loading.value
24615
24646
  }, _ctx.dynamicAttributes, {
24616
24647
  onClick: withModifiers(handleClick, ["stop"])
24617
- }), toDisplayString(label.value), 17, _hoisted_3$f)
24648
+ }), toDisplayString(label.value), 17, _hoisted_5$5))
24618
24649
  ])
24619
24650
  ]);
24620
24651
  };
@@ -18,6 +18,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
18
18
  type: __PropType<Record<string, unknown>>;
19
19
  required: true;
20
20
  };
21
+ link: {
22
+ type: __PropType<string>;
23
+ required: false;
24
+ };
21
25
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "productEvent"[], "productEvent", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
22
26
  item: {
23
27
  type: __PropType<Document>;
@@ -35,6 +39,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
35
39
  type: __PropType<Record<string, unknown>>;
36
40
  required: true;
37
41
  };
42
+ link: {
43
+ type: __PropType<string>;
44
+ required: false;
45
+ };
38
46
  }>> & {
39
47
  onProductEvent?: (...args: any[]) => any;
40
48
  }, {}, {}>;
@@ -19,6 +19,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
19
19
  type: __PropType<boolean>;
20
20
  required: false;
21
21
  };
22
+ link: {
23
+ type: __PropType<string>;
24
+ required: false;
25
+ };
22
26
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
23
27
  item: {
24
28
  type: __PropType<Document>;
@@ -36,5 +40,9 @@ declare const _sfc_main: import("vue").DefineComponent<{
36
40
  type: __PropType<boolean>;
37
41
  required: false;
38
42
  };
43
+ link: {
44
+ type: __PropType<string>;
45
+ required: false;
46
+ };
39
47
  }>>, {}, {}>;
40
48
  export default _sfc_main;
@@ -18,6 +18,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
18
18
  type: __PropType<Record<string, unknown>>;
19
19
  required: true;
20
20
  };
21
+ link: {
22
+ type: __PropType<string>;
23
+ required: false;
24
+ };
21
25
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "productEvent"[], "productEvent", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
22
26
  item: {
23
27
  type: __PropType<Document>;
@@ -35,6 +39,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
35
39
  type: __PropType<Record<string, unknown>>;
36
40
  required: true;
37
41
  };
42
+ link: {
43
+ type: __PropType<string>;
44
+ required: false;
45
+ };
38
46
  }>> & {
39
47
  onProductEvent?: (...args: any[]) => any;
40
48
  }, {}, {}>;
@@ -103,6 +103,7 @@ export type AddToCartElement<T = any> = DocumentElementBase<T> & {
103
103
  type: DocumentElementType.ADDTOCART;
104
104
  action: (document: T, amount: number) => Promise<unknown> | undefined;
105
105
  emitEvent: string;
106
+ link?: boolean;
106
107
  labels: {
107
108
  addToCart: string;
108
109
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getlupa/vue",
3
- "version": "0.17.12",
3
+ "version": "0.17.13",
4
4
  "main": "dist/lupaSearch.mjs",
5
5
  "module": "dist/lupaSearch.mjs",
6
6
  "types": "dist/src/index.d.ts",