@getlupa/client 0.5.1-alpha-5 → 0.5.1-alpha-6

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.
Files changed (22) hide show
  1. package/dist/cjs/components/product-list/CategoryFilter.vue.d.ts +3 -4
  2. package/dist/cjs/components/product-list/CategoryFilterItem.vue.d.ts +2 -3
  3. package/dist/cjs/components/search-results/SearchResultsBreadcrumbs.vue.d.ts +4 -1
  4. package/dist/cjs/components/search-results/products/product-card/SearchResultsProductCard.vue.d.ts +1 -2
  5. package/dist/cjs/components/search-results/products/product-card/elements/SearchResultsProductTitle.vue.d.ts +1 -1
  6. package/dist/cjs/index.min.js +103 -88
  7. package/dist/cjs/utils/routing.utils.d.ts +1 -0
  8. package/dist/es/components/product-list/CategoryFilter.vue.d.ts +3 -4
  9. package/dist/es/components/product-list/CategoryFilterItem.vue.d.ts +2 -3
  10. package/dist/es/components/search-results/SearchResultsBreadcrumbs.vue.d.ts +4 -1
  11. package/dist/es/components/search-results/products/product-card/SearchResultsProductCard.vue.d.ts +1 -2
  12. package/dist/es/components/search-results/products/product-card/elements/SearchResultsProductTitle.vue.d.ts +1 -1
  13. package/dist/es/index.min.js +103 -88
  14. package/dist/es/utils/routing.utils.d.ts +1 -0
  15. package/dist/iife/components/product-list/CategoryFilter.vue.d.ts +3 -4
  16. package/dist/iife/components/product-list/CategoryFilterItem.vue.d.ts +2 -3
  17. package/dist/iife/components/search-results/SearchResultsBreadcrumbs.vue.d.ts +4 -1
  18. package/dist/iife/components/search-results/products/product-card/SearchResultsProductCard.vue.d.ts +1 -2
  19. package/dist/iife/components/search-results/products/product-card/elements/SearchResultsProductTitle.vue.d.ts +1 -1
  20. package/dist/iife/index.min.js +1 -1
  21. package/dist/iife/utils/routing.utils.d.ts +1 -0
  22. package/package.json +1 -1
@@ -6,15 +6,14 @@ export default class CategoryFilter extends Vue {
6
6
  categoryChildren: Record<string, string>[];
7
7
  envOptions: Options;
8
8
  get hasBackButton(): boolean;
9
- get hasDirectRouting(): boolean;
9
+ get hasEventRouting(): boolean;
10
10
  get backTitle(): string | undefined;
11
- get backUrl(): string | undefined;
12
11
  get backUrlLink(): string | undefined;
13
12
  get parentTitle(): string | undefined;
14
- get parentUrl(): string | undefined;
15
13
  get parentUrlLink(): string | undefined;
16
14
  get isActive(): boolean;
17
15
  mounted(): Promise<void>;
18
16
  getCategoryKey(item: Record<string, string>): string;
19
- handleNavigation(url: string): void;
17
+ handleNavigationParent(event?: Event): void;
18
+ handleNavigationBack(event?: Event): void;
20
19
  }
@@ -5,8 +5,7 @@ export default class CategoryFilterItem extends Vue {
5
5
  item: Record<string, string>;
6
6
  get title(): string;
7
7
  get urlLink(): string;
8
- get url(): string | undefined;
9
8
  get isActive(): boolean;
10
- get hasDirectRouting(): boolean;
11
- handleNavigation(): void;
9
+ get hasEventRouting(): boolean;
10
+ handleNavigation(event?: Event): void;
12
11
  }
@@ -1,7 +1,10 @@
1
- import { SearchResultsBreadcrumb } from "@/types/search-results/SearchResultsOptions";
1
+ import { SearchResultsBreadcrumb, SearchResultsOptions } from "@/types/search-results/SearchResultsOptions";
2
2
  import Vue from "vue";
3
3
  export default class SearchResultsBreadcrumbs extends Vue {
4
4
  breadcrumbs: SearchResultsBreadcrumb[];
5
5
  currentQueryText: string;
6
+ searchResultOptions: SearchResultsOptions;
7
+ get hasEventRouting(): boolean;
6
8
  getLabel(label: string): string;
9
+ handleNavigation(event: Event, link: string): void;
7
10
  }
@@ -23,7 +23,6 @@ export default class SearchResultsProductCard extends Vue {
23
23
  get labels(): SearchResultsOptionLabels;
24
24
  get link(): string;
25
25
  get hasEventRouting(): boolean;
26
- get url(): string | undefined;
27
26
  isInStock: boolean;
28
27
  mounted(): void;
29
28
  checkIfIsInStock(): Promise<void>;
@@ -32,5 +31,5 @@ export default class SearchResultsProductCard extends Vue {
32
31
  handleProductEvent(item: {
33
32
  type: ReportableEventType;
34
33
  }): void;
35
- handleNavigation(): void;
34
+ handleNavigation(event?: Event): void;
36
35
  }
@@ -11,5 +11,5 @@ export default class SearchResultsProductTitle extends Vue {
11
11
  get isHtml(): boolean;
12
12
  get maxLines(): number;
13
13
  get hasEventRouting(): boolean;
14
- handleNavigation(): void;
14
+ handleNavigation(event?: Event): void;
15
15
  }
@@ -19340,7 +19340,7 @@ var defaultSuggestedValue = {
19340
19340
  var history$1 = namespace("history");
19341
19341
  var params$d = namespace("params");
19342
19342
  var searchBox$2 = namespace("searchBox");
19343
- var options$7 = namespace("options");
19343
+ var options$8 = namespace("options");
19344
19344
  var tracking$4 = namespace("tracking");
19345
19345
 
19346
19346
  var SearchBox = /*#__PURE__*/function (_Vue) {
@@ -19624,7 +19624,7 @@ __decorate([tracking$4.Action("track")], SearchBox.prototype, "trackClick", void
19624
19624
 
19625
19625
  __decorate([params$d.Action("setSearchResultsLink")], SearchBox.prototype, "setSearchResultsLink", void 0);
19626
19626
 
19627
- __decorate([options$7.Mutation("setSearchBoxOptions")], SearchBox.prototype, "setSearchBoxOptions", void 0);
19627
+ __decorate([options$8.Mutation("setSearchBoxOptions")], SearchBox.prototype, "setSearchBoxOptions", void 0);
19628
19628
 
19629
19629
  __decorate([params$d.Action("goToResults")], SearchBox.prototype, "goToResults", void 0);
19630
19630
 
@@ -21788,7 +21788,7 @@ var toggleHierarchyParam = function toggleHierarchyParam() {
21788
21788
 
21789
21789
  var searchResult$g = namespace("searchResult");
21790
21790
  var params$c = namespace("params");
21791
- var options$6 = namespace("options");
21791
+ var options$7 = namespace("options");
21792
21792
 
21793
21793
  var CurrentFilters = /*#__PURE__*/function (_Vue) {
21794
21794
  _inherits(CurrentFilters, _Vue);
@@ -21865,7 +21865,7 @@ __decorate([searchResult$g.Getter("displayFilters")], CurrentFilters.prototype,
21865
21865
 
21866
21866
  __decorate([searchResult$g.Getter("currentFilterCount")], CurrentFilters.prototype, "currentFilterCount", void 0);
21867
21867
 
21868
- __decorate([options$6.Getter("initialFilters")], CurrentFilters.prototype, "initialFilters", void 0);
21868
+ __decorate([options$7.Getter("initialFilters")], CurrentFilters.prototype, "initialFilters", void 0);
21869
21869
 
21870
21870
  __decorate([params$c.Action("removeParams")], CurrentFilters.prototype, "removeParams", void 0);
21871
21871
 
@@ -24800,7 +24800,7 @@ var _typeof = _typeof$2.exports.default;
24800
24800
 
24801
24801
  var VueSlider = /*@__PURE__*/getDefaultExportFromCjs(vueSliderComponent_umd_min.exports);
24802
24802
 
24803
- var options$5 = namespace("options");
24803
+ var options$6 = namespace("options");
24804
24804
 
24805
24805
  var TermFacet = /*#__PURE__*/function (_Vue) {
24806
24806
  _inherits(TermFacet, _Vue);
@@ -25007,7 +25007,7 @@ __decorate([Prop({
25007
25007
  }
25008
25008
  })], TermFacet.prototype, "currentFilters", void 0);
25009
25009
 
25010
- __decorate([options$5.State(function (s) {
25010
+ __decorate([options$6.State(function (s) {
25011
25011
  return s.searchResultOptions;
25012
25012
  })], TermFacet.prototype, "searchResultOptions", void 0);
25013
25013
 
@@ -26019,6 +26019,16 @@ var emitRoutingEvent = function emitRoutingEvent(url) {
26019
26019
  });
26020
26020
  window.dispatchEvent(event);
26021
26021
  };
26022
+ var handleRoutingEvent = function handleRoutingEvent(link, event) {
26023
+ var hasEventRouting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
26024
+
26025
+ if (!hasEventRouting) {
26026
+ return;
26027
+ }
26028
+
26029
+ event === null || event === void 0 ? void 0 : event.preventDefault();
26030
+ emitRoutingEvent(link);
26031
+ };
26022
26032
 
26023
26033
  var CategoryFilterItem = /*#__PURE__*/function (_Vue) {
26024
26034
  _inherits(CategoryFilterItem, _Vue);
@@ -26045,29 +26055,20 @@ var CategoryFilterItem = /*#__PURE__*/function (_Vue) {
26045
26055
 
26046
26056
  return this.options.keys.urlKey ? (_b = (_a = this.item) === null || _a === void 0 ? void 0 : _a[this.options.keys.urlKey]) !== null && _b !== void 0 ? _b : "" : "";
26047
26057
  }
26048
- }, {
26049
- key: "url",
26050
- get: function get() {
26051
- if (!this.hasDirectRouting) {
26052
- return undefined;
26053
- }
26054
-
26055
- return this.urlLink;
26056
- }
26057
26058
  }, {
26058
26059
  key: "isActive",
26059
26060
  get: function get() {
26060
26061
  return window.location.href === this.urlLink;
26061
26062
  }
26062
26063
  }, {
26063
- key: "hasDirectRouting",
26064
+ key: "hasEventRouting",
26064
26065
  get: function get() {
26065
- return this.options.routingBehavior === "direct-link";
26066
+ return this.options.routingBehavior === "event";
26066
26067
  }
26067
26068
  }, {
26068
26069
  key: "handleNavigation",
26069
- value: function handleNavigation() {
26070
- emitRoutingEvent(this.urlLink);
26070
+ value: function handleNavigation(event) {
26071
+ handleRoutingEvent(this.urlLink, event, this.hasEventRouting);
26071
26072
  }
26072
26073
  }]);
26073
26074
 
@@ -26083,10 +26084,7 @@ __decorate([Prop({
26083
26084
  })], CategoryFilterItem.prototype, "item", void 0);
26084
26085
 
26085
26086
  CategoryFilterItem = __decorate([Component({
26086
- name: "categoryFilterItem",
26087
- components: {
26088
- SearchResults: __vue_component__$4
26089
- }
26087
+ name: "categoryFilterItem"
26090
26088
  })], CategoryFilterItem);
26091
26089
  var script$D = CategoryFilterItem;
26092
26090
 
@@ -26106,14 +26104,15 @@ var __vue_render__$E = function __vue_render__() {
26106
26104
  class: {
26107
26105
  "lupa-child-category-item-active": _vm.isActive
26108
26106
  }
26109
- }, [_c("a", _vm._g({
26107
+ }, [_c("a", {
26110
26108
  attrs: {
26111
26109
  "data-cy": "lupa-child-category-item",
26112
- href: _vm.url
26110
+ href: _vm.urlLink
26111
+ },
26112
+ on: {
26113
+ click: _vm.handleNavigation
26113
26114
  }
26114
- }, _vm.hasDirectRouting ? {} : {
26115
- click: _vm.handleNavigation
26116
- }), [_vm._v("\n " + _vm._s(_vm.title) + "\n ")])]);
26115
+ }, [_vm._v("\n " + _vm._s(_vm.title) + "\n ")])]);
26117
26116
  };
26118
26117
 
26119
26118
  var __vue_staticRenderFns__$E = [];
@@ -26141,7 +26140,7 @@ var __vue_component__$E = /*#__PURE__*/normalizeComponent({
26141
26140
  staticRenderFns: __vue_staticRenderFns__$E
26142
26141
  }, __vue_inject_styles__$E, __vue_script__$E, __vue_scope_id__$E, __vue_is_functional_template__$E, __vue_module_identifier__$E, false, undefined, undefined, undefined);
26143
26142
 
26144
- var options$4 = namespace("options");
26143
+ var options$5 = namespace("options");
26145
26144
 
26146
26145
  var CategoryFilter = /*#__PURE__*/function (_Vue) {
26147
26146
  _inherits(CategoryFilter, _Vue);
@@ -26166,9 +26165,9 @@ var CategoryFilter = /*#__PURE__*/function (_Vue) {
26166
26165
  return Boolean((_a = this.options.back) === null || _a === void 0 ? void 0 : _a.title);
26167
26166
  }
26168
26167
  }, {
26169
- key: "hasDirectRouting",
26168
+ key: "hasEventRouting",
26170
26169
  get: function get() {
26171
- return this.options.routingBehavior === "direct-link";
26170
+ return this.options.routingBehavior === "event";
26172
26171
  }
26173
26172
  }, {
26174
26173
  key: "backTitle",
@@ -26177,17 +26176,12 @@ var CategoryFilter = /*#__PURE__*/function (_Vue) {
26177
26176
 
26178
26177
  return (_a = this.options.back) === null || _a === void 0 ? void 0 : _a.title;
26179
26178
  }
26180
- }, {
26181
- key: "backUrl",
26182
- get: function get() {
26183
- return this.hasDirectRouting ? this.backUrlLink : undefined;
26184
- }
26185
26179
  }, {
26186
26180
  key: "backUrlLink",
26187
26181
  get: function get() {
26188
- var _a;
26182
+ var _a, _b;
26189
26183
 
26190
- return (_a = this.options.back) === null || _a === void 0 ? void 0 : _a.url;
26184
+ return (_b = (_a = this.options.back) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : "";
26191
26185
  }
26192
26186
  }, {
26193
26187
  key: "parentTitle",
@@ -26196,19 +26190,12 @@ var CategoryFilter = /*#__PURE__*/function (_Vue) {
26196
26190
 
26197
26191
  return (_a = this.options.parent) === null || _a === void 0 ? void 0 : _a.title;
26198
26192
  }
26199
- }, {
26200
- key: "parentUrl",
26201
- get: function get() {
26202
- var _a;
26203
-
26204
- return this.hasDirectRouting ? (_a = this.options.parent) === null || _a === void 0 ? void 0 : _a.url : undefined;
26205
- }
26206
26193
  }, {
26207
26194
  key: "parentUrlLink",
26208
26195
  get: function get() {
26209
- var _a;
26196
+ var _a, _b;
26210
26197
 
26211
- return (_a = this.options.parent) === null || _a === void 0 ? void 0 : _a.url;
26198
+ return (_b = (_a = this.options.parent) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : "";
26212
26199
  }
26213
26200
  }, {
26214
26201
  key: "isActive",
@@ -26259,9 +26246,22 @@ var CategoryFilter = /*#__PURE__*/function (_Vue) {
26259
26246
  return (item === null || item === void 0 ? void 0 : item[(_a = this.options.keys.titleKey) !== null && _a !== void 0 ? _a : ""]) + (item === null || item === void 0 ? void 0 : item[(_b = this.options.keys.urlKey) !== null && _b !== void 0 ? _b : ""]);
26260
26247
  }
26261
26248
  }, {
26262
- key: "handleNavigation",
26263
- value: function handleNavigation(url) {
26264
- emitRoutingEvent(url);
26249
+ key: "handleNavigationParent",
26250
+ value: function handleNavigationParent(event) {
26251
+ if (!this.parentUrlLink) {
26252
+ return;
26253
+ }
26254
+
26255
+ handleRoutingEvent(this.parentUrlLink, event, this.hasEventRouting);
26256
+ }
26257
+ }, {
26258
+ key: "handleNavigationBack",
26259
+ value: function handleNavigationBack(event) {
26260
+ if (!this.backUrlLink) {
26261
+ return;
26262
+ }
26263
+
26264
+ handleRoutingEvent(this.backUrlLink, event, this.hasEventRouting);
26265
26265
  }
26266
26266
  }]);
26267
26267
 
@@ -26270,7 +26270,7 @@ var CategoryFilter = /*#__PURE__*/function (_Vue) {
26270
26270
 
26271
26271
  __decorate([Prop()], CategoryFilter.prototype, "options", void 0);
26272
26272
 
26273
- __decorate([options$4.Getter("envOptions")], CategoryFilter.prototype, "envOptions", void 0);
26273
+ __decorate([options$5.Getter("envOptions")], CategoryFilter.prototype, "envOptions", void 0);
26274
26274
 
26275
26275
  CategoryFilter = __decorate([Component({
26276
26276
  name: "categoryFilter",
@@ -26298,33 +26298,31 @@ var __vue_render__$D = function __vue_render__() {
26298
26298
  }
26299
26299
  }, [_c("div", {
26300
26300
  staticClass: "lupa-category-back"
26301
- }, [_vm.hasBackButton ? _c("a", _vm._g({
26301
+ }, [_vm.hasBackButton ? _c("a", {
26302
26302
  attrs: {
26303
26303
  "data-cy": "lupa-category-back",
26304
- href: _vm.backUrl
26305
- }
26306
- }, _vm.hasDirectRouting ? {} : {
26307
- click: function click() {
26308
- return _vm.handleNavigation(_vm.backUrlLink);
26304
+ href: _vm.backUrlLink
26305
+ },
26306
+ on: {
26307
+ click: _vm.handleNavigationBack
26309
26308
  }
26310
- }), [_vm._v("\n " + _vm._s(_vm.backTitle) + "\n ")]) : _vm._e()]), _vm._v(" "), _c("div", {
26309
+ }, [_vm._v("\n " + _vm._s(_vm.backTitle) + "\n ")]) : _vm._e()]), _vm._v(" "), _c("div", {
26311
26310
  staticClass: "lupa-current-category",
26312
26311
  class: {
26313
26312
  "lupa-current-category-active": _vm.isActive
26314
26313
  }
26315
- }, [_c("a", _vm._g({
26314
+ }, [_c("a", {
26316
26315
  class: {
26317
26316
  "lupa-title-category": !_vm.hasBackButton
26318
26317
  },
26319
26318
  attrs: {
26320
26319
  "data-cy": "lupa-current-category",
26321
- href: _vm.parentUrl
26322
- }
26323
- }, _vm.hasDirectRouting ? {} : {
26324
- click: function click() {
26325
- return _vm.handleNavigation(_vm.parentUrlLink);
26320
+ href: _vm.parentUrlLink
26321
+ },
26322
+ on: {
26323
+ click: _vm.handleNavigationParent
26326
26324
  }
26327
- }), [_vm._v(_vm._s(_vm.parentTitle))])]), _vm._v(" "), _c("div", {
26325
+ }, [_vm._v(_vm._s(_vm.parentTitle))])]), _vm._v(" "), _c("div", {
26328
26326
  staticClass: "lupa-child-category-list"
26329
26327
  }, _vm._l(_vm.categoryChildren, function (child) {
26330
26328
  return _c("CategoryFilterItem", {
@@ -27258,7 +27256,7 @@ var __vue_component__$v = /*#__PURE__*/normalizeComponent({
27258
27256
  staticRenderFns: __vue_staticRenderFns__$v
27259
27257
  }, __vue_inject_styles__$v, __vue_script__$v, __vue_scope_id__$v, __vue_is_functional_template__$v, __vue_module_identifier__$v, false, undefined, undefined, undefined);
27260
27258
 
27261
- var options$3 = namespace("options");
27259
+ var options$4 = namespace("options");
27262
27260
 
27263
27261
  var SearchResultsProductTitle = /*#__PURE__*/function (_Vue) {
27264
27262
  _inherits(SearchResultsProductTitle, _Vue);
@@ -27295,8 +27293,8 @@ var SearchResultsProductTitle = /*#__PURE__*/function (_Vue) {
27295
27293
  }
27296
27294
  }, {
27297
27295
  key: "handleNavigation",
27298
- value: function handleNavigation() {
27299
- emitRoutingEvent(this.link);
27296
+ value: function handleNavigation(event) {
27297
+ handleRoutingEvent(this.link, event, this.hasEventRouting);
27300
27298
  }
27301
27299
  }]);
27302
27300
 
@@ -27311,7 +27309,7 @@ __decorate([Prop({
27311
27309
  default: ""
27312
27310
  })], SearchResultsProductTitle.prototype, "link", void 0);
27313
27311
 
27314
- __decorate([options$3.State(function (o) {
27312
+ __decorate([options$4.State(function (o) {
27315
27313
  return o.searchResultOptions;
27316
27314
  })], SearchResultsProductTitle.prototype, "searchResultOptions", void 0);
27317
27315
 
@@ -27341,14 +27339,15 @@ var __vue_render__$u = function __vue_render__() {
27341
27339
  style: "-webkit-line-clamp: " + _vm.maxLines
27342
27340
  }, [!_vm.options.link ? _c("span", {
27343
27341
  staticClass: "lupa-search-results-product-title-text"
27344
- }, [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _vm._v(" "), _vm.options.link ? _c("a", _vm._g({
27342
+ }, [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _vm._v(" "), _vm.options.link ? _c("a", {
27345
27343
  staticClass: "lupa-search-results-product-title-text lupa-title-link",
27346
27344
  attrs: {
27347
- href: _vm.hasEventRouting ? undefined : _vm.link
27345
+ href: _vm.link
27346
+ },
27347
+ on: {
27348
+ click: _vm.handleNavigation
27348
27349
  }
27349
- }, _vm.hasEventRouting ? {
27350
- click: _vm.handleNavigation
27351
- } : {}), [_vm._v(_vm._s(_vm.title))]) : _vm._e()]);
27350
+ }, [_vm._v(_vm._s(_vm.title))]) : _vm._e()]);
27352
27351
  };
27353
27352
 
27354
27353
  var __vue_staticRenderFns__$u = [];
@@ -28311,11 +28310,6 @@ var SearchResultsProductCard = /*#__PURE__*/function (_Vue) {
28311
28310
  get: function get() {
28312
28311
  return this.options.routingBehavior === "event";
28313
28312
  }
28314
- }, {
28315
- key: "url",
28316
- get: function get() {
28317
- return this.hasEventRouting ? undefined : this.link;
28318
- }
28319
28313
  }, {
28320
28314
  key: "mounted",
28321
28315
  value: function mounted() {
@@ -28395,8 +28389,8 @@ var SearchResultsProductCard = /*#__PURE__*/function (_Vue) {
28395
28389
  }
28396
28390
  }, {
28397
28391
  key: "handleNavigation",
28398
- value: function handleNavigation() {
28399
- emitRoutingEvent(this.link);
28392
+ value: function handleNavigation(event) {
28393
+ handleRoutingEvent(this.link, event, this.hasEventRouting);
28400
28394
  }
28401
28395
  }]);
28402
28396
 
@@ -28457,14 +28451,15 @@ var __vue_render__$l = function __vue_render__() {
28457
28451
  }
28458
28452
  }), _vm._v(" "), _c("div", {
28459
28453
  class: ["lupa-search-result-product-contents", _vm.listLayoutClass]
28460
- }, [_c("a", _vm._g({
28454
+ }, [_c("a", {
28461
28455
  staticClass: "lupa-search-result-product-image-section",
28462
28456
  attrs: {
28463
- href: _vm.url || undefined
28457
+ href: _vm.link
28458
+ },
28459
+ on: {
28460
+ click: _vm.handleNavigation
28464
28461
  }
28465
- }, _vm.hasEventRouting ? {
28466
- click: _vm.handleNavigation
28467
- } : {}), _vm._l(_vm.imageElements, function (element) {
28462
+ }, _vm._l(_vm.imageElements, function (element) {
28468
28463
  return _c("SearchResultsProductCardElement", {
28469
28464
  key: element.key,
28470
28465
  staticClass: "lupa-search-results-product-element",
@@ -29430,7 +29425,7 @@ var __vue_component__$g = /*#__PURE__*/normalizeComponent({
29430
29425
  }, __vue_inject_styles__$g, __vue_script__$g, __vue_scope_id__$g, __vue_is_functional_template__$g, __vue_module_identifier__$g, false, undefined, undefined, undefined);
29431
29426
 
29432
29427
  var searchResult$a = namespace("searchResult");
29433
- var options$2 = namespace("options");
29428
+ var options$3 = namespace("options");
29434
29429
 
29435
29430
  var SearchResultsLayoutSelection = /*#__PURE__*/function (_Vue) {
29436
29431
  _inherits(SearchResultsLayoutSelection, _Vue);
@@ -29457,7 +29452,7 @@ __decorate([searchResult$a.State(function (state) {
29457
29452
  return state.layout;
29458
29453
  })], SearchResultsLayoutSelection.prototype, "layout", void 0);
29459
29454
 
29460
- __decorate([options$2.Getter("classMap")], SearchResultsLayoutSelection.prototype, "classMap", void 0);
29455
+ __decorate([options$3.Getter("classMap")], SearchResultsLayoutSelection.prototype, "classMap", void 0);
29461
29456
 
29462
29457
  __decorate([searchResult$a.Action("setLayout")], SearchResultsLayoutSelection.prototype, "setLayout", void 0);
29463
29458
 
@@ -30533,6 +30528,7 @@ var __vue_component__$7 = /*#__PURE__*/normalizeComponent({
30533
30528
  }, __vue_inject_styles__$7, __vue_script__$7, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);
30534
30529
 
30535
30530
  var searchResult$3 = namespace("searchResult");
30531
+ var options$2 = namespace("options");
30536
30532
 
30537
30533
  var SearchResultsBreadcrumbs = /*#__PURE__*/function (_Vue) {
30538
30534
  _inherits(SearchResultsBreadcrumbs, _Vue);
@@ -30546,10 +30542,20 @@ var SearchResultsBreadcrumbs = /*#__PURE__*/function (_Vue) {
30546
30542
  }
30547
30543
 
30548
30544
  _createClass(SearchResultsBreadcrumbs, [{
30545
+ key: "hasEventRouting",
30546
+ get: function get() {
30547
+ return this.searchResultOptions.routingBehavior === "event";
30548
+ }
30549
+ }, {
30549
30550
  key: "getLabel",
30550
30551
  value: function getLabel(label) {
30551
30552
  return addParamsToLabel(label, "'".concat(this.currentQueryText, "'"));
30552
30553
  }
30554
+ }, {
30555
+ key: "handleNavigation",
30556
+ value: function handleNavigation(event, link) {
30557
+ handleRoutingEvent(link, event, this.hasEventRouting);
30558
+ }
30553
30559
  }]);
30554
30560
 
30555
30561
  return SearchResultsBreadcrumbs;
@@ -30563,6 +30569,10 @@ __decorate([Prop({
30563
30569
 
30564
30570
  __decorate([searchResult$3.Getter("currentQueryText")], SearchResultsBreadcrumbs.prototype, "currentQueryText", void 0);
30565
30571
 
30572
+ __decorate([options$2.State(function (o) {
30573
+ return o.searchResultOptions;
30574
+ })], SearchResultsBreadcrumbs.prototype, "searchResultOptions", void 0);
30575
+
30566
30576
  SearchResultsBreadcrumbs = __decorate([Component({
30567
30577
  name: "searchResultsBreadcrumbs"
30568
30578
  })], SearchResultsBreadcrumbs);
@@ -30590,6 +30600,11 @@ var __vue_render__$6 = function __vue_render__() {
30590
30600
  staticClass: "lupa-search-results-breadcrumb-link",
30591
30601
  attrs: {
30592
30602
  href: breadcrumb.link
30603
+ },
30604
+ on: {
30605
+ click: function click(e) {
30606
+ return _vm.handleNavigation(e, breadcrumb.link);
30607
+ }
30593
30608
  }
30594
30609
  }, [_vm._v(_vm._s(_vm.getLabel(breadcrumb.label)))]) : _c("span", {
30595
30610
  staticClass: "lupa-search-results-breadcrumb-text"
@@ -1 +1,2 @@
1
1
  export declare const emitRoutingEvent: (url: string) => void;
2
+ export declare const handleRoutingEvent: (link: string, event?: Event | undefined, hasEventRouting?: boolean) => void;
@@ -6,15 +6,14 @@ export default class CategoryFilter extends Vue {
6
6
  categoryChildren: Record<string, string>[];
7
7
  envOptions: Options;
8
8
  get hasBackButton(): boolean;
9
- get hasDirectRouting(): boolean;
9
+ get hasEventRouting(): boolean;
10
10
  get backTitle(): string | undefined;
11
- get backUrl(): string | undefined;
12
11
  get backUrlLink(): string | undefined;
13
12
  get parentTitle(): string | undefined;
14
- get parentUrl(): string | undefined;
15
13
  get parentUrlLink(): string | undefined;
16
14
  get isActive(): boolean;
17
15
  mounted(): Promise<void>;
18
16
  getCategoryKey(item: Record<string, string>): string;
19
- handleNavigation(url: string): void;
17
+ handleNavigationParent(event?: Event): void;
18
+ handleNavigationBack(event?: Event): void;
20
19
  }
@@ -5,8 +5,7 @@ export default class CategoryFilterItem extends Vue {
5
5
  item: Record<string, string>;
6
6
  get title(): string;
7
7
  get urlLink(): string;
8
- get url(): string | undefined;
9
8
  get isActive(): boolean;
10
- get hasDirectRouting(): boolean;
11
- handleNavigation(): void;
9
+ get hasEventRouting(): boolean;
10
+ handleNavigation(event?: Event): void;
12
11
  }
@@ -1,7 +1,10 @@
1
- import { SearchResultsBreadcrumb } from "@/types/search-results/SearchResultsOptions";
1
+ import { SearchResultsBreadcrumb, SearchResultsOptions } from "@/types/search-results/SearchResultsOptions";
2
2
  import Vue from "vue";
3
3
  export default class SearchResultsBreadcrumbs extends Vue {
4
4
  breadcrumbs: SearchResultsBreadcrumb[];
5
5
  currentQueryText: string;
6
+ searchResultOptions: SearchResultsOptions;
7
+ get hasEventRouting(): boolean;
6
8
  getLabel(label: string): string;
9
+ handleNavigation(event: Event, link: string): void;
7
10
  }
@@ -23,7 +23,6 @@ export default class SearchResultsProductCard extends Vue {
23
23
  get labels(): SearchResultsOptionLabels;
24
24
  get link(): string;
25
25
  get hasEventRouting(): boolean;
26
- get url(): string | undefined;
27
26
  isInStock: boolean;
28
27
  mounted(): void;
29
28
  checkIfIsInStock(): Promise<void>;
@@ -32,5 +31,5 @@ export default class SearchResultsProductCard extends Vue {
32
31
  handleProductEvent(item: {
33
32
  type: ReportableEventType;
34
33
  }): void;
35
- handleNavigation(): void;
34
+ handleNavigation(event?: Event): void;
36
35
  }
@@ -11,5 +11,5 @@ export default class SearchResultsProductTitle extends Vue {
11
11
  get isHtml(): boolean;
12
12
  get maxLines(): number;
13
13
  get hasEventRouting(): boolean;
14
- handleNavigation(): void;
14
+ handleNavigation(event?: Event): void;
15
15
  }