@ikas/storefront 1.0.6-alpha.3 → 1.0.7

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.
package/build/index.es.js CHANGED
@@ -36792,26 +36792,30 @@ var IkasProductDetail = /** @class */ (function () {
36792
36792
  Object.defineProperty(IkasProductDetail.prototype, "displayedVariantTypes", {
36793
36793
  get: function () {
36794
36794
  var _this = this;
36795
- var displayedVariantTypes = this.product.variantTypes.map(function (productVariantType) {
36795
+ var displayedVariantTypes = this.product.variantTypes.map(function (productVariantType, index) {
36796
36796
  var variantType = productVariantType.variantType;
36797
36797
  var displayedVariantValues = [];
36798
+ var parentProductVariantTypes = index > 0 ? _this.product.variantTypes.slice(0, index) : null;
36799
+ var parentSelectedVariantValues = [];
36800
+ if (parentProductVariantTypes) {
36801
+ parentSelectedVariantValues = _this.selectedVariantValues.filter(function (vv) {
36802
+ return parentProductVariantTypes.some(function (pvt) { return pvt.variantType.id === vv.variantTypeId; });
36803
+ });
36804
+ }
36798
36805
  variantType.values.forEach(function (variantValue) {
36799
- var otherSelectedVariantValues = _this.selectedVariantValues.filter(function (vv) { return vv.variantTypeId !== variantType.id; });
36800
- var allVariantValues = otherSelectedVariantValues.concat(variantValue);
36801
- var variant = _this.product.variants.find(function (v) {
36802
- return v.variantValues.every(function (vv) {
36803
- return allVariantValues.some(function (avv) { return avv.id === vv.id; });
36804
- });
36806
+ var variantValues = __spreadArrays(parentSelectedVariantValues, [variantValue]);
36807
+ var variant = _this.product.variants.find(function (variant) {
36808
+ return variant.isActive &&
36809
+ variantValues.every(function (vv) {
36810
+ return variant.variantValues.some(function (vvv) { return vvv.id === vv.id; });
36811
+ });
36805
36812
  });
36806
36813
  var isSelected = _this.selectedVariant.variantValues.some(function (vv) { return vv.id === variantValue.id; });
36807
- var hasStock = variant
36808
- ? variant.stock > 0 && variant.isActive
36809
- : true;
36810
36814
  if (variant) {
36811
36815
  displayedVariantValues.push({
36812
36816
  variant: variant,
36813
36817
  variantValue: variantValue,
36814
- hasStock: hasStock,
36818
+ hasStock: variant.hasStock,
36815
36819
  isSelected: isSelected,
36816
36820
  });
36817
36821
  }
@@ -36875,15 +36879,59 @@ var IkasProductDetail = /** @class */ (function () {
36875
36879
  return variantValue;
36876
36880
  return vv;
36877
36881
  });
36878
- this.selectedVariantValues = selectedVariantValues;
36882
+ var selectedVariant = this.product.variants.find(function (variant) {
36883
+ return variant.isActive &&
36884
+ selectedVariantValues.every(function (selectedVariantValue) {
36885
+ return variant.variantValues.some(function (vvv) { return vvv.id === selectedVariantValue.id; });
36886
+ });
36887
+ });
36888
+ if (selectedVariant) {
36889
+ this.selectedVariantValues = selectedVariantValues;
36890
+ }
36891
+ else {
36892
+ var variantTypeIndex = this.product.variantTypes.findIndex(function (pvt) { return pvt.variantType.id === variantValue.variantTypeId; });
36893
+ if (variantTypeIndex > 0) {
36894
+ var parentVariantTypes_1 = this.product.variantTypes.slice(0, variantTypeIndex);
36895
+ var selectedParentVariantValues = this.selectedVariantValues.filter(function (vv) {
36896
+ return parentVariantTypes_1.some(function (pvt) { return pvt.variantType.id === vv.variantTypeId; });
36897
+ });
36898
+ var allVariantValues_1 = __spreadArrays(selectedParentVariantValues, [variantValue]);
36899
+ selectedVariant = this.product.variants.find(function (variant) {
36900
+ return variant.isActive &&
36901
+ allVariantValues_1.every(function (avv) {
36902
+ return variant.variantValues.some(function (vv) { return vv.id === avv.id; });
36903
+ });
36904
+ });
36905
+ }
36906
+ else {
36907
+ // Try to find a variant by only changing the last variant value
36908
+ // This helps with UX
36909
+ var notLastVariantValues_1 = selectedVariantValues.slice(0, selectedVariantValues.length - 1);
36910
+ selectedVariant = this.product.variants.find(function (variant) {
36911
+ return variant.isActive &&
36912
+ notLastVariantValues_1.every(function (nlvv) {
36913
+ return variant.variantValues.some(function (vv) { return vv.id === nlvv.id; });
36914
+ });
36915
+ });
36916
+ if (!selectedVariant)
36917
+ selectedVariant = this.product.variants.find(function (variant) {
36918
+ return variant.isActive &&
36919
+ variant.variantValues.some(function (vv) { return vv.id === variantValue.id; });
36920
+ });
36921
+ }
36922
+ if (selectedVariant)
36923
+ this.selectedVariantValues = selectedVariant.variantValues;
36924
+ else
36925
+ return; // This case should not happen
36926
+ }
36879
36927
  var variantParams = this.product.variantTypes
36880
36928
  .map(function (pvt) {
36881
36929
  var vt = pvt.variantType;
36882
- var selectedVariant = vt.values.find(function (vv) {
36930
+ var selectedVariantValue = vt.values.find(function (vv) {
36883
36931
  return _this.selectedVariantValues.some(function (svv) { return svv.id === vv.id; });
36884
36932
  });
36885
- if (selectedVariant)
36886
- return vt.slug + "=" + selectedVariant.slug;
36933
+ if (selectedVariantValue)
36934
+ return vt.slug + "=" + selectedVariantValue.slug;
36887
36935
  })
36888
36936
  .filter(function (param) { return !!param; })
36889
36937
  .join("&");
@@ -38182,7 +38230,9 @@ var IkasProductList = /** @class */ (function () {
38182
38230
  }
38183
38231
  else {
38184
38232
  data = response_1.data.map(function (product) {
38185
- return new IkasProductDetail(product, product.variants[0].variantValues);
38233
+ var selectedVariant = product.variants.find(function (v) { return v.isActive; });
38234
+ var productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
38235
+ return productDetail;
38186
38236
  });
38187
38237
  }
38188
38238
  this.applyFacets(response_1.facets);
@@ -38230,7 +38280,9 @@ var IkasProductList = /** @class */ (function () {
38230
38280
  if (!response)
38231
38281
  return [2 /*return*/];
38232
38282
  data = response.data.map(function (product) {
38233
- return new IkasProductDetail(product, product.variants[0].variantValues);
38283
+ var selectedVariant = product.variants.find(function (v) { return v.isActive; });
38284
+ var productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
38285
+ return productDetail;
38234
38286
  });
38235
38287
  this.data = data.concat(this.data);
38236
38288
  this._count = response.count;
@@ -38269,7 +38321,9 @@ var IkasProductList = /** @class */ (function () {
38269
38321
  if (!response)
38270
38322
  return [2 /*return*/];
38271
38323
  data = response.data.map(function (product) {
38272
- return new IkasProductDetail(product, product.variants[0].variantValues);
38324
+ var selectedVariant = product.variants.find(function (v) { return v.isActive; });
38325
+ var productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
38326
+ return productDetail;
38273
38327
  });
38274
38328
  this.data = this.data.concat(data);
38275
38329
  this._count = response.count;
@@ -38307,7 +38361,9 @@ var IkasProductList = /** @class */ (function () {
38307
38361
  if (!response)
38308
38362
  return [2 /*return*/];
38309
38363
  data = response.data.map(function (product) {
38310
- return new IkasProductDetail(product, product.variants[0].variantValues);
38364
+ var selectedVariant = product.variants.find(function (v) { return v.isActive; });
38365
+ var productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
38366
+ return productDetail;
38311
38367
  });
38312
38368
  this.data = data;
38313
38369
  this._count = response.count;
@@ -43821,7 +43877,7 @@ var IkasProductDetailPropValueProvider = /** @class */ (function () {
43821
43877
  IkasProductDetailPropValueProvider.prototype.getValue = function () {
43822
43878
  var _a;
43823
43879
  return __awaiter(this, void 0, void 0, function () {
43824
- var productSearchResponse, productList, product, optionSetResponse, variant;
43880
+ var productSearchResponse, productList, product, optionSetResponse, variant, selectedVariant;
43825
43881
  var _this = this;
43826
43882
  return __generator(this, function (_b) {
43827
43883
  switch (_b.label) {
@@ -43866,9 +43922,10 @@ var IkasProductDetailPropValueProvider = /** @class */ (function () {
43866
43922
  return [2 /*return*/, null];
43867
43923
  }
43868
43924
  else {
43925
+ selectedVariant = product.variants.find(function (v) { return v.isActive; });
43869
43926
  return [2 /*return*/, {
43870
43927
  productDetailPropValue: this.productDetailPropValue,
43871
- productDetail: new IkasProductDetail(product, product.variants[0].variantValues),
43928
+ productDetail: new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues),
43872
43929
  }];
43873
43930
  }
43874
43931
  case 4: return [2 /*return*/, {
@@ -44328,7 +44385,7 @@ var IkasAttributePropValueProvider = /** @class */ (function () {
44328
44385
  IkasAttributePropValueProvider.prototype.getValue = function () {
44329
44386
  var _a;
44330
44387
  return __awaiter(this, void 0, void 0, function () {
44331
- var productDetail, productSearchResponse, productList, product, variant;
44388
+ var productDetail, productSearchResponse, productList, product, variant, selectedVariant;
44332
44389
  var _this = this;
44333
44390
  return __generator(this, function (_b) {
44334
44391
  switch (_b.label) {
@@ -44359,7 +44416,8 @@ var IkasAttributePropValueProvider = /** @class */ (function () {
44359
44416
  }
44360
44417
  }
44361
44418
  else {
44362
- productDetail = new IkasProductDetail(product, product.variants[0].variantValues);
44419
+ selectedVariant = product.variants.find(function (v) { return v.isActive; });
44420
+ productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
44363
44421
  }
44364
44422
  }
44365
44423
  }
@@ -44381,7 +44439,7 @@ var IkasAttributeListPropValueProvider = /** @class */ (function () {
44381
44439
  IkasAttributeListPropValueProvider.prototype.getValue = function () {
44382
44440
  var _a;
44383
44441
  return __awaiter(this, void 0, void 0, function () {
44384
- var productDetail, productSearchResponse, productList, product, variant;
44442
+ var productDetail, productSearchResponse, productList, product, variant, selectedVariant;
44385
44443
  var _this = this;
44386
44444
  return __generator(this, function (_b) {
44387
44445
  switch (_b.label) {
@@ -44413,7 +44471,8 @@ var IkasAttributeListPropValueProvider = /** @class */ (function () {
44413
44471
  }
44414
44472
  }
44415
44473
  else {
44416
- productDetail = new IkasProductDetail(product, product.variants[0].variantValues);
44474
+ selectedVariant = product.variants.find(function (v) { return v.isActive; });
44475
+ productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
44417
44476
  }
44418
44477
  }
44419
44478
  }
@@ -45294,7 +45353,7 @@ var IkasPageDataProvider = /** @class */ (function () {
45294
45353
  if (!metaData.targetId)
45295
45354
  return [2 /*return*/];
45296
45355
  handleProductPage = function () { return __awaiter(_this, void 0, void 0, function () {
45297
- var productsResponse, product, optionSetResponse, displayedVariantType, inStockVariant;
45356
+ var productsResponse, product, optionSetResponse, selectedVariant, displayedVariantType, inStockVariant;
45298
45357
  return __generator(this, function (_a) {
45299
45358
  switch (_a.label) {
45300
45359
  case 0: return [4 /*yield*/, IkasProductSearchAPI.searchProducts({
@@ -45317,7 +45376,10 @@ var IkasPageDataProvider = /** @class */ (function () {
45317
45376
  }
45318
45377
  _a.label = 3;
45319
45378
  case 3:
45320
- this.pageSpecificData = new IkasProductDetail(product, product.variants[0].variantValues);
45379
+ selectedVariant = product.variants.find(function (v) { return v.isActive; });
45380
+ if (!selectedVariant)
45381
+ return [2 /*return*/];
45382
+ this.pageSpecificData = new IkasProductDetail(product, selectedVariant.variantValues);
45321
45383
  // Select the first displayed in stock variant
45322
45384
  if (this.pageSpecificData.displayedVariantTypes.length) {
45323
45385
  displayedVariantType = this
package/build/index.js CHANGED
@@ -36772,26 +36772,30 @@ var IkasProductDetail = /** @class */ (function () {
36772
36772
  Object.defineProperty(IkasProductDetail.prototype, "displayedVariantTypes", {
36773
36773
  get: function () {
36774
36774
  var _this = this;
36775
- var displayedVariantTypes = this.product.variantTypes.map(function (productVariantType) {
36775
+ var displayedVariantTypes = this.product.variantTypes.map(function (productVariantType, index) {
36776
36776
  var variantType = productVariantType.variantType;
36777
36777
  var displayedVariantValues = [];
36778
+ var parentProductVariantTypes = index > 0 ? _this.product.variantTypes.slice(0, index) : null;
36779
+ var parentSelectedVariantValues = [];
36780
+ if (parentProductVariantTypes) {
36781
+ parentSelectedVariantValues = _this.selectedVariantValues.filter(function (vv) {
36782
+ return parentProductVariantTypes.some(function (pvt) { return pvt.variantType.id === vv.variantTypeId; });
36783
+ });
36784
+ }
36778
36785
  variantType.values.forEach(function (variantValue) {
36779
- var otherSelectedVariantValues = _this.selectedVariantValues.filter(function (vv) { return vv.variantTypeId !== variantType.id; });
36780
- var allVariantValues = otherSelectedVariantValues.concat(variantValue);
36781
- var variant = _this.product.variants.find(function (v) {
36782
- return v.variantValues.every(function (vv) {
36783
- return allVariantValues.some(function (avv) { return avv.id === vv.id; });
36784
- });
36786
+ var variantValues = __spreadArrays(parentSelectedVariantValues, [variantValue]);
36787
+ var variant = _this.product.variants.find(function (variant) {
36788
+ return variant.isActive &&
36789
+ variantValues.every(function (vv) {
36790
+ return variant.variantValues.some(function (vvv) { return vvv.id === vv.id; });
36791
+ });
36785
36792
  });
36786
36793
  var isSelected = _this.selectedVariant.variantValues.some(function (vv) { return vv.id === variantValue.id; });
36787
- var hasStock = variant
36788
- ? variant.stock > 0 && variant.isActive
36789
- : true;
36790
36794
  if (variant) {
36791
36795
  displayedVariantValues.push({
36792
36796
  variant: variant,
36793
36797
  variantValue: variantValue,
36794
- hasStock: hasStock,
36798
+ hasStock: variant.hasStock,
36795
36799
  isSelected: isSelected,
36796
36800
  });
36797
36801
  }
@@ -36855,15 +36859,59 @@ var IkasProductDetail = /** @class */ (function () {
36855
36859
  return variantValue;
36856
36860
  return vv;
36857
36861
  });
36858
- this.selectedVariantValues = selectedVariantValues;
36862
+ var selectedVariant = this.product.variants.find(function (variant) {
36863
+ return variant.isActive &&
36864
+ selectedVariantValues.every(function (selectedVariantValue) {
36865
+ return variant.variantValues.some(function (vvv) { return vvv.id === selectedVariantValue.id; });
36866
+ });
36867
+ });
36868
+ if (selectedVariant) {
36869
+ this.selectedVariantValues = selectedVariantValues;
36870
+ }
36871
+ else {
36872
+ var variantTypeIndex = this.product.variantTypes.findIndex(function (pvt) { return pvt.variantType.id === variantValue.variantTypeId; });
36873
+ if (variantTypeIndex > 0) {
36874
+ var parentVariantTypes_1 = this.product.variantTypes.slice(0, variantTypeIndex);
36875
+ var selectedParentVariantValues = this.selectedVariantValues.filter(function (vv) {
36876
+ return parentVariantTypes_1.some(function (pvt) { return pvt.variantType.id === vv.variantTypeId; });
36877
+ });
36878
+ var allVariantValues_1 = __spreadArrays(selectedParentVariantValues, [variantValue]);
36879
+ selectedVariant = this.product.variants.find(function (variant) {
36880
+ return variant.isActive &&
36881
+ allVariantValues_1.every(function (avv) {
36882
+ return variant.variantValues.some(function (vv) { return vv.id === avv.id; });
36883
+ });
36884
+ });
36885
+ }
36886
+ else {
36887
+ // Try to find a variant by only changing the last variant value
36888
+ // This helps with UX
36889
+ var notLastVariantValues_1 = selectedVariantValues.slice(0, selectedVariantValues.length - 1);
36890
+ selectedVariant = this.product.variants.find(function (variant) {
36891
+ return variant.isActive &&
36892
+ notLastVariantValues_1.every(function (nlvv) {
36893
+ return variant.variantValues.some(function (vv) { return vv.id === nlvv.id; });
36894
+ });
36895
+ });
36896
+ if (!selectedVariant)
36897
+ selectedVariant = this.product.variants.find(function (variant) {
36898
+ return variant.isActive &&
36899
+ variant.variantValues.some(function (vv) { return vv.id === variantValue.id; });
36900
+ });
36901
+ }
36902
+ if (selectedVariant)
36903
+ this.selectedVariantValues = selectedVariant.variantValues;
36904
+ else
36905
+ return; // This case should not happen
36906
+ }
36859
36907
  var variantParams = this.product.variantTypes
36860
36908
  .map(function (pvt) {
36861
36909
  var vt = pvt.variantType;
36862
- var selectedVariant = vt.values.find(function (vv) {
36910
+ var selectedVariantValue = vt.values.find(function (vv) {
36863
36911
  return _this.selectedVariantValues.some(function (svv) { return svv.id === vv.id; });
36864
36912
  });
36865
- if (selectedVariant)
36866
- return vt.slug + "=" + selectedVariant.slug;
36913
+ if (selectedVariantValue)
36914
+ return vt.slug + "=" + selectedVariantValue.slug;
36867
36915
  })
36868
36916
  .filter(function (param) { return !!param; })
36869
36917
  .join("&");
@@ -38162,7 +38210,9 @@ var IkasProductList = /** @class */ (function () {
38162
38210
  }
38163
38211
  else {
38164
38212
  data = response_1.data.map(function (product) {
38165
- return new IkasProductDetail(product, product.variants[0].variantValues);
38213
+ var selectedVariant = product.variants.find(function (v) { return v.isActive; });
38214
+ var productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
38215
+ return productDetail;
38166
38216
  });
38167
38217
  }
38168
38218
  this.applyFacets(response_1.facets);
@@ -38210,7 +38260,9 @@ var IkasProductList = /** @class */ (function () {
38210
38260
  if (!response)
38211
38261
  return [2 /*return*/];
38212
38262
  data = response.data.map(function (product) {
38213
- return new IkasProductDetail(product, product.variants[0].variantValues);
38263
+ var selectedVariant = product.variants.find(function (v) { return v.isActive; });
38264
+ var productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
38265
+ return productDetail;
38214
38266
  });
38215
38267
  this.data = data.concat(this.data);
38216
38268
  this._count = response.count;
@@ -38249,7 +38301,9 @@ var IkasProductList = /** @class */ (function () {
38249
38301
  if (!response)
38250
38302
  return [2 /*return*/];
38251
38303
  data = response.data.map(function (product) {
38252
- return new IkasProductDetail(product, product.variants[0].variantValues);
38304
+ var selectedVariant = product.variants.find(function (v) { return v.isActive; });
38305
+ var productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
38306
+ return productDetail;
38253
38307
  });
38254
38308
  this.data = this.data.concat(data);
38255
38309
  this._count = response.count;
@@ -38287,7 +38341,9 @@ var IkasProductList = /** @class */ (function () {
38287
38341
  if (!response)
38288
38342
  return [2 /*return*/];
38289
38343
  data = response.data.map(function (product) {
38290
- return new IkasProductDetail(product, product.variants[0].variantValues);
38344
+ var selectedVariant = product.variants.find(function (v) { return v.isActive; });
38345
+ var productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
38346
+ return productDetail;
38291
38347
  });
38292
38348
  this.data = data;
38293
38349
  this._count = response.count;
@@ -43798,7 +43854,7 @@ var IkasProductDetailPropValueProvider = /** @class */ (function () {
43798
43854
  IkasProductDetailPropValueProvider.prototype.getValue = function () {
43799
43855
  var _a;
43800
43856
  return __awaiter(this, void 0, void 0, function () {
43801
- var productSearchResponse, productList, product, optionSetResponse, variant;
43857
+ var productSearchResponse, productList, product, optionSetResponse, variant, selectedVariant;
43802
43858
  var _this = this;
43803
43859
  return __generator(this, function (_b) {
43804
43860
  switch (_b.label) {
@@ -43843,9 +43899,10 @@ var IkasProductDetailPropValueProvider = /** @class */ (function () {
43843
43899
  return [2 /*return*/, null];
43844
43900
  }
43845
43901
  else {
43902
+ selectedVariant = product.variants.find(function (v) { return v.isActive; });
43846
43903
  return [2 /*return*/, {
43847
43904
  productDetailPropValue: this.productDetailPropValue,
43848
- productDetail: new IkasProductDetail(product, product.variants[0].variantValues),
43905
+ productDetail: new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues),
43849
43906
  }];
43850
43907
  }
43851
43908
  case 4: return [2 /*return*/, {
@@ -44305,7 +44362,7 @@ var IkasAttributePropValueProvider = /** @class */ (function () {
44305
44362
  IkasAttributePropValueProvider.prototype.getValue = function () {
44306
44363
  var _a;
44307
44364
  return __awaiter(this, void 0, void 0, function () {
44308
- var productDetail, productSearchResponse, productList, product, variant;
44365
+ var productDetail, productSearchResponse, productList, product, variant, selectedVariant;
44309
44366
  var _this = this;
44310
44367
  return __generator(this, function (_b) {
44311
44368
  switch (_b.label) {
@@ -44336,7 +44393,8 @@ var IkasAttributePropValueProvider = /** @class */ (function () {
44336
44393
  }
44337
44394
  }
44338
44395
  else {
44339
- productDetail = new IkasProductDetail(product, product.variants[0].variantValues);
44396
+ selectedVariant = product.variants.find(function (v) { return v.isActive; });
44397
+ productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
44340
44398
  }
44341
44399
  }
44342
44400
  }
@@ -44358,7 +44416,7 @@ var IkasAttributeListPropValueProvider = /** @class */ (function () {
44358
44416
  IkasAttributeListPropValueProvider.prototype.getValue = function () {
44359
44417
  var _a;
44360
44418
  return __awaiter(this, void 0, void 0, function () {
44361
- var productDetail, productSearchResponse, productList, product, variant;
44419
+ var productDetail, productSearchResponse, productList, product, variant, selectedVariant;
44362
44420
  var _this = this;
44363
44421
  return __generator(this, function (_b) {
44364
44422
  switch (_b.label) {
@@ -44390,7 +44448,8 @@ var IkasAttributeListPropValueProvider = /** @class */ (function () {
44390
44448
  }
44391
44449
  }
44392
44450
  else {
44393
- productDetail = new IkasProductDetail(product, product.variants[0].variantValues);
44451
+ selectedVariant = product.variants.find(function (v) { return v.isActive; });
44452
+ productDetail = new IkasProductDetail(product, (selectedVariant || product.variants[0]).variantValues);
44394
44453
  }
44395
44454
  }
44396
44455
  }
@@ -45271,7 +45330,7 @@ var IkasPageDataProvider = /** @class */ (function () {
45271
45330
  if (!metaData.targetId)
45272
45331
  return [2 /*return*/];
45273
45332
  handleProductPage = function () { return __awaiter(_this, void 0, void 0, function () {
45274
- var productsResponse, product, optionSetResponse, displayedVariantType, inStockVariant;
45333
+ var productsResponse, product, optionSetResponse, selectedVariant, displayedVariantType, inStockVariant;
45275
45334
  return __generator(this, function (_a) {
45276
45335
  switch (_a.label) {
45277
45336
  case 0: return [4 /*yield*/, IkasProductSearchAPI.searchProducts({
@@ -45294,7 +45353,10 @@ var IkasPageDataProvider = /** @class */ (function () {
45294
45353
  }
45295
45354
  _a.label = 3;
45296
45355
  case 3:
45297
- this.pageSpecificData = new IkasProductDetail(product, product.variants[0].variantValues);
45356
+ selectedVariant = product.variants.find(function (v) { return v.isActive; });
45357
+ if (!selectedVariant)
45358
+ return [2 /*return*/];
45359
+ this.pageSpecificData = new IkasProductDetail(product, selectedVariant.variantValues);
45298
45360
  // Select the first displayed in stock variant
45299
45361
  if (this.pageSpecificData.displayedVariantTypes.length) {
45300
45362
  displayedVariantType = this
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/storefront",
3
- "version": "1.0.6-alpha.3",
3
+ "version": "1.0.7",
4
4
  "main": "./build/index.js",
5
5
  "module": "./build/index.es.js",
6
6
  "author": "Umut Ozan Yıldırım",