@ikas/storefront 0.0.134 → 0.0.136

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.js CHANGED
@@ -17975,6 +17975,7 @@ var IkasProductAttribute = /** @class */ (function () {
17975
17975
  this.name = data.name || "";
17976
17976
  this.type = data.type || IkasProductAttributeType.TEXT;
17977
17977
  this.options = data.options || null;
17978
+ this.tableTemplate = data.tableTemplate || null;
17978
17979
  mobx.makeAutoObservable(this);
17979
17980
  }
17980
17981
  return IkasProductAttribute;
@@ -17988,6 +17989,7 @@ var IkasProductAttributeType;
17988
17989
  IkasProductAttributeType["NUMERIC"] = "NUMERIC";
17989
17990
  IkasProductAttributeType["DATETIME"] = "DATETIME";
17990
17991
  IkasProductAttributeType["HTML"] = "HTML";
17992
+ IkasProductAttributeType["TABLE"] = "TABLE";
17991
17993
  })(IkasProductAttributeType || (IkasProductAttributeType = {}));
17992
17994
 
17993
17995
  var IkasProductAttributeValue = /** @class */ (function () {
@@ -18003,6 +18005,14 @@ var IkasProductAttributeValue = /** @class */ (function () {
18003
18005
  : null;
18004
18006
  mobx.makeAutoObservable(this);
18005
18007
  }
18008
+ Object.defineProperty(IkasProductAttributeValue.prototype, "tableValue", {
18009
+ get: function () {
18010
+ if (this.value)
18011
+ return JSON.parse(this.value);
18012
+ },
18013
+ enumerable: false,
18014
+ configurable: true
18015
+ });
18006
18016
  return IkasProductAttributeValue;
18007
18017
  }());
18008
18018
 
@@ -18591,6 +18601,7 @@ var IkasThemeComponentProp = /** @class */ (function () {
18591
18601
  IkasThemeComponentPropType["LIST_OF_LINK"] = "LIST_OF_LINK";
18592
18602
  IkasThemeComponentPropType["PRODUCT_DETAIL"] = "PRODUCT_DETAIL";
18593
18603
  IkasThemeComponentPropType["PRODUCT_LIST"] = "PRODUCT_LIST";
18604
+ IkasThemeComponentPropType["PRODUCT_ATTRIBUTE"] = "PRODUCT_ATTRIBUTE";
18594
18605
  IkasThemeComponentPropType["BRAND"] = "BRAND";
18595
18606
  IkasThemeComponentPropType["BRAND_LIST"] = "BRAND_LIST";
18596
18607
  IkasThemeComponentPropType["CATEGORY"] = "CATEGORY";
@@ -18601,6 +18612,9 @@ var IkasThemeComponentProp = /** @class */ (function () {
18601
18612
  IkasThemeComponentPropType["COMPONENT_LIST"] = "COMPONENT_LIST";
18602
18613
  IkasThemeComponentPropType["BLOG"] = "BLOG";
18603
18614
  IkasThemeComponentPropType["BLOG_LIST"] = "BLOG_LIST";
18615
+ IkasThemeComponentPropType["OBJECT"] = "OBJECT";
18616
+ IkasThemeComponentPropType["STATIC_LIST"] = "STATIC_LIST";
18617
+ IkasThemeComponentPropType["DYNAMIC_LIST"] = "DYNAMIC_LIST";
18604
18618
  })(exports.IkasThemeComponentPropType || (exports.IkasThemeComponentPropType = {}));
18605
18619
 
18606
18620
  var IkasThemeComponent = /** @class */ (function () {
@@ -18624,7 +18638,7 @@ var IkasThemeCustomData = /** @class */ (function () {
18624
18638
  if (data === void 0) { data = {}; }
18625
18639
  this.id = data.id || "";
18626
18640
  this.name = data.name || null;
18627
- this.type = data.type || exports.IkasThemeCustomDataType.TEXT;
18641
+ this.type = data.type || exports.IkasThemeComponentPropType.TEXT;
18628
18642
  this.isRequired = data.isRequired !== undefined ? data.isRequired : true;
18629
18643
  this.key = data.key || null;
18630
18644
  this.parent = data.parent || null;
@@ -18635,7 +18649,7 @@ var IkasThemeCustomData = /** @class */ (function () {
18635
18649
  return new IkasThemeCustomData(__assign(__assign({}, nd), { parent: _this }));
18636
18650
  })
18637
18651
  : null;
18638
- if (this.type === exports.IkasThemeCustomDataType.STATIC_LIST && !this.itemCount)
18652
+ if (this.type === exports.IkasThemeComponentPropType.STATIC_LIST && !this.itemCount)
18639
18653
  this.itemCount = 1;
18640
18654
  mobx.makeAutoObservable(this);
18641
18655
  }
@@ -18645,31 +18659,7 @@ var IkasThemeCustomData = /** @class */ (function () {
18645
18659
  return obj;
18646
18660
  };
18647
18661
  return IkasThemeCustomData;
18648
- }());
18649
- (function (IkasThemeCustomDataType) {
18650
- IkasThemeCustomDataType["TEXT"] = "TEXT";
18651
- IkasThemeCustomDataType["RICH_TEXT"] = "RICH_TEXT";
18652
- IkasThemeCustomDataType["NUMBER"] = "NUMBER";
18653
- IkasThemeCustomDataType["BOOLEAN"] = "BOOLEAN";
18654
- IkasThemeCustomDataType["IMAGE"] = "IMAGE";
18655
- IkasThemeCustomDataType["IMAGE_LIST"] = "IMAGE_LIST";
18656
- IkasThemeCustomDataType["LINK"] = "LINK";
18657
- IkasThemeCustomDataType["LIST_OF_LINK"] = "LIST_OF_LINK";
18658
- IkasThemeCustomDataType["PRODUCT_DETAIL"] = "PRODUCT_DETAIL";
18659
- IkasThemeCustomDataType["PRODUCT_LIST"] = "PRODUCT_LIST";
18660
- IkasThemeCustomDataType["BRAND"] = "BRAND";
18661
- IkasThemeCustomDataType["BRAND_LIST"] = "BRAND_LIST";
18662
- IkasThemeCustomDataType["CATEGORY"] = "CATEGORY";
18663
- IkasThemeCustomDataType["CATEGORY_LIST"] = "CATEGORY_LIST";
18664
- IkasThemeCustomDataType["COLOR"] = "COLOR";
18665
- IkasThemeCustomDataType["COMPONENT"] = "COMPONENT";
18666
- IkasThemeCustomDataType["COMPONENT_LIST"] = "COMPONENT_LIST";
18667
- IkasThemeCustomDataType["BLOG"] = "BLOG";
18668
- IkasThemeCustomDataType["BLOG_LIST"] = "BLOG_LIST";
18669
- IkasThemeCustomDataType["OBJECT"] = "OBJECT";
18670
- IkasThemeCustomDataType["STATIC_LIST"] = "STATIC_LIST";
18671
- IkasThemeCustomDataType["DYNAMIC_LIST"] = "DYNAMIC_LIST";
18672
- })(exports.IkasThemeCustomDataType || (exports.IkasThemeCustomDataType = {}));
18662
+ }());
18673
18663
 
18674
18664
  var IkasThemePageComponent = /** @class */ (function () {
18675
18665
  function IkasThemePageComponent(data) {
@@ -21207,8 +21197,10 @@ var IkasProductList = /** @class */ (function () {
21207
21197
  }); };
21208
21198
  this.searchDebouncer = debounce_1(function () {
21209
21199
  _this.applyFilters();
21210
- Analytics.search(_this._searchKeyword);
21211
21200
  }, 100);
21201
+ this.analyticsDebouncer = debounce_1(function () {
21202
+ Analytics.search(_this._searchKeyword);
21203
+ }, 1000);
21212
21204
  this.data = data.data
21213
21205
  ? data.data.map(function (d) { return new IkasProductDetail(d.product, d.selectedVariantValues); })
21214
21206
  : [];
@@ -21285,6 +21277,7 @@ var IkasProductList = /** @class */ (function () {
21285
21277
  return;
21286
21278
  this._searchKeyword = value;
21287
21279
  this.searchDebouncer();
21280
+ this.analyticsDebouncer();
21288
21281
  },
21289
21282
  enumerable: false,
21290
21283
  configurable: true
@@ -24199,27 +24192,27 @@ var IkasCustomPropValueProvider = /** @class */ (function () {
24199
24192
  _b.trys.push([1, 40, , 41]);
24200
24193
  _a = this.customData.type;
24201
24194
  switch (_a) {
24202
- case exports.IkasThemeCustomDataType.TEXT: return [3 /*break*/, 2];
24203
- case exports.IkasThemeCustomDataType.RICH_TEXT: return [3 /*break*/, 4];
24204
- case exports.IkasThemeCustomDataType.BOOLEAN: return [3 /*break*/, 6];
24205
- case exports.IkasThemeCustomDataType.BRAND_LIST: return [3 /*break*/, 8];
24206
- case exports.IkasThemeCustomDataType.BRAND: return [3 /*break*/, 10];
24207
- case exports.IkasThemeCustomDataType.CATEGORY_LIST: return [3 /*break*/, 12];
24208
- case exports.IkasThemeCustomDataType.CATEGORY: return [3 /*break*/, 14];
24209
- case exports.IkasThemeCustomDataType.COLOR: return [3 /*break*/, 16];
24210
- case exports.IkasThemeCustomDataType.IMAGE_LIST: return [3 /*break*/, 18];
24211
- case exports.IkasThemeCustomDataType.IMAGE: return [3 /*break*/, 20];
24212
- case exports.IkasThemeCustomDataType.LINK: return [3 /*break*/, 22];
24213
- case exports.IkasThemeCustomDataType.LIST_OF_LINK: return [3 /*break*/, 22];
24214
- case exports.IkasThemeCustomDataType.PRODUCT_DETAIL: return [3 /*break*/, 24];
24215
- case exports.IkasThemeCustomDataType.PRODUCT_LIST: return [3 /*break*/, 26];
24216
- case exports.IkasThemeCustomDataType.OBJECT: return [3 /*break*/, 28];
24217
- case exports.IkasThemeCustomDataType.DYNAMIC_LIST: return [3 /*break*/, 30];
24218
- case exports.IkasThemeCustomDataType.STATIC_LIST: return [3 /*break*/, 30];
24219
- case exports.IkasThemeCustomDataType.COMPONENT: return [3 /*break*/, 32];
24220
- case exports.IkasThemeCustomDataType.COMPONENT_LIST: return [3 /*break*/, 32];
24221
- case exports.IkasThemeCustomDataType.BLOG: return [3 /*break*/, 34];
24222
- case exports.IkasThemeCustomDataType.BLOG_LIST: return [3 /*break*/, 36];
24195
+ case exports.IkasThemeComponentPropType.TEXT: return [3 /*break*/, 2];
24196
+ case exports.IkasThemeComponentPropType.RICH_TEXT: return [3 /*break*/, 4];
24197
+ case exports.IkasThemeComponentPropType.BOOLEAN: return [3 /*break*/, 6];
24198
+ case exports.IkasThemeComponentPropType.BRAND_LIST: return [3 /*break*/, 8];
24199
+ case exports.IkasThemeComponentPropType.BRAND: return [3 /*break*/, 10];
24200
+ case exports.IkasThemeComponentPropType.CATEGORY_LIST: return [3 /*break*/, 12];
24201
+ case exports.IkasThemeComponentPropType.CATEGORY: return [3 /*break*/, 14];
24202
+ case exports.IkasThemeComponentPropType.COLOR: return [3 /*break*/, 16];
24203
+ case exports.IkasThemeComponentPropType.IMAGE_LIST: return [3 /*break*/, 18];
24204
+ case exports.IkasThemeComponentPropType.IMAGE: return [3 /*break*/, 20];
24205
+ case exports.IkasThemeComponentPropType.LINK: return [3 /*break*/, 22];
24206
+ case exports.IkasThemeComponentPropType.LIST_OF_LINK: return [3 /*break*/, 22];
24207
+ case exports.IkasThemeComponentPropType.PRODUCT_DETAIL: return [3 /*break*/, 24];
24208
+ case exports.IkasThemeComponentPropType.PRODUCT_LIST: return [3 /*break*/, 26];
24209
+ case exports.IkasThemeComponentPropType.OBJECT: return [3 /*break*/, 28];
24210
+ case exports.IkasThemeComponentPropType.DYNAMIC_LIST: return [3 /*break*/, 30];
24211
+ case exports.IkasThemeComponentPropType.STATIC_LIST: return [3 /*break*/, 30];
24212
+ case exports.IkasThemeComponentPropType.COMPONENT: return [3 /*break*/, 32];
24213
+ case exports.IkasThemeComponentPropType.COMPONENT_LIST: return [3 /*break*/, 32];
24214
+ case exports.IkasThemeComponentPropType.BLOG: return [3 /*break*/, 34];
24215
+ case exports.IkasThemeComponentPropType.BLOG_LIST: return [3 /*break*/, 36];
24223
24216
  }
24224
24217
  return [3 /*break*/, 38];
24225
24218
  case 2: return [4 /*yield*/, this.getTextValue()];
@@ -24975,6 +24968,64 @@ var pageStyle = {
24975
24968
  justifyContent: "space-between",
24976
24969
  };
24977
24970
 
24971
+ var IkasAttributePropValueProvider = /** @class */ (function () {
24972
+ function IkasAttributePropValueProvider(prop, pageSpecificData) {
24973
+ this.attributePropValue = prop;
24974
+ this.pageSpecificData = pageSpecificData;
24975
+ }
24976
+ IkasAttributePropValueProvider.prototype.getValue = function () {
24977
+ var _a;
24978
+ return __awaiter(this, void 0, void 0, function () {
24979
+ var productDetail, productSearchResponse, productList, product, variant;
24980
+ var _this = this;
24981
+ return __generator(this, function (_b) {
24982
+ switch (_b.label) {
24983
+ case 0:
24984
+ if (!this.attributePropValue.attributeId ||
24985
+ (this.attributePropValue.usePageData && !this.pageSpecificData) ||
24986
+ (!this.attributePropValue.usePageData &&
24987
+ !this.attributePropValue.variantId)) {
24988
+ return [2 /*return*/, []];
24989
+ }
24990
+ if (!((_a = this.attributePropValue) === null || _a === void 0 ? void 0 : _a.usePageData)) return [3 /*break*/, 1];
24991
+ productDetail = this.pageSpecificData;
24992
+ return [3 /*break*/, 3];
24993
+ case 1: return [4 /*yield*/, IkasProductSearchAPI.searchProducts({
24994
+ productIdList: [this.attributePropValue.productId],
24995
+ priceListId: IkasStorefrontConfig.priceListId,
24996
+ salesChannelId: IkasStorefrontConfig.salesChannelId,
24997
+ })];
24998
+ case 2:
24999
+ productSearchResponse = _b.sent();
25000
+ if (productSearchResponse) {
25001
+ productList = productSearchResponse.data;
25002
+ if (productList.length) {
25003
+ product = productList[0];
25004
+ if (product === null || product === void 0 ? void 0 : product.hasVariant) {
25005
+ variant = product.variants.find(function (v) { return v.id === _this.attributePropValue.variantId; });
25006
+ if (variant) {
25007
+ productDetail = new IkasProductDetail(product, variant.variantValues);
25008
+ }
25009
+ }
25010
+ else {
25011
+ productDetail = new IkasProductDetail(product, product.variants[0].variantValues);
25012
+ }
25013
+ }
25014
+ }
25015
+ _b.label = 3;
25016
+ case 3:
25017
+ if (!productDetail)
25018
+ return [2 /*return*/, []];
25019
+ return [2 /*return*/, productDetail.product.hasVariant
25020
+ ? productDetail.selectedVariant.attributes.filter(function (a) { return a.productAttributeId === _this.attributePropValue.attributeId; })
25021
+ : productDetail.product.attributes.filter(function (a) { return a.productAttributeId === _this.attributePropValue.attributeId; })];
25022
+ }
25023
+ });
25024
+ });
25025
+ };
25026
+ return IkasAttributePropValueProvider;
25027
+ }());
25028
+
24978
25029
  var IkasPageDataProvider = /** @class */ (function () {
24979
25030
  function IkasPageDataProvider(theme, pageParams, pageType) {
24980
25031
  this.pageType = null;
@@ -25377,76 +25428,80 @@ var IkasPageDataProvider = /** @class */ (function () {
25377
25428
  case exports.IkasThemeComponentPropType.BRAND_LIST: return [3 /*break*/, 7];
25378
25429
  case exports.IkasThemeComponentPropType.PRODUCT_LIST: return [3 /*break*/, 8];
25379
25430
  case exports.IkasThemeComponentPropType.PRODUCT_DETAIL: return [3 /*break*/, 9];
25380
- case exports.IkasThemeComponentPropType.CATEGORY: return [3 /*break*/, 10];
25381
- case exports.IkasThemeComponentPropType.CATEGORY_LIST: return [3 /*break*/, 11];
25382
- case exports.IkasThemeComponentPropType.LINK: return [3 /*break*/, 12];
25383
- case exports.IkasThemeComponentPropType.LIST_OF_LINK: return [3 /*break*/, 12];
25384
- case exports.IkasThemeComponentPropType.COLOR: return [3 /*break*/, 13];
25385
- case exports.IkasThemeComponentPropType.CUSTOM: return [3 /*break*/, 14];
25386
- case exports.IkasThemeComponentPropType.COMPONENT: return [3 /*break*/, 15];
25387
- case exports.IkasThemeComponentPropType.COMPONENT_LIST: return [3 /*break*/, 15];
25388
- case exports.IkasThemeComponentPropType.BLOG: return [3 /*break*/, 17];
25389
- case exports.IkasThemeComponentPropType.BLOG_LIST: return [3 /*break*/, 18];
25431
+ case exports.IkasThemeComponentPropType.PRODUCT_ATTRIBUTE: return [3 /*break*/, 10];
25432
+ case exports.IkasThemeComponentPropType.CATEGORY: return [3 /*break*/, 11];
25433
+ case exports.IkasThemeComponentPropType.CATEGORY_LIST: return [3 /*break*/, 12];
25434
+ case exports.IkasThemeComponentPropType.LINK: return [3 /*break*/, 13];
25435
+ case exports.IkasThemeComponentPropType.LIST_OF_LINK: return [3 /*break*/, 13];
25436
+ case exports.IkasThemeComponentPropType.COLOR: return [3 /*break*/, 14];
25437
+ case exports.IkasThemeComponentPropType.CUSTOM: return [3 /*break*/, 15];
25438
+ case exports.IkasThemeComponentPropType.COMPONENT: return [3 /*break*/, 16];
25439
+ case exports.IkasThemeComponentPropType.COMPONENT_LIST: return [3 /*break*/, 16];
25440
+ case exports.IkasThemeComponentPropType.BLOG: return [3 /*break*/, 18];
25441
+ case exports.IkasThemeComponentPropType.BLOG_LIST: return [3 /*break*/, 19];
25390
25442
  }
25391
- return [3 /*break*/, 19];
25443
+ return [3 /*break*/, 20];
25392
25444
  case 1:
25393
25445
  propValueProvider = new IkasTextPropValueProvider(propValue);
25394
- return [3 /*break*/, 20];
25446
+ return [3 /*break*/, 21];
25395
25447
  case 2:
25396
25448
  propValueProvider = new IkasRichTextPropValueProvider(propValue);
25397
- return [3 /*break*/, 20];
25449
+ return [3 /*break*/, 21];
25398
25450
  case 3:
25399
25451
  propValueProvider = new IkasBooleanPropValueProvider(propValue);
25400
- return [3 /*break*/, 20];
25452
+ return [3 /*break*/, 21];
25401
25453
  case 4:
25402
25454
  propValueProvider = new IkasImagePropValueProvider(propValue);
25403
- return [3 /*break*/, 20];
25455
+ return [3 /*break*/, 21];
25404
25456
  case 5:
25405
25457
  propValueProvider = new IkasImageListPropValueProvider(propValue);
25406
- return [3 /*break*/, 20];
25458
+ return [3 /*break*/, 21];
25407
25459
  case 6:
25408
25460
  propValueProvider = new IkasBrandPropValueProvider(propValue, this.pageSpecificData);
25409
- return [3 /*break*/, 20];
25461
+ return [3 /*break*/, 21];
25410
25462
  case 7:
25411
25463
  propValueProvider = new IkasBrandListPropValueProvider(propValue);
25412
- return [3 /*break*/, 20];
25464
+ return [3 /*break*/, 21];
25413
25465
  case 8:
25414
25466
  propValueProvider = new IkasProductListPropValueProvider(this.pageType, propValue, this.pageSpecificData);
25415
- return [3 /*break*/, 20];
25467
+ return [3 /*break*/, 21];
25416
25468
  case 9:
25417
25469
  propValueProvider = new IkasProductDetailPropValueProvider(propValue, this.pageSpecificData);
25418
- return [3 /*break*/, 20];
25470
+ return [3 /*break*/, 21];
25419
25471
  case 10:
25420
- propValueProvider = new IkasCategoryPropValueProvider(propValue, this.pageSpecificData);
25421
- return [3 /*break*/, 20];
25472
+ propValueProvider = new IkasAttributePropValueProvider(propValue, this.pageSpecificData);
25473
+ return [3 /*break*/, 21];
25422
25474
  case 11:
25423
- propValueProvider = new IkasCategoryListPropValueProvider(propValue);
25424
- return [3 /*break*/, 20];
25475
+ propValueProvider = new IkasCategoryPropValueProvider(propValue, this.pageSpecificData);
25476
+ return [3 /*break*/, 21];
25425
25477
  case 12:
25426
- propValueProvider = new IkasLinkPropValueProvider(propValue, this.theme);
25427
- return [3 /*break*/, 20];
25478
+ propValueProvider = new IkasCategoryListPropValueProvider(propValue);
25479
+ return [3 /*break*/, 21];
25428
25480
  case 13:
25429
- propValueProvider = new IkasColorPropValueProvider(propValue);
25430
- return [3 /*break*/, 20];
25481
+ propValueProvider = new IkasLinkPropValueProvider(propValue, this.theme);
25482
+ return [3 /*break*/, 21];
25431
25483
  case 14:
25484
+ propValueProvider = new IkasColorPropValueProvider(propValue);
25485
+ return [3 /*break*/, 21];
25486
+ case 15:
25432
25487
  customData = this.theme.customData.find(function (cd) { return cd.id === prop.customDataId; });
25433
25488
  if (!customData)
25434
25489
  return [2 /*return*/];
25435
25490
  propValueProvider = new IkasCustomPropValueProvider(propValue, customData, this.theme, this.pageType, this, this.pageSpecificData, this.pageParams);
25436
- return [3 /*break*/, 20];
25437
- case 15:
25491
+ return [3 /*break*/, 21];
25492
+ case 16:
25438
25493
  pageComponents = propValue;
25439
25494
  return [4 /*yield*/, Promise.all(pageComponents.map(function (tp) { return _this.getPageComponentPropValues(tp); }))];
25440
- case 16: return [2 /*return*/, _b.sent()];
25441
- case 17:
25442
- propValueProvider = new IkasBlogPropValueProvider(propValue, this.pageSpecificData);
25443
- return [3 /*break*/, 20];
25495
+ case 17: return [2 /*return*/, _b.sent()];
25444
25496
  case 18:
25497
+ propValueProvider = new IkasBlogPropValueProvider(propValue, this.pageSpecificData);
25498
+ return [3 /*break*/, 21];
25499
+ case 19:
25445
25500
  propValueProvider = new IkasBlogListPropValueProvider(this.pageType, propValue, this.pageSpecificData);
25446
- return [3 /*break*/, 20];
25447
- case 19: return [3 /*break*/, 20];
25448
- case 20: return [4 /*yield*/, (propValueProvider === null || propValueProvider === void 0 ? void 0 : propValueProvider.getValue())];
25449
- case 21: return [2 /*return*/, _b.sent()];
25501
+ return [3 /*break*/, 21];
25502
+ case 20: return [3 /*break*/, 21];
25503
+ case 21: return [4 /*yield*/, (propValueProvider === null || propValueProvider === void 0 ? void 0 : propValueProvider.getValue())];
25504
+ case 22: return [2 /*return*/, _b.sent()];
25450
25505
  }
25451
25506
  });
25452
25507
  });
@@ -25498,6 +25553,9 @@ var IkasPageDataProvider = /** @class */ (function () {
25498
25553
  case exports.IkasThemeComponentPropType.PRODUCT_DETAIL:
25499
25554
  IkasPageDataProvider.initProductDetailPropValue(prop, propValue, pageComponentPropValue, router, isBrowser);
25500
25555
  break;
25556
+ case exports.IkasThemeComponentPropType.PRODUCT_ATTRIBUTE:
25557
+ IkasPageDataProvider.initAttributePropValue(prop, propValue, pageComponentPropValue);
25558
+ break;
25501
25559
  case exports.IkasThemeComponentPropType.LINK:
25502
25560
  case exports.IkasThemeComponentPropType.LIST_OF_LINK:
25503
25561
  IkasPageDataProvider.initLinkPropValue(prop, propValue, pageComponentPropValue);
@@ -25571,6 +25629,14 @@ var IkasPageDataProvider = /** @class */ (function () {
25571
25629
  }
25572
25630
  return new IkasProductDetail(productDetail.product, productDetail.selectedVariantValues, router);
25573
25631
  };
25632
+ IkasPageDataProvider.initAttributePropValue = function (prop, propValue, pageComponentPropValue) {
25633
+ pageComponentPropValue.propValues[prop.name] = IkasPageDataProvider._initAttributePropValue(propValue);
25634
+ };
25635
+ IkasPageDataProvider._initAttributePropValue = function (propValue) {
25636
+ return propValue
25637
+ ? propValue.map(function (p) { return new IkasProductAttributeValue(p); })
25638
+ : [];
25639
+ };
25574
25640
  IkasPageDataProvider.initLinkPropValue = function (prop, propValue, pageComponentPropValue) {
25575
25641
  pageComponentPropValue.propValues[prop.name] = this._initLinkPropValue(propValue);
25576
25642
  };
@@ -25611,25 +25677,27 @@ var IkasPageDataProvider = /** @class */ (function () {
25611
25677
  if (propValue === null || propValue === undefined)
25612
25678
  return null;
25613
25679
  switch (customData.type) {
25614
- case exports.IkasThemeCustomDataType.BRAND:
25680
+ case exports.IkasThemeComponentPropType.BRAND:
25615
25681
  return this._initBrandPropValue(propValue);
25616
- case exports.IkasThemeCustomDataType.BRAND_LIST:
25682
+ case exports.IkasThemeComponentPropType.BRAND_LIST:
25617
25683
  return this._initBrandListPropValue(propValue);
25618
- case exports.IkasThemeCustomDataType.CATEGORY_LIST:
25684
+ case exports.IkasThemeComponentPropType.CATEGORY_LIST:
25619
25685
  return this._initCategoryListPropValue(propValue);
25620
- case exports.IkasThemeCustomDataType.CATEGORY:
25686
+ case exports.IkasThemeComponentPropType.CATEGORY:
25621
25687
  return this._initCategoryPropValue(propValue);
25622
- case exports.IkasThemeCustomDataType.IMAGE_LIST:
25688
+ case exports.IkasThemeComponentPropType.IMAGE_LIST:
25623
25689
  return this._initImageListPropValue(propValue);
25624
- case exports.IkasThemeCustomDataType.IMAGE:
25690
+ case exports.IkasThemeComponentPropType.IMAGE:
25625
25691
  return this._initImagePropValue(propValue);
25626
- case exports.IkasThemeCustomDataType.LINK:
25692
+ case exports.IkasThemeComponentPropType.LINK:
25627
25693
  return this._initLinkPropValue(propValue);
25628
- case exports.IkasThemeCustomDataType.PRODUCT_DETAIL:
25694
+ case exports.IkasThemeComponentPropType.PRODUCT_DETAIL:
25629
25695
  return this._initProductDetailPropValue(propValue, router, isBrowser);
25630
- case exports.IkasThemeCustomDataType.PRODUCT_LIST:
25696
+ case exports.IkasThemeComponentPropType.PRODUCT_LIST:
25631
25697
  return this._initProductListPropValue(propValue, router);
25632
- case exports.IkasThemeCustomDataType.OBJECT:
25698
+ case exports.IkasThemeComponentPropType.PRODUCT_ATTRIBUTE:
25699
+ return this._initAttributePropValue(propValue);
25700
+ case exports.IkasThemeComponentPropType.OBJECT:
25633
25701
  var objectValue = {};
25634
25702
  for (var _i = 0, _a = customData.nestedData || []; _i < _a.length; _i++) {
25635
25703
  var nestedCustomData = _a[_i];
@@ -25637,8 +25705,8 @@ var IkasPageDataProvider = /** @class */ (function () {
25637
25705
  objectValue[nestedCustomData.key] = this._initCustomDataPropValue(value, nestedCustomData, router, settings, isBrowser);
25638
25706
  }
25639
25707
  return objectValue;
25640
- case exports.IkasThemeCustomDataType.DYNAMIC_LIST:
25641
- case exports.IkasThemeCustomDataType.STATIC_LIST:
25708
+ case exports.IkasThemeComponentPropType.DYNAMIC_LIST:
25709
+ case exports.IkasThemeComponentPropType.STATIC_LIST:
25642
25710
  try {
25643
25711
  if (!propValue || !propValue.length)
25644
25712
  return null;
@@ -25652,9 +25720,9 @@ var IkasPageDataProvider = /** @class */ (function () {
25652
25720
  catch (err) {
25653
25721
  return [];
25654
25722
  }
25655
- case exports.IkasThemeCustomDataType.COMPONENT:
25723
+ case exports.IkasThemeComponentPropType.COMPONENT:
25656
25724
  return this._initComponentPropValue(propValue, router, settings, isBrowser);
25657
- case exports.IkasThemeCustomDataType.COMPONENT_LIST:
25725
+ case exports.IkasThemeComponentPropType.COMPONENT_LIST:
25658
25726
  return this._initComponentListPropValue(propValue, router, settings, isBrowser);
25659
25727
  default:
25660
25728
  return propValue;
@@ -25790,6 +25858,16 @@ var IkasBlog = /** @class */ (function () {
25790
25858
  this.image = data.imageId ? new IkasImage(data.imageId) : null;
25791
25859
  mobx.makeAutoObservable(this);
25792
25860
  }
25861
+ Object.defineProperty(IkasBlog.prototype, "href", {
25862
+ get: function () {
25863
+ var _a;
25864
+ if (!((_a = this.metadata) === null || _a === void 0 ? void 0 : _a.slug))
25865
+ return "";
25866
+ return "/blog/" + this.metadata.slug;
25867
+ },
25868
+ enumerable: false,
25869
+ configurable: true
25870
+ });
25793
25871
  return IkasBlog;
25794
25872
  }());
25795
25873
  var IkasBlogContent = /** @class */ (function () {
@@ -25845,6 +25923,16 @@ var IkasBlogCategory = /** @class */ (function () {
25845
25923
  this.metadata = data.metadata ? new IkasBlogMetaData(data.metadata) : null;
25846
25924
  mobx.makeAutoObservable(this);
25847
25925
  }
25926
+ Object.defineProperty(IkasBlogCategory.prototype, "href", {
25927
+ get: function () {
25928
+ var _a;
25929
+ if (!((_a = this.metadata) === null || _a === void 0 ? void 0 : _a.slug))
25930
+ return "";
25931
+ return "/blog/" + this.metadata.slug;
25932
+ },
25933
+ enumerable: false,
25934
+ configurable: true
25935
+ });
25848
25936
  return IkasBlogCategory;
25849
25937
  }());
25850
25938
  var IkasBlogTag = /** @class */ (function () {
@@ -25869,7 +25957,7 @@ var IkasBlogAPI = /** @class */ (function () {
25869
25957
  return __generator(this, function (_b) {
25870
25958
  switch (_b.label) {
25871
25959
  case 0:
25872
- QUERY = src(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n query listBlog(\n $id: StringFilterInput\n $categoryId: StringFilterInput\n $pagination: PaginationInput\n $storefrontId: StringFilterInput\n $tagId: StringFilterInput\n $title: StringFilterInput\n ) {\n listBlog(\n id: $id\n categoryId: $categoryId\n pagination: $pagination\n storefrontId: $storefrontId\n tagId: $tagId\n title: $title\n ) {\n count\n data {\n title\n categoryId\n category {\n createdAt\n deleted\n id\n imageId\n name\n metadata {\n createdAt\n deleted\n description\n id\n pageTitle\n slug\n targetId\n targetType\n updatedAt\n }\n }\n blogContent {\n content\n createdAt\n deleted\n id\n updatedAt\n }\n tags {\n createdAt\n id\n name\n deleted\n updatedAt\n }\n createdAt\n deleted\n id\n imageId\n isPublished\n metadata {\n createdAt\n deleted\n description\n id\n pageTitle\n slug\n targetId\n targetType\n updatedAt\n }\n writer {\n firstName\n lastName\n }\n publishedAt\n shortDescription\n storefrontId\n tagIds\n updatedAt\n }\n hasNext\n limit\n page\n }\n }\n "], ["\n query listBlog(\n $id: StringFilterInput\n $categoryId: StringFilterInput\n $pagination: PaginationInput\n $storefrontId: StringFilterInput\n $tagId: StringFilterInput\n $title: StringFilterInput\n ) {\n listBlog(\n id: $id\n categoryId: $categoryId\n pagination: $pagination\n storefrontId: $storefrontId\n tagId: $tagId\n title: $title\n ) {\n count\n data {\n title\n categoryId\n category {\n createdAt\n deleted\n id\n imageId\n name\n metadata {\n createdAt\n deleted\n description\n id\n pageTitle\n slug\n targetId\n targetType\n updatedAt\n }\n }\n blogContent {\n content\n createdAt\n deleted\n id\n updatedAt\n }\n tags {\n createdAt\n id\n name\n deleted\n updatedAt\n }\n createdAt\n deleted\n id\n imageId\n isPublished\n metadata {\n createdAt\n deleted\n description\n id\n pageTitle\n slug\n targetId\n targetType\n updatedAt\n }\n writer {\n firstName\n lastName\n }\n publishedAt\n shortDescription\n storefrontId\n tagIds\n updatedAt\n }\n hasNext\n limit\n page\n }\n }\n "])));
25960
+ QUERY = src(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n query listBlog(\n $id: StringFilterInput\n $categoryId: StringFilterInput\n $pagination: PaginationInput\n $storefrontId: StringFilterInput\n $tagId: StringFilterInput\n $title: StringFilterInput\n ) {\n listBlog(\n id: $id\n categoryId: $categoryId\n pagination: $pagination\n storefrontId: $storefrontId\n tagId: $tagId\n title: $title\n ) {\n count\n data {\n title\n categoryId\n category {\n createdAt\n deleted\n id\n imageId\n name\n metadata {\n createdAt\n deleted\n description\n id\n pageTitle\n slug\n targetId\n targetType\n updatedAt\n }\n }\n tags {\n createdAt\n id\n name\n deleted\n updatedAt\n }\n createdAt\n deleted\n id\n imageId\n isPublished\n metadata {\n createdAt\n deleted\n description\n id\n pageTitle\n slug\n targetId\n targetType\n updatedAt\n }\n writer {\n firstName\n lastName\n }\n publishedAt\n shortDescription\n storefrontId\n tagIds\n updatedAt\n }\n hasNext\n limit\n page\n }\n }\n "], ["\n query listBlog(\n $id: StringFilterInput\n $categoryId: StringFilterInput\n $pagination: PaginationInput\n $storefrontId: StringFilterInput\n $tagId: StringFilterInput\n $title: StringFilterInput\n ) {\n listBlog(\n id: $id\n categoryId: $categoryId\n pagination: $pagination\n storefrontId: $storefrontId\n tagId: $tagId\n title: $title\n ) {\n count\n data {\n title\n categoryId\n category {\n createdAt\n deleted\n id\n imageId\n name\n metadata {\n createdAt\n deleted\n description\n id\n pageTitle\n slug\n targetId\n targetType\n updatedAt\n }\n }\n tags {\n createdAt\n id\n name\n deleted\n updatedAt\n }\n createdAt\n deleted\n id\n imageId\n isPublished\n metadata {\n createdAt\n deleted\n description\n id\n pageTitle\n slug\n targetId\n targetType\n updatedAt\n }\n writer {\n firstName\n lastName\n }\n publishedAt\n shortDescription\n storefrontId\n tagIds\n updatedAt\n }\n hasNext\n limit\n page\n }\n }\n "])));
25873
25961
  _b.label = 1;
25874
25962
  case 1:
25875
25963
  _b.trys.push([1, 3, , 4]);
@@ -27440,6 +27528,26 @@ var IkasMerchantAPI = /** @class */ (function () {
27440
27528
  }());
27441
27529
  var templateObject_1$a;
27442
27530
 
27531
+ var IkasProductAttributeTableCell = /** @class */ (function () {
27532
+ function IkasProductAttributeTableCell(data) {
27533
+ this.id = (data === null || data === void 0 ? void 0 : data.id) || "";
27534
+ this.name = (data === null || data === void 0 ? void 0 : data.name) || null;
27535
+ mobx.makeAutoObservable(this);
27536
+ }
27537
+ return IkasProductAttributeTableCell;
27538
+ }());
27539
+
27540
+ var IkasProductAttributeTableTemplate = /** @class */ (function () {
27541
+ function IkasProductAttributeTableTemplate(data) {
27542
+ this.columns = (data === null || data === void 0 ? void 0 : data.columns) ? data.columns.map(function (c) { return new IkasProductAttributeTableCell(c); })
27543
+ : [];
27544
+ this.rows = (data === null || data === void 0 ? void 0 : data.rows) ? data.rows.map(function (r) { return new IkasProductAttributeTableCell(r); })
27545
+ : [];
27546
+ mobx.makeAutoObservable(this);
27547
+ }
27548
+ return IkasProductAttributeTableTemplate;
27549
+ }());
27550
+
27443
27551
  var IkasProductSearchAPI = /** @class */ (function () {
27444
27552
  function IkasProductSearchAPI() {
27445
27553
  }
@@ -27534,7 +27642,7 @@ function simpleToProduct(simple) {
27534
27642
  return new IkasProduct({
27535
27643
  id: simple.id,
27536
27644
  attributes: (_a = simple.attributes) === null || _a === void 0 ? void 0 : _a.map(function (a) {
27537
- var _a, _b, _c, _d, _e;
27645
+ var _a, _b, _c, _d, _e, _f;
27538
27646
  return new IkasProductAttributeValue({
27539
27647
  value: a.value,
27540
27648
  productAttributeId: (_a = a.productAttribute) === null || _a === void 0 ? void 0 : _a.id,
@@ -27543,6 +27651,8 @@ function simpleToProduct(simple) {
27543
27651
  id: (_c = a.productAttribute) === null || _c === void 0 ? void 0 : _c.id,
27544
27652
  name: (_d = a.productAttribute) === null || _d === void 0 ? void 0 : _d.name,
27545
27653
  type: (_e = a.productAttribute) === null || _e === void 0 ? void 0 : _e.type,
27654
+ tableTemplate: ((_f = a.productAttribute) === null || _f === void 0 ? void 0 : _f.tableTemplate) ? new IkasProductAttributeTableTemplate(a.productAttribute.tableTemplate)
27655
+ : null,
27546
27656
  }),
27547
27657
  productAttributeOption: a.productAttributeOption,
27548
27658
  });
@@ -27574,7 +27684,6 @@ function simpleToProduct(simple) {
27574
27684
  metaData: new IkasHTMLMetaData(simple.metaData || undefined),
27575
27685
  name: simple.name,
27576
27686
  shortDescription: simple.shortDescription || undefined,
27577
- type: simple.type || undefined,
27578
27687
  variantTypes: simple.productVariantTypes.map(function (pvt) {
27579
27688
  return new IkasProductVariantType({
27580
27689
  variantType: new IkasVariantType({
@@ -27601,7 +27710,7 @@ function simpleToProduct(simple) {
27601
27710
  return new IkasProductVariant({
27602
27711
  id: v.id,
27603
27712
  attributes: (_a = v.attributes) === null || _a === void 0 ? void 0 : _a.map(function (a) {
27604
- var _a, _b, _c, _d, _e;
27713
+ var _a, _b, _c, _d, _e, _f;
27605
27714
  return new IkasProductAttributeValue({
27606
27715
  value: a.value,
27607
27716
  productAttributeId: (_a = a.productAttribute) === null || _a === void 0 ? void 0 : _a.id,
@@ -27610,6 +27719,8 @@ function simpleToProduct(simple) {
27610
27719
  id: (_c = a.productAttribute) === null || _c === void 0 ? void 0 : _c.id,
27611
27720
  name: (_d = a.productAttribute) === null || _d === void 0 ? void 0 : _d.name,
27612
27721
  type: (_e = a.productAttribute) === null || _e === void 0 ? void 0 : _e.type,
27722
+ tableTemplate: ((_f = a.productAttribute) === null || _f === void 0 ? void 0 : _f.tableTemplate) ? new IkasProductAttributeTableTemplate(a.productAttribute.tableTemplate)
27723
+ : null,
27613
27724
  }),
27614
27725
  productAttributeOption: a.productAttributeOption,
27615
27726
  });
@@ -17,6 +17,7 @@ export declare class IkasBlog {
17
17
  metadata: IkasBlogMetaData | null;
18
18
  image: IkasImage | null;
19
19
  constructor(data?: Partial<IkasBlog>);
20
+ get href(): string;
20
21
  }
21
22
  export declare class IkasBlogContent {
22
23
  id: string;
@@ -54,6 +55,7 @@ export declare class IkasBlogCategory {
54
55
  imageId: string;
55
56
  metadata: IkasBlogMetaData | null;
56
57
  constructor(data?: Partial<IkasBlogCategory>);
58
+ get href(): string;
57
59
  }
58
60
  export declare class IkasBlogTag {
59
61
  id: string;
@@ -7,4 +7,10 @@ export declare class IkasProductAttributeValue {
7
7
  productAttribute?: IkasProductAttribute | null;
8
8
  productAttributeOption?: IkasProductAttributeOption | null;
9
9
  constructor(data: Partial<IkasProductAttributeValue>);
10
+ get tableValue(): IkasAttributeTableCellValue[] | undefined;
10
11
  }
12
+ export declare type IkasAttributeTableCellValue = {
13
+ colId: string;
14
+ rowId: string;
15
+ value: string | null;
16
+ };
@@ -1,9 +1,11 @@
1
1
  import IkasProductAttributeOption from "./product-attribute-option/index";
2
+ import { IkasProductAttributeTableTemplate } from "./product-attribute-table-template/index";
2
3
  export declare class IkasProductAttribute {
3
4
  id: string;
4
5
  name: string;
5
6
  type: IkasProductAttributeType;
6
7
  options?: IkasProductAttributeOption[] | null;
8
+ tableTemplate?: IkasProductAttributeTableTemplate | null;
7
9
  constructor(data: Partial<IkasProductAttribute>);
8
10
  }
9
11
  export declare enum IkasProductAttributeType {
@@ -13,5 +15,6 @@ export declare enum IkasProductAttributeType {
13
15
  BOOLEAN = "BOOLEAN",
14
16
  NUMERIC = "NUMERIC",
15
17
  DATETIME = "DATETIME",
16
- HTML = "HTML"
18
+ HTML = "HTML",
19
+ TABLE = "TABLE"
17
20
  }
@@ -0,0 +1,5 @@
1
+ export declare class IkasProductAttributeTableCell {
2
+ id: string;
3
+ name: string | null;
4
+ constructor(data?: Partial<IkasProductAttributeTableCell>);
5
+ }
@@ -0,0 +1,6 @@
1
+ import { IkasProductAttributeTableCell } from "../product-attribute-table-cell/index";
2
+ export declare class IkasProductAttributeTableTemplate {
3
+ columns: IkasProductAttributeTableCell[] | null;
4
+ rows: IkasProductAttributeTableCell[] | null;
5
+ constructor(data?: Partial<IkasProductAttributeTableTemplate>);
6
+ }