vviinn-widgets 2.21.0 → 2.22.2

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 (66) hide show
  1. package/dist/cjs/highlight-box_22.cjs.entry.js +2 -1
  2. package/dist/cjs/{index-3e976225.js → index-0659dc39.js} +161 -41
  3. package/dist/cjs/{package-3381595c.js → package-8a334970.js} +1 -1
  4. package/dist/cjs/vviinn-carousel_3.cjs.entry.js +42 -14
  5. package/dist/cjs/vviinn-recommendations-sidebar.cjs.entry.js +1 -1
  6. package/dist/cjs/vviinn-vpr-button.cjs.entry.js +1 -1
  7. package/dist/cjs/vviinn-vps-button.cjs.entry.js +1 -1
  8. package/dist/cjs/vviinn-vps-widget.cjs.entry.js +7 -7
  9. package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.js +4 -4
  10. package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-vidget.js +41 -13
  11. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +5 -5
  12. package/dist/collection/filters/parseFilters.js +2 -1
  13. package/dist/collection/tracking/filter.js +2 -2
  14. package/dist/collection/tracking/index.js +5 -2
  15. package/dist/collection/tracking/models.js +4 -4
  16. package/dist/collection/tracking/product.js +9 -1
  17. package/dist/collection/tracking/search.js +2 -2
  18. package/dist/collection/tracking/widget.js +8 -4
  19. package/dist/esm/highlight-box_22.entry.js +2 -1
  20. package/dist/esm/{index-cfd86f10.js → index-3b3211a8.js} +159 -42
  21. package/dist/esm/{package-014f290c.js → package-e5b8c7da.js} +1 -1
  22. package/dist/esm/vviinn-carousel_3.entry.js +42 -14
  23. package/dist/esm/vviinn-recommendations-sidebar.entry.js +1 -1
  24. package/dist/esm/vviinn-vpr-button.entry.js +1 -1
  25. package/dist/esm/vviinn-vps-button.entry.js +1 -1
  26. package/dist/esm/vviinn-vps-widget.entry.js +7 -7
  27. package/dist/types/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.d.ts +2 -2
  28. package/dist/types/components.d.ts +2 -2
  29. package/dist/types/tracking/index.d.ts +3 -0
  30. package/dist/types/tracking/models.d.ts +4 -4
  31. package/dist/types/tracking/product.d.ts +3 -1
  32. package/dist/types/tracking/widget.d.ts +2 -1
  33. package/dist/vviinn-widgets/{p-89a09b97.entry.js → p-06f95934.entry.js} +1 -1
  34. package/dist/vviinn-widgets/p-1f0e1f36.entry.js +1 -0
  35. package/dist/vviinn-widgets/{p-b9f79d46.entry.js → p-22b5e568.entry.js} +1 -1
  36. package/dist/vviinn-widgets/p-5d8fcf51.js +1 -0
  37. package/{www/build/p-a440b290.entry.js → dist/vviinn-widgets/p-72ceedfc.entry.js} +1 -1
  38. package/dist/vviinn-widgets/p-afcccf0d.entry.js +1 -0
  39. package/dist/vviinn-widgets/p-bd5ff73d.entry.js +1 -0
  40. package/dist/vviinn-widgets/p-d9ad4ed1.js +1 -0
  41. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  42. package/package.json +2 -2
  43. package/www/build/{p-89a09b97.entry.js → p-06f95934.entry.js} +1 -1
  44. package/www/build/p-1f0e1f36.entry.js +1 -0
  45. package/www/build/{p-b9f79d46.entry.js → p-22b5e568.entry.js} +1 -1
  46. package/www/build/p-2cae34e6.js +161 -0
  47. package/www/build/p-5d8fcf51.js +1 -0
  48. package/{dist/vviinn-widgets/p-a440b290.entry.js → www/build/p-72ceedfc.entry.js} +1 -1
  49. package/www/build/p-afcccf0d.entry.js +1 -0
  50. package/www/build/p-bd5ff73d.entry.js +1 -0
  51. package/www/build/p-d9ad4ed1.js +1 -0
  52. package/www/build/p-e0153ae2.css +6 -0
  53. package/www/build/vviinn-widgets.esm.js +1 -1
  54. package/www/index.html +2 -2
  55. package/dist/vviinn-widgets/p-758d5fcd.entry.js +0 -1
  56. package/dist/vviinn-widgets/p-8dd7585c.js +0 -1
  57. package/dist/vviinn-widgets/p-ae273bc4.entry.js +0 -1
  58. package/dist/vviinn-widgets/p-c06f6765.entry.js +0 -1
  59. package/dist/vviinn-widgets/p-f5061a32.js +0 -1
  60. package/www/build/p-1c3ddbf3.js +0 -1
  61. package/www/build/p-758d5fcd.entry.js +0 -1
  62. package/www/build/p-8dd7585c.js +0 -1
  63. package/www/build/p-a67898be.css +0 -1
  64. package/www/build/p-ae273bc4.entry.js +0 -1
  65. package/www/build/p-c06f6765.entry.js +0 -1
  66. package/www/build/p-f5061a32.js +0 -1
@@ -181,6 +181,7 @@ const ImageCropper = class {
181
181
  ImageCropper.style = imageCropperCss;
182
182
 
183
183
  const parseFilters = (filter, filterType) => {
184
+ var _a;
184
185
  if (!filter)
185
186
  return "";
186
187
  const result = {};
@@ -194,7 +195,7 @@ const parseFilters = (filter, filterType) => {
194
195
  result[key] = value;
195
196
  });
196
197
  if (filterType === "categories") {
197
- return result["product_type"];
198
+ return (_a = result["product_type"]) !== null && _a !== void 0 ? _a : result["google_product_category"];
198
199
  }
199
200
  return result[filterType];
200
201
  };
@@ -1971,6 +1971,41 @@ exports.EventConfirmation = EventConfirmation;
1971
1971
  //# sourceMappingURL=EventConfirmation.js.map
1972
1972
  });
1973
1973
 
1974
+ var EventObject_1 = imageSearch_store.createCommonjsModule(function (module, exports) {
1975
+ Object.defineProperty(exports, "__esModule", { value: true });
1976
+ exports.EventObject = void 0;
1977
+ var EventObject = (function () {
1978
+ function EventObject() {
1979
+ }
1980
+ EventObject.getAttributeTypeMap = function () {
1981
+ return EventObject.attributeTypeMap;
1982
+ };
1983
+ EventObject.discriminator = undefined;
1984
+ EventObject.attributeTypeMap = [
1985
+ {
1986
+ "name": "typ",
1987
+ "baseName": "typ",
1988
+ "type": "EventType",
1989
+ "format": ""
1990
+ },
1991
+ {
1992
+ "name": "enabled",
1993
+ "baseName": "enabled",
1994
+ "type": "boolean",
1995
+ "format": ""
1996
+ }
1997
+ ];
1998
+ return EventObject;
1999
+ }());
2000
+ exports.EventObject = EventObject;
2001
+ //# sourceMappingURL=EventObject.js.map
2002
+ });
2003
+
2004
+ var EventType = imageSearch_store.createCommonjsModule(function (module, exports) {
2005
+ Object.defineProperty(exports, "__esModule", { value: true });
2006
+ //# sourceMappingURL=EventType.js.map
2007
+ });
2008
+
1974
2009
  var FilterAction = imageSearch_store.createCommonjsModule(function (module, exports) {
1975
2010
  Object.defineProperty(exports, "__esModule", { value: true });
1976
2011
  //# sourceMappingURL=FilterAction.js.map
@@ -2129,7 +2164,7 @@ exports.ProductClickEvent = ProductClickEvent;
2129
2164
  //# sourceMappingURL=ProductClickEvent.js.map
2130
2165
  });
2131
2166
 
2132
- var ProductViewEvent_1 = imageSearch_store.createCommonjsModule(function (module, exports) {
2167
+ var ProductLoadEvent_1 = imageSearch_store.createCommonjsModule(function (module, exports) {
2133
2168
  var __extends = (imageSearch_store.commonjsGlobal && imageSearch_store.commonjsGlobal.__extends) || (function () {
2134
2169
  var extendStatics = function (d, b) {
2135
2170
  extendStatics = Object.setPrototypeOf ||
@@ -2146,20 +2181,20 @@ var __extends = (imageSearch_store.commonjsGlobal && imageSearch_store.commonjsG
2146
2181
  };
2147
2182
  })();
2148
2183
  Object.defineProperty(exports, "__esModule", { value: true });
2149
- exports.ProductViewEvent = void 0;
2184
+ exports.ProductLoadEvent = void 0;
2150
2185
 
2151
- var ProductViewEvent = (function (_super) {
2152
- __extends(ProductViewEvent, _super);
2153
- function ProductViewEvent() {
2186
+ var ProductLoadEvent = (function (_super) {
2187
+ __extends(ProductLoadEvent, _super);
2188
+ function ProductLoadEvent() {
2154
2189
  var _this = _super.call(this) || this;
2155
- _this.typ = "ProductViewEvent";
2190
+ _this.typ = "ProductLoadEvent";
2156
2191
  return _this;
2157
2192
  }
2158
- ProductViewEvent.getAttributeTypeMap = function () {
2159
- return _super.getAttributeTypeMap.call(this).concat(ProductViewEvent.attributeTypeMap);
2193
+ ProductLoadEvent.getAttributeTypeMap = function () {
2194
+ return _super.getAttributeTypeMap.call(this).concat(ProductLoadEvent.attributeTypeMap);
2160
2195
  };
2161
- ProductViewEvent.discriminator = undefined;
2162
- ProductViewEvent.attributeTypeMap = [
2196
+ ProductLoadEvent.discriminator = undefined;
2197
+ ProductLoadEvent.attributeTypeMap = [
2163
2198
  {
2164
2199
  "name": "widget",
2165
2200
  "baseName": "widget",
@@ -2179,23 +2214,23 @@ var ProductViewEvent = (function (_super) {
2179
2214
  "format": ""
2180
2215
  }
2181
2216
  ];
2182
- return ProductViewEvent;
2217
+ return ProductLoadEvent;
2183
2218
  }(Event_1.Event));
2184
- exports.ProductViewEvent = ProductViewEvent;
2185
- //# sourceMappingURL=ProductViewEvent.js.map
2219
+ exports.ProductLoadEvent = ProductLoadEvent;
2220
+ //# sourceMappingURL=ProductLoadEvent.js.map
2186
2221
  });
2187
2222
 
2188
- var ProductViewEventAllOf_1 = imageSearch_store.createCommonjsModule(function (module, exports) {
2223
+ var ProductLoadEventAllOf_1 = imageSearch_store.createCommonjsModule(function (module, exports) {
2189
2224
  Object.defineProperty(exports, "__esModule", { value: true });
2190
- exports.ProductViewEventAllOf = void 0;
2191
- var ProductViewEventAllOf = (function () {
2192
- function ProductViewEventAllOf() {
2225
+ exports.ProductLoadEventAllOf = void 0;
2226
+ var ProductLoadEventAllOf = (function () {
2227
+ function ProductLoadEventAllOf() {
2193
2228
  }
2194
- ProductViewEventAllOf.getAttributeTypeMap = function () {
2195
- return ProductViewEventAllOf.attributeTypeMap;
2229
+ ProductLoadEventAllOf.getAttributeTypeMap = function () {
2230
+ return ProductLoadEventAllOf.attributeTypeMap;
2196
2231
  };
2197
- ProductViewEventAllOf.discriminator = undefined;
2198
- ProductViewEventAllOf.attributeTypeMap = [
2232
+ ProductLoadEventAllOf.discriminator = undefined;
2233
+ ProductLoadEventAllOf.attributeTypeMap = [
2199
2234
  {
2200
2235
  "name": "widget",
2201
2236
  "baseName": "widget",
@@ -2215,10 +2250,66 @@ var ProductViewEventAllOf = (function () {
2215
2250
  "format": ""
2216
2251
  }
2217
2252
  ];
2218
- return ProductViewEventAllOf;
2253
+ return ProductLoadEventAllOf;
2219
2254
  }());
2220
- exports.ProductViewEventAllOf = ProductViewEventAllOf;
2221
- //# sourceMappingURL=ProductViewEventAllOf.js.map
2255
+ exports.ProductLoadEventAllOf = ProductLoadEventAllOf;
2256
+ //# sourceMappingURL=ProductLoadEventAllOf.js.map
2257
+ });
2258
+
2259
+ var ProductViewEvent_1 = imageSearch_store.createCommonjsModule(function (module, exports) {
2260
+ var __extends = (imageSearch_store.commonjsGlobal && imageSearch_store.commonjsGlobal.__extends) || (function () {
2261
+ var extendStatics = function (d, b) {
2262
+ extendStatics = Object.setPrototypeOf ||
2263
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2264
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2265
+ return extendStatics(d, b);
2266
+ };
2267
+ return function (d, b) {
2268
+ if (typeof b !== "function" && b !== null)
2269
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2270
+ extendStatics(d, b);
2271
+ function __() { this.constructor = d; }
2272
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2273
+ };
2274
+ })();
2275
+ Object.defineProperty(exports, "__esModule", { value: true });
2276
+ exports.ProductViewEvent = void 0;
2277
+
2278
+ var ProductViewEvent = (function (_super) {
2279
+ __extends(ProductViewEvent, _super);
2280
+ function ProductViewEvent() {
2281
+ var _this = _super.call(this) || this;
2282
+ _this.typ = "ProductViewEvent";
2283
+ return _this;
2284
+ }
2285
+ ProductViewEvent.getAttributeTypeMap = function () {
2286
+ return _super.getAttributeTypeMap.call(this).concat(ProductViewEvent.attributeTypeMap);
2287
+ };
2288
+ ProductViewEvent.discriminator = undefined;
2289
+ ProductViewEvent.attributeTypeMap = [
2290
+ {
2291
+ "name": "widget",
2292
+ "baseName": "widget",
2293
+ "type": "Widget",
2294
+ "format": ""
2295
+ },
2296
+ {
2297
+ "name": "product",
2298
+ "baseName": "product",
2299
+ "type": "string",
2300
+ "format": ""
2301
+ },
2302
+ {
2303
+ "name": "rank",
2304
+ "baseName": "rank",
2305
+ "type": "number",
2306
+ "format": ""
2307
+ }
2308
+ ];
2309
+ return ProductViewEvent;
2310
+ }(Event_1.Event));
2311
+ exports.ProductViewEvent = ProductViewEvent;
2312
+ //# sourceMappingURL=ProductViewEvent.js.map
2222
2313
  });
2223
2314
 
2224
2315
  var SearchArea = imageSearch_store.createCommonjsModule(function (module, exports) {
@@ -2433,13 +2524,16 @@ __exportStar(ErrorObject_1, exports);
2433
2524
  __exportStar(ErrorResponse_1, exports);
2434
2525
  __exportStar(Event_1, exports);
2435
2526
  __exportStar(EventConfirmation_1, exports);
2527
+ __exportStar(EventObject_1, exports);
2528
+ __exportStar(EventType, exports);
2436
2529
  __exportStar(FilterAction, exports);
2437
2530
  __exportStar(FilterEvent_1, exports);
2438
2531
  __exportStar(FilterEventAllOf_1, exports);
2439
2532
  __exportStar(FilterKind, exports);
2440
2533
  __exportStar(ProductClickEvent_1, exports);
2534
+ __exportStar(ProductLoadEvent_1, exports);
2535
+ __exportStar(ProductLoadEventAllOf_1, exports);
2441
2536
  __exportStar(ProductViewEvent_1, exports);
2442
- __exportStar(ProductViewEventAllOf_1, exports);
2443
2537
  __exportStar(SearchArea, exports);
2444
2538
  __exportStar(SearchEvent_1, exports);
2445
2539
  __exportStar(SearchEventAllOf_1, exports);
@@ -2632,13 +2726,16 @@ __exportStar(ErrorObject_1, exports);
2632
2726
  __exportStar(ErrorResponse_1, exports);
2633
2727
  __exportStar(Event_1, exports);
2634
2728
  __exportStar(EventConfirmation_1, exports);
2729
+ __exportStar(EventObject_1, exports);
2730
+ __exportStar(EventType, exports);
2635
2731
  __exportStar(FilterAction, exports);
2636
2732
  __exportStar(FilterEvent_1, exports);
2637
2733
  __exportStar(FilterEventAllOf_1, exports);
2638
2734
  __exportStar(FilterKind, exports);
2639
2735
  __exportStar(ProductClickEvent_1, exports);
2736
+ __exportStar(ProductLoadEvent_1, exports);
2737
+ __exportStar(ProductLoadEventAllOf_1, exports);
2640
2738
  __exportStar(ProductViewEvent_1, exports);
2641
- __exportStar(ProductViewEventAllOf_1, exports);
2642
2739
  __exportStar(SearchArea, exports);
2643
2740
  __exportStar(SearchEvent_1, exports);
2644
2741
  __exportStar(SearchEventAllOf_1, exports);
@@ -2651,11 +2748,13 @@ var ErrorObject_1$1 = ErrorObject_1;
2651
2748
  var ErrorResponse_1$1 = ErrorResponse_1;
2652
2749
  var Event_1$1 = Event_1;
2653
2750
  var EventConfirmation_1$1 = EventConfirmation_1;
2751
+ var EventObject_1$1 = EventObject_1;
2654
2752
  var FilterEvent_1$1 = FilterEvent_1;
2655
2753
  var FilterEventAllOf_1$1 = FilterEventAllOf_1;
2656
2754
  var ProductClickEvent_1$1 = ProductClickEvent_1;
2755
+ var ProductLoadEvent_1$1 = ProductLoadEvent_1;
2756
+ var ProductLoadEventAllOf_1$1 = ProductLoadEventAllOf_1;
2657
2757
  var ProductViewEvent_1$1 = ProductViewEvent_1;
2658
- var ProductViewEventAllOf_1$1 = ProductViewEventAllOf_1;
2659
2758
  var SearchEvent_1$1 = SearchEvent_1;
2660
2759
  var SearchEventAllOf_1$1 = SearchEventAllOf_1;
2661
2760
  var WidgetEvent_1$1 = WidgetEvent_1;
@@ -2677,6 +2776,7 @@ var supportedMediaTypes = {
2677
2776
  };
2678
2777
  var enumsMap = new Set([
2679
2778
  "EventConfirmationStatusEnum",
2779
+ "EventType",
2680
2780
  "FilterAction",
2681
2781
  "FilterKind",
2682
2782
  "SearchArea",
@@ -2689,11 +2789,13 @@ var typeMap = {
2689
2789
  "ErrorResponse": ErrorResponse_1$1.ErrorResponse,
2690
2790
  "Event": Event_1$1.Event,
2691
2791
  "EventConfirmation": EventConfirmation_1$1.EventConfirmation,
2792
+ "EventObject": EventObject_1$1.EventObject,
2692
2793
  "FilterEvent": FilterEvent_1$1.FilterEvent,
2693
2794
  "FilterEventAllOf": FilterEventAllOf_1$1.FilterEventAllOf,
2694
2795
  "ProductClickEvent": ProductClickEvent_1$1.ProductClickEvent,
2796
+ "ProductLoadEvent": ProductLoadEvent_1$1.ProductLoadEvent,
2797
+ "ProductLoadEventAllOf": ProductLoadEventAllOf_1$1.ProductLoadEventAllOf,
2695
2798
  "ProductViewEvent": ProductViewEvent_1$1.ProductViewEvent,
2696
- "ProductViewEventAllOf": ProductViewEventAllOf_1$1.ProductViewEventAllOf,
2697
2799
  "SearchEvent": SearchEvent_1$1.SearchEvent,
2698
2800
  "SearchEventAllOf": SearchEventAllOf_1$1.SearchEventAllOf,
2699
2801
  "WidgetEvent": WidgetEvent_1$1.WidgetEvent,
@@ -2963,7 +3065,7 @@ var DefaultApiRequestFactory = (function (_super) {
2963
3065
  function DefaultApiRequestFactory() {
2964
3066
  return _super !== null && _super.apply(this, arguments) || this;
2965
3067
  }
2966
- DefaultApiRequestFactory.prototype.trackEvent = function (product_view_event___product_click_event___widget_event___filter_event___search_event, _options) {
3068
+ DefaultApiRequestFactory.prototype.trackEvent = function (product_load_event___product_view_event___product_click_event___widget_event___filter_event___search_event, _options) {
2967
3069
  var _a, _b, _c;
2968
3070
  return __awaiter(this, void 0, void 0, function () {
2969
3071
  var _config, localVarPath, requestContext, contentType, serializedBody, authMethod, defaultAuth;
@@ -2978,7 +3080,7 @@ var DefaultApiRequestFactory = (function (_super) {
2978
3080
  "application/json"
2979
3081
  ]);
2980
3082
  requestContext.setHeaderParam("Content-Type", contentType);
2981
- serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(product_view_event___product_click_event___widget_event___filter_event___search_event, "ProductViewEvent | ProductClickEvent | WidgetEvent | FilterEvent | SearchEvent", ""), contentType);
3083
+ serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(product_load_event___product_view_event___product_click_event___widget_event___filter_event___search_event, "ProductLoadEvent | ProductViewEvent | ProductClickEvent | WidgetEvent | FilterEvent | SearchEvent", ""), contentType);
2982
3084
  requestContext.setBody(serializedBody);
2983
3085
  authMethod = _config.authMethods["bearerAuth"];
2984
3086
  if (!(authMethod === null || authMethod === void 0 ? void 0 : authMethod.applySecurityAuthentication)) return [3, 2];
@@ -3064,9 +3166,9 @@ var ObservableDefaultApi = (function () {
3064
3166
  this.requestFactory = requestFactory || new DefaultApi.DefaultApiRequestFactory(configuration);
3065
3167
  this.responseProcessor = responseProcessor || new DefaultApi.DefaultApiResponseProcessor();
3066
3168
  }
3067
- ObservableDefaultApi.prototype.trackEvent = function (product_view_event___product_click_event___widget_event___filter_event___search_event, _options) {
3169
+ ObservableDefaultApi.prototype.trackEvent = function (product_load_event___product_view_event___product_click_event___widget_event___filter_event___search_event, _options) {
3068
3170
  var _this = this;
3069
- var requestContextPromise = this.requestFactory.trackEvent(product_view_event___product_click_event___widget_event___filter_event___search_event, _options);
3171
+ var requestContextPromise = this.requestFactory.trackEvent(product_load_event___product_view_event___product_click_event___widget_event___filter_event___search_event, _options);
3070
3172
  var middlewarePreObservable = (0, rxjsStub.from)(requestContextPromise);
3071
3173
  var _loop_1 = function (middleware) {
3072
3174
  middlewarePreObservable = middlewarePreObservable.pipe((0, rxjsStub_2.mergeMap)(function (ctx) { return middleware.pre(ctx); }));
@@ -3102,8 +3204,8 @@ var PromiseDefaultApi = (function () {
3102
3204
  function PromiseDefaultApi(configuration, requestFactory, responseProcessor) {
3103
3205
  this.api = new ObservableAPI.ObservableDefaultApi(configuration, requestFactory, responseProcessor);
3104
3206
  }
3105
- PromiseDefaultApi.prototype.trackEvent = function (product_view_event___product_click_event___widget_event___filter_event___search_event, _options) {
3106
- var result = this.api.trackEvent(product_view_event___product_click_event___widget_event___filter_event___search_event, _options);
3207
+ PromiseDefaultApi.prototype.trackEvent = function (product_load_event___product_view_event___product_click_event___widget_event___filter_event___search_event, _options) {
3208
+ var result = this.api.trackEvent(product_load_event___product_view_event___product_click_event___widget_event___filter_event___search_event, _options);
3107
3209
  return result.toPromise();
3108
3210
  };
3109
3211
  return PromiseDefaultApi;
@@ -3174,19 +3276,23 @@ const createTrackingEvent = (widget) => (eventData) => {
3174
3276
 
3175
3277
  const PRODUCT_CLICK_EVENT_TYPE = "product_click_event";
3176
3278
  const PRODUCT_VIEW_EVENT_TYPE = "product_view_event";
3177
- const FILTER_EVENT_EVENT_TYPE = "filter_event";
3178
- const SEARCH_EVENT_EVENT_TYPE = "search_event";
3179
- const WIDGET_EVENT_EVENT_TYPE = "widget_event";
3279
+ const FILTER_EVENT_TYPE = "filter_event";
3280
+ const SEARCH_EVENT_TYPE = "search_event";
3281
+ const WIDGET_EVENT_TYPE = "widget_event";
3180
3282
 
3181
3283
  const filterEvent = {
3182
3284
  widget: "VPS",
3183
- typ: FILTER_EVENT_EVENT_TYPE,
3285
+ typ: FILTER_EVENT_TYPE,
3184
3286
  };
3185
3287
 
3186
3288
  const vprProductView = {
3187
3289
  widget: "VPR",
3188
3290
  typ: PRODUCT_VIEW_EVENT_TYPE,
3189
3291
  };
3292
+ const vpcProductView = {
3293
+ widget: "VPC",
3294
+ typ: PRODUCT_VIEW_EVENT_TYPE,
3295
+ };
3190
3296
  const vpsProductView = {
3191
3297
  widget: "VPS",
3192
3298
  typ: PRODUCT_VIEW_EVENT_TYPE,
@@ -3195,6 +3301,10 @@ const vprProductClick = {
3195
3301
  widget: "VPR",
3196
3302
  typ: PRODUCT_CLICK_EVENT_TYPE,
3197
3303
  };
3304
+ const vpcProductClick = {
3305
+ widget: "VPC",
3306
+ typ: PRODUCT_CLICK_EVENT_TYPE,
3307
+ };
3198
3308
  const vpsProductClick = {
3199
3309
  widget: "VPS",
3200
3310
  typ: PRODUCT_CLICK_EVENT_TYPE,
@@ -3202,34 +3312,44 @@ const vpsProductClick = {
3202
3312
 
3203
3313
  const searchEvent = {
3204
3314
  widget: "VPS",
3205
- typ: SEARCH_EVENT_EVENT_TYPE,
3315
+ typ: SEARCH_EVENT_TYPE,
3206
3316
  };
3207
3317
 
3208
3318
  const vprWidget = {
3209
3319
  widget: "VPR",
3210
- typ: WIDGET_EVENT_EVENT_TYPE,
3320
+ typ: WIDGET_EVENT_TYPE,
3321
+ };
3322
+ const vpcWidget = {
3323
+ widget: "VPC",
3324
+ typ: WIDGET_EVENT_TYPE,
3211
3325
  };
3212
3326
  const vpsWidget = {
3213
3327
  widget: "VPS",
3214
- typ: WIDGET_EVENT_EVENT_TYPE,
3328
+ typ: WIDGET_EVENT_TYPE,
3215
3329
  };
3216
3330
 
3217
3331
  const createProductViewVprEvent = createTrackingEvent(vprProductView);
3218
3332
  const createProductViewVpsEvent = createTrackingEvent(vpsProductView);
3333
+ const createProductViewVpcEvent = createTrackingEvent(vpcProductView);
3219
3334
  const createProductClickVprEvent = createTrackingEvent(vprProductClick);
3220
3335
  const createProductClickVpsEvent = createTrackingEvent(vpsProductClick);
3336
+ const createProductClickVpcEvent = createTrackingEvent(vpcProductClick);
3221
3337
  const createWidgetVprEvent = createTrackingEvent(vprWidget);
3222
3338
  const createWidgetVpsEvent = createTrackingEvent(vpsWidget);
3339
+ const createWidgetVpcEvent = createTrackingEvent(vpcWidget);
3223
3340
  const createSearchEvent = createTrackingEvent(searchEvent);
3224
3341
  const createFilterEvent = createTrackingEvent(filterEvent);
3225
3342
 
3226
3343
  exports.createFilterEvent = createFilterEvent;
3344
+ exports.createProductClickVpcEvent = createProductClickVpcEvent;
3227
3345
  exports.createProductClickVprEvent = createProductClickVprEvent;
3228
3346
  exports.createProductClickVpsEvent = createProductClickVpsEvent;
3347
+ exports.createProductViewVpcEvent = createProductViewVpcEvent;
3229
3348
  exports.createProductViewVprEvent = createProductViewVprEvent;
3230
3349
  exports.createProductViewVpsEvent = createProductViewVpsEvent;
3231
3350
  exports.createSearchEvent = createSearchEvent;
3232
3351
  exports.createTrackingApi = createTrackingApi;
3352
+ exports.createWidgetVpcEvent = createWidgetVpcEvent;
3233
3353
  exports.createWidgetVprEvent = createWidgetVprEvent;
3234
3354
  exports.createWidgetVpsEvent = createWidgetVpsEvent;
3235
3355
  exports.v4 = v4;
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const version = "2.21.0";
3
+ const version = "2.22.2";
4
4
 
5
5
  exports.version = version;
@@ -7,9 +7,9 @@ const imageSearch_store = require('./imageSearch.store-cc9b4a68.js');
7
7
  const index$1 = require('./index-6cfe5293.js');
8
8
  const Campaign = require('./Campaign-778b5b2c.js');
9
9
  const i18next = require('./i18next-74ff3413.js');
10
- const _package = require('./package-3381595c.js');
10
+ const _package = require('./package-8a334970.js');
11
11
  const Handler = require('./Handler-de64afa5.js');
12
- const index$2 = require('./index-3e976225.js');
12
+ const index$2 = require('./index-0659dc39.js');
13
13
 
14
14
  const vviinnCarouselCss = ":host{--vviinn-progressbar-width:0;--vviinn-carousel-item-width:150px;--vviinn-carousel-columns-internal:var(--vviinn-carousel-columns, 4);--vviinn-carousel-image-width-system:140px}.body{display:flex;position:relative;width:var(--vviinn-carousel-content-width);flex-direction:column}.content-wrapper *{box-sizing:border-box}.content-wrapper{overflow-y:hidden;overflow-x:auto;flex-grow:1}.bullets{margin-top:16px;display:flex;flex-direction:row;grid-gap:24px;justify-content:center}.bullet{width:10px;height:10px;background:#e0e0e0;border-radius:50%;cursor:pointer}.bullet.active{background:#161616}.content:not(.show-scrollbar),.content.grid{scrollbar-color:#fff0 #fff0}.content:not(.show-scrollbar)::-webkit-scrollbar,.content.grid::-webkit-scrollbar{opacity:0}.content{display:flex;flex-direction:row;grid-gap:8px;overflow-y:hidden;overflow-x:auto;flex-grow:1;padding-bottom:16px}.content.left>*{scroll-snap-align:start}.content.right>*{scroll-snap-align:end}:host(.continuity) button{border-radius:2px}:host(.grid) button{border-radius:50%}button{align-items:center;background-color:white;border:none;box-shadow:0px 2px 6px rgba(0, 0, 0, 0.15);cursor:pointer;display:grid;height:40px;justify-items:center;position:absolute;top:calc(50% - 20px);width:40px;z-index:1;padding:0;margin:0}button{fill:#525252}button:disabled{display:none}button.prev svg{transform:rotate(180deg);margin-left:-5px}.prev{left:0}.next{right:0}.items-group{display:grid;grid-gap:16px;grid-template-columns:repeat(var(--vviinn-carousel-columns-internal), 1fr);min-width:100%}vviinn-product-card::part(price-container){text-align:center}:host(.classic) vviinn-product-card::part(title),:host(.classic) vviinn-product-card::part(brand),:host(.classic) vviinn-product-card::part(type){text-align:center}@media (max-width: 480px){:host(.modern) button{display:none}.items-group{grid-template-columns:repeat(2, 1fr)}}";
15
15
 
@@ -1295,14 +1295,28 @@ const VviinnVprWidget = class {
1295
1295
  if (this.trackingDeactivated)
1296
1296
  return;
1297
1297
  const { productRank, productId, productName, widgetType, widgetId, campaignTypeId, campaignTypeName } = detail, rest = __rest(detail, ["productRank", "productId", "productName", "widgetType", "widgetId", "campaignTypeId", "campaignTypeName"]);
1298
- const productViewEvent = index$2.createProductViewVprEvent(Object.assign({ session_id: this.uiSessionId, rank: productRank, product: productId }, rest));
1298
+ const eventBody = Object.assign({ session_id: this.uiSessionId, rank: productRank, product: productId }, rest);
1299
+ let productViewEvent;
1300
+ if (campaignTypeId === "VCS") {
1301
+ productViewEvent = index$2.createProductViewVpcEvent(eventBody);
1302
+ }
1303
+ else if (campaignTypeId === "VPR") {
1304
+ productViewEvent = index$2.createProductViewVprEvent(eventBody);
1305
+ }
1299
1306
  this.trackingApi
1300
1307
  .trackEvent(productViewEvent)
1301
1308
  .then(this.setTrackingDeactivated);
1302
1309
  }
1303
1310
  async trackProductClick({ detail }) {
1304
1311
  const { productRank, productId, productName, widgetType, widgetId, campaignTypeId, campaignTypeName } = detail, rest = __rest(detail, ["productRank", "productId", "productName", "widgetType", "widgetId", "campaignTypeId", "campaignTypeName"]);
1305
- const productClickEvent = index$2.createProductClickVprEvent(Object.assign({ session_id: this.uiSessionId, rank: productRank, product: productId }, rest));
1312
+ const eventBody = Object.assign({ session_id: this.uiSessionId, rank: productRank, product: productId }, rest);
1313
+ let productClickEvent;
1314
+ if (campaignTypeId === "VCS") {
1315
+ productClickEvent = index$2.createProductClickVpcEvent(eventBody);
1316
+ }
1317
+ else if (campaignTypeId === "VPR") {
1318
+ productClickEvent = index$2.createProductClickVprEvent(eventBody);
1319
+ }
1306
1320
  const product = this.recommendations.find((r) => r.productId === detail.productId);
1307
1321
  if (!product || !product.deeplink)
1308
1322
  return;
@@ -1326,28 +1340,42 @@ const VviinnVprWidget = class {
1326
1340
  this.id = (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.el.id;
1327
1341
  this.uiSessionId = index$2.v4();
1328
1342
  this.trackingApi = index$2.createTrackingApi(this.apiPath, this.token);
1329
- if (this.trackingDeactivated)
1343
+ i18next.instance.init({
1344
+ lng: this.locale,
1345
+ fallbackLng: "de-DE",
1346
+ resources,
1347
+ });
1348
+ if (this.trackingDeactivated || !this.showingInButton)
1330
1349
  return;
1331
- const widgetOpenEvent = index$2.createWidgetVprEvent({
1350
+ const eventBody = {
1332
1351
  action: "open",
1333
1352
  session_id: this.uiSessionId,
1334
- });
1353
+ };
1354
+ let widgetOpenEvent;
1355
+ if (this.campaignType === "VCS") {
1356
+ widgetOpenEvent = index$2.createWidgetVpcEvent(eventBody);
1357
+ }
1358
+ else if (this.campaignType === "VPR") {
1359
+ widgetOpenEvent = index$2.createWidgetVprEvent(eventBody);
1360
+ }
1335
1361
  this.trackingApi
1336
1362
  .trackEvent(widgetOpenEvent)
1337
1363
  .then(this.setTrackingDeactivated);
1338
- i18next.instance.init({
1339
- lng: this.locale,
1340
- fallbackLng: "de-DE",
1341
- resources,
1342
- });
1343
1364
  }
1344
1365
  disconnectedCallback() {
1345
1366
  if (this.trackingDeactivated)
1346
1367
  return;
1347
- const widgetCloseEvent = index$2.createWidgetVprEvent({
1368
+ const eventBody = {
1348
1369
  action: "close",
1349
1370
  session_id: this.uiSessionId,
1350
- });
1371
+ };
1372
+ let widgetCloseEvent;
1373
+ if (this.campaignType === "VCS") {
1374
+ widgetCloseEvent = index$2.createWidgetVpcEvent(eventBody);
1375
+ }
1376
+ else if (this.campaignType === "VPR") {
1377
+ widgetCloseEvent = index$2.createWidgetVprEvent(eventBody);
1378
+ }
1351
1379
  this.trackingApi
1352
1380
  .trackEvent(widgetCloseEvent)
1353
1381
  .then(this.setTrackingDeactivated);
@@ -61,7 +61,7 @@ const RecommendationsSidebar = class {
61
61
  return (_a = this.el.shadowRoot.querySelector("aside")) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
62
62
  }
63
63
  render() {
64
- return (index.h(index.Host, { class: this.getClassMap() }, index.h("aside", { class: "sidebar", part: "body", onAnimationEnd: (e) => this.handleAnimationEnd(e) }, index.h("header", { class: { "contains-source-img": this.isSourceImageValid() }, part: "sidebar-header" }, this.isSourceImageValid() ? this.renderSourceImage() : null, index.h("span", { class: "title", part: "title" }, this.sidebarTitle), index.h("button", { class: "close-sidebar", onClick: () => (this.state = "closed") }, index.h(index$1.CrossIcon, null))), index.h("main", { part: "sidebar-content" }, index.h("vviinn-vpr-widget", { exportparts: "brand, currency, deeplink, image, image-link, price-amount, price-container, price-prefix, price-outdated, price-regular, price-sale, title: product-title, carousel-button, product-card, items-group", token: this.token, productId: this.productId, imageWidth: this.imageWidth, blockTitle: "", mode: this.mode, useCarousel: this.position === "bottom", onVviinnRecommendationsLoaded: () => (this.state = "open"), showScroll: this.widgetScrollbar, campaigns: this.campaigns, color: this.color, currencySign: this.currencySign, apiPath: this.apiPath, locale: this.locale, buttonElementId: this.buttonElementId, noResultText: this.noResultText, noResultShow: this.noResultShow, gridArrowsDynamic: this.gridArrowsDynamic, showingInButton: this.showingInButton, excluded: this.excluded, productDetailNewTab: this.productDetailNewTab })))));
64
+ return (index.h(index.Host, { class: this.getClassMap() }, index.h("aside", { class: "sidebar", part: "body", onAnimationEnd: (e) => this.handleAnimationEnd(e) }, index.h("header", { class: { "contains-source-img": this.isSourceImageValid() }, part: "sidebar-header" }, this.isSourceImageValid() ? this.renderSourceImage() : null, index.h("span", { class: "title", part: "title" }, this.sidebarTitle), index.h("button", { class: "close-sidebar", onClick: () => (this.state = "closed") }, index.h(index$1.CrossIcon, null))), index.h("main", { part: "sidebar-content" }, index.h("vviinn-vpr-widget", { exportparts: "brand, currency, deeplink, image, image-link, price-amount, price-container, price-prefix, price-outdated, price-regular, price-sale, title: product-title, carousel-button, product-card, items-group", token: this.token, productId: this.productId, imageWidth: this.imageWidth, blockTitle: "", mode: this.mode, "campaign-type": this.campaignType, useCarousel: this.position === "bottom", onVviinnRecommendationsLoaded: () => (this.state = "open"), showScroll: this.widgetScrollbar, campaigns: this.campaigns, color: this.color, currencySign: this.currencySign, apiPath: this.apiPath, locale: this.locale, buttonElementId: this.buttonElementId, noResultText: this.noResultText, noResultShow: this.noResultShow, gridArrowsDynamic: this.gridArrowsDynamic, showingInButton: this.showingInButton, excluded: this.excluded, productDetailNewTab: this.productDetailNewTab })))));
65
65
  }
66
66
  renderSourceImage() {
67
67
  return (index.h("img", { class: "source-image", part: "source-image", src: this.sourceImage }));
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a4becaff.js');
6
- const _package = require('./package-3381595c.js');
6
+ const _package = require('./package-8a334970.js');
7
7
  const index$1 = require('./index-6cfe5293.js');
8
8
 
9
9
  const vviinnVprButtonCss = ":host{display:block}";
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a4becaff.js');
6
- const _package = require('./package-3381595c.js');
6
+ const _package = require('./package-8a334970.js');
7
7
  const index$1 = require('./index-6cfe5293.js');
8
8
  const customizedSlots = require('./customized-slots-aee3f39d.js');
9
9
  const Campaign = require('./Campaign-778b5b2c.js');
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-a4becaff.js');
6
6
  const imageSearch_store = require('./imageSearch.store-cc9b4a68.js');
7
7
  const i18next = require('./i18next-74ff3413.js');
8
- const _package = require('./package-3381595c.js');
8
+ const _package = require('./package-8a334970.js');
9
9
  const customizedSlots = require('./customized-slots-aee3f39d.js');
10
- const index$1 = require('./index-3e976225.js');
10
+ const index$1 = require('./index-0659dc39.js');
11
11
  const Campaign = require('./Campaign-778b5b2c.js');
12
12
  require('./Handler-de64afa5.js');
13
13
 
@@ -248,6 +248,11 @@ const VviinnVpsWidget = class {
248
248
  imageSearch_store.state.apiPath = this.apiPath;
249
249
  imageSearch_store.state.currencySign = this.currencySign;
250
250
  imageSearch_store.state.locale = this.locale;
251
+ i18next.instance.init({
252
+ lng: this.locale,
253
+ fallbackLng: "de-DE",
254
+ resources,
255
+ });
251
256
  imageSearch_store.imageSearchState.token = this.token;
252
257
  imageSearch_store.imageSearchState.campaignId = imageSearch_store._function.pipe(this.campaignId, imageSearch_store.Option.fromNullable, imageSearch_store.Option.chain(imageSearch_store.Option.fromPredicate(notEmptyString)), imageSearch_store.Option.map(filterInt), imageSearch_store.Option.chain(imageSearch_store.Option.fromPredicate(notNan)), imageSearch_store.Option.map((s) => `${s}`));
253
258
  if (this.excluded) {
@@ -257,11 +262,6 @@ const VviinnVpsWidget = class {
257
262
  this.uiSessionId = index$1.v4();
258
263
  this.trackingApi = index$1.createTrackingApi(this.apiPath, this.token);
259
264
  this.id = this.el.id;
260
- i18next.instance.init({
261
- lng: this.locale,
262
- fallbackLng: "de-DE",
263
- resources,
264
- });
265
265
  }
266
266
  componentWillLoad() {
267
267
  customizedSlots.slotChangeListener(this, this.el);
@@ -52,7 +52,7 @@ export class RecommendationsSidebar {
52
52
  return (_a = this.el.shadowRoot.querySelector("aside")) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
53
53
  }
54
54
  render() {
55
- return (h(Host, { class: this.getClassMap() }, h("aside", { class: "sidebar", part: "body", onAnimationEnd: (e) => this.handleAnimationEnd(e) }, h("header", { class: { "contains-source-img": this.isSourceImageValid() }, part: "sidebar-header" }, this.isSourceImageValid() ? this.renderSourceImage() : null, h("span", { class: "title", part: "title" }, this.sidebarTitle), h("button", { class: "close-sidebar", onClick: () => (this.state = "closed") }, h(CrossIcon, null))), h("main", { part: "sidebar-content" }, h("vviinn-vpr-widget", { exportparts: "brand, currency, deeplink, image, image-link, price-amount, price-container, price-prefix, price-outdated, price-regular, price-sale, title: product-title, carousel-button, product-card, items-group", token: this.token, productId: this.productId, imageWidth: this.imageWidth, blockTitle: "", mode: this.mode, useCarousel: this.position === "bottom", onVviinnRecommendationsLoaded: () => (this.state = "open"), showScroll: this.widgetScrollbar, campaigns: this.campaigns, color: this.color, currencySign: this.currencySign, apiPath: this.apiPath, locale: this.locale, buttonElementId: this.buttonElementId, noResultText: this.noResultText, noResultShow: this.noResultShow, gridArrowsDynamic: this.gridArrowsDynamic, showingInButton: this.showingInButton, excluded: this.excluded, productDetailNewTab: this.productDetailNewTab })))));
55
+ return (h(Host, { class: this.getClassMap() }, h("aside", { class: "sidebar", part: "body", onAnimationEnd: (e) => this.handleAnimationEnd(e) }, h("header", { class: { "contains-source-img": this.isSourceImageValid() }, part: "sidebar-header" }, this.isSourceImageValid() ? this.renderSourceImage() : null, h("span", { class: "title", part: "title" }, this.sidebarTitle), h("button", { class: "close-sidebar", onClick: () => (this.state = "closed") }, h(CrossIcon, null))), h("main", { part: "sidebar-content" }, h("vviinn-vpr-widget", { exportparts: "brand, currency, deeplink, image, image-link, price-amount, price-container, price-prefix, price-outdated, price-regular, price-sale, title: product-title, carousel-button, product-card, items-group", token: this.token, productId: this.productId, imageWidth: this.imageWidth, blockTitle: "", mode: this.mode, "campaign-type": this.campaignType, useCarousel: this.position === "bottom", onVviinnRecommendationsLoaded: () => (this.state = "open"), showScroll: this.widgetScrollbar, campaigns: this.campaigns, color: this.color, currencySign: this.currencySign, apiPath: this.apiPath, locale: this.locale, buttonElementId: this.buttonElementId, noResultText: this.noResultText, noResultShow: this.noResultShow, gridArrowsDynamic: this.gridArrowsDynamic, showingInButton: this.showingInButton, excluded: this.excluded, productDetailNewTab: this.productDetailNewTab })))));
56
56
  }
57
57
  renderSourceImage() {
58
58
  return (h("img", { class: "source-image", part: "source-image", src: this.sourceImage }));
@@ -237,10 +237,10 @@ export class RecommendationsSidebar {
237
237
  "type": "string",
238
238
  "mutable": false,
239
239
  "complexType": {
240
- "original": "CampaignTypeId",
241
- "resolved": "\"VCS\" | \"VPR\" | \"VPS\"",
240
+ "original": "CampaignName",
241
+ "resolved": "\"VCS\" | \"VPR\"",
242
242
  "references": {
243
- "CampaignTypeId": {
243
+ "CampaignName": {
244
244
  "location": "import",
245
245
  "path": "../../../campaign/Campaign"
246
246
  }