@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.
@@ -20,14 +20,6 @@ export interface listBlog_listBlog_data_category {
20
20
  name: string;
21
21
  metadata: listBlog_listBlog_data_category_metadata;
22
22
  }
23
- export interface listBlog_listBlog_data_blogContent {
24
- __typename: "BlogContent";
25
- content: string;
26
- createdAt: any | null;
27
- deleted: boolean | null;
28
- id: string;
29
- updatedAt: any | null;
30
- }
31
23
  export interface listBlog_listBlog_data_tags {
32
24
  __typename: "BlogTag";
33
25
  createdAt: any | null;
@@ -58,7 +50,6 @@ export interface listBlog_listBlog_data {
58
50
  title: string;
59
51
  categoryId: string;
60
52
  category: listBlog_listBlog_data_category;
61
- blogContent: listBlog_listBlog_data_blogContent;
62
53
  tags: listBlog_listBlog_data_tags[] | null;
63
54
  createdAt: any | null;
64
55
  deleted: boolean | null;
package/build/index.es.js CHANGED
@@ -17977,6 +17977,7 @@ var IkasProductAttribute = /** @class */ (function () {
17977
17977
  this.name = data.name || "";
17978
17978
  this.type = data.type || IkasProductAttributeType.TEXT;
17979
17979
  this.options = data.options || null;
17980
+ this.tableTemplate = data.tableTemplate || null;
17980
17981
  makeAutoObservable(this);
17981
17982
  }
17982
17983
  return IkasProductAttribute;
@@ -17990,6 +17991,7 @@ var IkasProductAttributeType;
17990
17991
  IkasProductAttributeType["NUMERIC"] = "NUMERIC";
17991
17992
  IkasProductAttributeType["DATETIME"] = "DATETIME";
17992
17993
  IkasProductAttributeType["HTML"] = "HTML";
17994
+ IkasProductAttributeType["TABLE"] = "TABLE";
17993
17995
  })(IkasProductAttributeType || (IkasProductAttributeType = {}));
17994
17996
 
17995
17997
  var IkasProductAttributeValue = /** @class */ (function () {
@@ -18005,6 +18007,14 @@ var IkasProductAttributeValue = /** @class */ (function () {
18005
18007
  : null;
18006
18008
  makeAutoObservable(this);
18007
18009
  }
18010
+ Object.defineProperty(IkasProductAttributeValue.prototype, "tableValue", {
18011
+ get: function () {
18012
+ if (this.value)
18013
+ return JSON.parse(this.value);
18014
+ },
18015
+ enumerable: false,
18016
+ configurable: true
18017
+ });
18008
18018
  return IkasProductAttributeValue;
18009
18019
  }());
18010
18020
 
@@ -18601,6 +18611,7 @@ var IkasThemeComponentPropType;
18601
18611
  IkasThemeComponentPropType["LIST_OF_LINK"] = "LIST_OF_LINK";
18602
18612
  IkasThemeComponentPropType["PRODUCT_DETAIL"] = "PRODUCT_DETAIL";
18603
18613
  IkasThemeComponentPropType["PRODUCT_LIST"] = "PRODUCT_LIST";
18614
+ IkasThemeComponentPropType["PRODUCT_ATTRIBUTE"] = "PRODUCT_ATTRIBUTE";
18604
18615
  IkasThemeComponentPropType["BRAND"] = "BRAND";
18605
18616
  IkasThemeComponentPropType["BRAND_LIST"] = "BRAND_LIST";
18606
18617
  IkasThemeComponentPropType["CATEGORY"] = "CATEGORY";
@@ -18611,6 +18622,9 @@ var IkasThemeComponentPropType;
18611
18622
  IkasThemeComponentPropType["COMPONENT_LIST"] = "COMPONENT_LIST";
18612
18623
  IkasThemeComponentPropType["BLOG"] = "BLOG";
18613
18624
  IkasThemeComponentPropType["BLOG_LIST"] = "BLOG_LIST";
18625
+ IkasThemeComponentPropType["OBJECT"] = "OBJECT";
18626
+ IkasThemeComponentPropType["STATIC_LIST"] = "STATIC_LIST";
18627
+ IkasThemeComponentPropType["DYNAMIC_LIST"] = "DYNAMIC_LIST";
18614
18628
  })(IkasThemeComponentPropType || (IkasThemeComponentPropType = {}));
18615
18629
 
18616
18630
  var IkasThemeComponent = /** @class */ (function () {
@@ -18634,7 +18648,7 @@ var IkasThemeCustomData = /** @class */ (function () {
18634
18648
  if (data === void 0) { data = {}; }
18635
18649
  this.id = data.id || "";
18636
18650
  this.name = data.name || null;
18637
- this.type = data.type || IkasThemeCustomDataType.TEXT;
18651
+ this.type = data.type || IkasThemeComponentPropType.TEXT;
18638
18652
  this.isRequired = data.isRequired !== undefined ? data.isRequired : true;
18639
18653
  this.key = data.key || null;
18640
18654
  this.parent = data.parent || null;
@@ -18645,7 +18659,7 @@ var IkasThemeCustomData = /** @class */ (function () {
18645
18659
  return new IkasThemeCustomData(__assign(__assign({}, nd), { parent: _this }));
18646
18660
  })
18647
18661
  : null;
18648
- if (this.type === IkasThemeCustomDataType.STATIC_LIST && !this.itemCount)
18662
+ if (this.type === IkasThemeComponentPropType.STATIC_LIST && !this.itemCount)
18649
18663
  this.itemCount = 1;
18650
18664
  makeAutoObservable(this);
18651
18665
  }
@@ -18655,32 +18669,7 @@ var IkasThemeCustomData = /** @class */ (function () {
18655
18669
  return obj;
18656
18670
  };
18657
18671
  return IkasThemeCustomData;
18658
- }());
18659
- var IkasThemeCustomDataType;
18660
- (function (IkasThemeCustomDataType) {
18661
- IkasThemeCustomDataType["TEXT"] = "TEXT";
18662
- IkasThemeCustomDataType["RICH_TEXT"] = "RICH_TEXT";
18663
- IkasThemeCustomDataType["NUMBER"] = "NUMBER";
18664
- IkasThemeCustomDataType["BOOLEAN"] = "BOOLEAN";
18665
- IkasThemeCustomDataType["IMAGE"] = "IMAGE";
18666
- IkasThemeCustomDataType["IMAGE_LIST"] = "IMAGE_LIST";
18667
- IkasThemeCustomDataType["LINK"] = "LINK";
18668
- IkasThemeCustomDataType["LIST_OF_LINK"] = "LIST_OF_LINK";
18669
- IkasThemeCustomDataType["PRODUCT_DETAIL"] = "PRODUCT_DETAIL";
18670
- IkasThemeCustomDataType["PRODUCT_LIST"] = "PRODUCT_LIST";
18671
- IkasThemeCustomDataType["BRAND"] = "BRAND";
18672
- IkasThemeCustomDataType["BRAND_LIST"] = "BRAND_LIST";
18673
- IkasThemeCustomDataType["CATEGORY"] = "CATEGORY";
18674
- IkasThemeCustomDataType["CATEGORY_LIST"] = "CATEGORY_LIST";
18675
- IkasThemeCustomDataType["COLOR"] = "COLOR";
18676
- IkasThemeCustomDataType["COMPONENT"] = "COMPONENT";
18677
- IkasThemeCustomDataType["COMPONENT_LIST"] = "COMPONENT_LIST";
18678
- IkasThemeCustomDataType["BLOG"] = "BLOG";
18679
- IkasThemeCustomDataType["BLOG_LIST"] = "BLOG_LIST";
18680
- IkasThemeCustomDataType["OBJECT"] = "OBJECT";
18681
- IkasThemeCustomDataType["STATIC_LIST"] = "STATIC_LIST";
18682
- IkasThemeCustomDataType["DYNAMIC_LIST"] = "DYNAMIC_LIST";
18683
- })(IkasThemeCustomDataType || (IkasThemeCustomDataType = {}));
18672
+ }());
18684
18673
 
18685
18674
  var IkasThemePageComponent = /** @class */ (function () {
18686
18675
  function IkasThemePageComponent(data) {
@@ -21225,8 +21214,10 @@ var IkasProductList = /** @class */ (function () {
21225
21214
  }); };
21226
21215
  this.searchDebouncer = debounce_1(function () {
21227
21216
  _this.applyFilters();
21228
- Analytics.search(_this._searchKeyword);
21229
21217
  }, 100);
21218
+ this.analyticsDebouncer = debounce_1(function () {
21219
+ Analytics.search(_this._searchKeyword);
21220
+ }, 1000);
21230
21221
  this.data = data.data
21231
21222
  ? data.data.map(function (d) { return new IkasProductDetail(d.product, d.selectedVariantValues); })
21232
21223
  : [];
@@ -21303,6 +21294,7 @@ var IkasProductList = /** @class */ (function () {
21303
21294
  return;
21304
21295
  this._searchKeyword = value;
21305
21296
  this.searchDebouncer();
21297
+ this.analyticsDebouncer();
21306
21298
  },
21307
21299
  enumerable: false,
21308
21300
  configurable: true
@@ -24220,27 +24212,27 @@ var IkasCustomPropValueProvider = /** @class */ (function () {
24220
24212
  _b.trys.push([1, 40, , 41]);
24221
24213
  _a = this.customData.type;
24222
24214
  switch (_a) {
24223
- case IkasThemeCustomDataType.TEXT: return [3 /*break*/, 2];
24224
- case IkasThemeCustomDataType.RICH_TEXT: return [3 /*break*/, 4];
24225
- case IkasThemeCustomDataType.BOOLEAN: return [3 /*break*/, 6];
24226
- case IkasThemeCustomDataType.BRAND_LIST: return [3 /*break*/, 8];
24227
- case IkasThemeCustomDataType.BRAND: return [3 /*break*/, 10];
24228
- case IkasThemeCustomDataType.CATEGORY_LIST: return [3 /*break*/, 12];
24229
- case IkasThemeCustomDataType.CATEGORY: return [3 /*break*/, 14];
24230
- case IkasThemeCustomDataType.COLOR: return [3 /*break*/, 16];
24231
- case IkasThemeCustomDataType.IMAGE_LIST: return [3 /*break*/, 18];
24232
- case IkasThemeCustomDataType.IMAGE: return [3 /*break*/, 20];
24233
- case IkasThemeCustomDataType.LINK: return [3 /*break*/, 22];
24234
- case IkasThemeCustomDataType.LIST_OF_LINK: return [3 /*break*/, 22];
24235
- case IkasThemeCustomDataType.PRODUCT_DETAIL: return [3 /*break*/, 24];
24236
- case IkasThemeCustomDataType.PRODUCT_LIST: return [3 /*break*/, 26];
24237
- case IkasThemeCustomDataType.OBJECT: return [3 /*break*/, 28];
24238
- case IkasThemeCustomDataType.DYNAMIC_LIST: return [3 /*break*/, 30];
24239
- case IkasThemeCustomDataType.STATIC_LIST: return [3 /*break*/, 30];
24240
- case IkasThemeCustomDataType.COMPONENT: return [3 /*break*/, 32];
24241
- case IkasThemeCustomDataType.COMPONENT_LIST: return [3 /*break*/, 32];
24242
- case IkasThemeCustomDataType.BLOG: return [3 /*break*/, 34];
24243
- case IkasThemeCustomDataType.BLOG_LIST: return [3 /*break*/, 36];
24215
+ case IkasThemeComponentPropType.TEXT: return [3 /*break*/, 2];
24216
+ case IkasThemeComponentPropType.RICH_TEXT: return [3 /*break*/, 4];
24217
+ case IkasThemeComponentPropType.BOOLEAN: return [3 /*break*/, 6];
24218
+ case IkasThemeComponentPropType.BRAND_LIST: return [3 /*break*/, 8];
24219
+ case IkasThemeComponentPropType.BRAND: return [3 /*break*/, 10];
24220
+ case IkasThemeComponentPropType.CATEGORY_LIST: return [3 /*break*/, 12];
24221
+ case IkasThemeComponentPropType.CATEGORY: return [3 /*break*/, 14];
24222
+ case IkasThemeComponentPropType.COLOR: return [3 /*break*/, 16];
24223
+ case IkasThemeComponentPropType.IMAGE_LIST: return [3 /*break*/, 18];
24224
+ case IkasThemeComponentPropType.IMAGE: return [3 /*break*/, 20];
24225
+ case IkasThemeComponentPropType.LINK: return [3 /*break*/, 22];
24226
+ case IkasThemeComponentPropType.LIST_OF_LINK: return [3 /*break*/, 22];
24227
+ case IkasThemeComponentPropType.PRODUCT_DETAIL: return [3 /*break*/, 24];
24228
+ case IkasThemeComponentPropType.PRODUCT_LIST: return [3 /*break*/, 26];
24229
+ case IkasThemeComponentPropType.OBJECT: return [3 /*break*/, 28];
24230
+ case IkasThemeComponentPropType.DYNAMIC_LIST: return [3 /*break*/, 30];
24231
+ case IkasThemeComponentPropType.STATIC_LIST: return [3 /*break*/, 30];
24232
+ case IkasThemeComponentPropType.COMPONENT: return [3 /*break*/, 32];
24233
+ case IkasThemeComponentPropType.COMPONENT_LIST: return [3 /*break*/, 32];
24234
+ case IkasThemeComponentPropType.BLOG: return [3 /*break*/, 34];
24235
+ case IkasThemeComponentPropType.BLOG_LIST: return [3 /*break*/, 36];
24244
24236
  }
24245
24237
  return [3 /*break*/, 38];
24246
24238
  case 2: return [4 /*yield*/, this.getTextValue()];
@@ -24996,6 +24988,64 @@ var pageStyle = {
24996
24988
  justifyContent: "space-between",
24997
24989
  };
24998
24990
 
24991
+ var IkasAttributePropValueProvider = /** @class */ (function () {
24992
+ function IkasAttributePropValueProvider(prop, pageSpecificData) {
24993
+ this.attributePropValue = prop;
24994
+ this.pageSpecificData = pageSpecificData;
24995
+ }
24996
+ IkasAttributePropValueProvider.prototype.getValue = function () {
24997
+ var _a;
24998
+ return __awaiter(this, void 0, void 0, function () {
24999
+ var productDetail, productSearchResponse, productList, product, variant;
25000
+ var _this = this;
25001
+ return __generator(this, function (_b) {
25002
+ switch (_b.label) {
25003
+ case 0:
25004
+ if (!this.attributePropValue.attributeId ||
25005
+ (this.attributePropValue.usePageData && !this.pageSpecificData) ||
25006
+ (!this.attributePropValue.usePageData &&
25007
+ !this.attributePropValue.variantId)) {
25008
+ return [2 /*return*/, []];
25009
+ }
25010
+ if (!((_a = this.attributePropValue) === null || _a === void 0 ? void 0 : _a.usePageData)) return [3 /*break*/, 1];
25011
+ productDetail = this.pageSpecificData;
25012
+ return [3 /*break*/, 3];
25013
+ case 1: return [4 /*yield*/, IkasProductSearchAPI.searchProducts({
25014
+ productIdList: [this.attributePropValue.productId],
25015
+ priceListId: IkasStorefrontConfig.priceListId,
25016
+ salesChannelId: IkasStorefrontConfig.salesChannelId,
25017
+ })];
25018
+ case 2:
25019
+ productSearchResponse = _b.sent();
25020
+ if (productSearchResponse) {
25021
+ productList = productSearchResponse.data;
25022
+ if (productList.length) {
25023
+ product = productList[0];
25024
+ if (product === null || product === void 0 ? void 0 : product.hasVariant) {
25025
+ variant = product.variants.find(function (v) { return v.id === _this.attributePropValue.variantId; });
25026
+ if (variant) {
25027
+ productDetail = new IkasProductDetail(product, variant.variantValues);
25028
+ }
25029
+ }
25030
+ else {
25031
+ productDetail = new IkasProductDetail(product, product.variants[0].variantValues);
25032
+ }
25033
+ }
25034
+ }
25035
+ _b.label = 3;
25036
+ case 3:
25037
+ if (!productDetail)
25038
+ return [2 /*return*/, []];
25039
+ return [2 /*return*/, productDetail.product.hasVariant
25040
+ ? productDetail.selectedVariant.attributes.filter(function (a) { return a.productAttributeId === _this.attributePropValue.attributeId; })
25041
+ : productDetail.product.attributes.filter(function (a) { return a.productAttributeId === _this.attributePropValue.attributeId; })];
25042
+ }
25043
+ });
25044
+ });
25045
+ };
25046
+ return IkasAttributePropValueProvider;
25047
+ }());
25048
+
24999
25049
  var IkasPageDataProvider = /** @class */ (function () {
25000
25050
  function IkasPageDataProvider(theme, pageParams, pageType) {
25001
25051
  this.pageType = null;
@@ -25398,76 +25448,80 @@ var IkasPageDataProvider = /** @class */ (function () {
25398
25448
  case IkasThemeComponentPropType.BRAND_LIST: return [3 /*break*/, 7];
25399
25449
  case IkasThemeComponentPropType.PRODUCT_LIST: return [3 /*break*/, 8];
25400
25450
  case IkasThemeComponentPropType.PRODUCT_DETAIL: return [3 /*break*/, 9];
25401
- case IkasThemeComponentPropType.CATEGORY: return [3 /*break*/, 10];
25402
- case IkasThemeComponentPropType.CATEGORY_LIST: return [3 /*break*/, 11];
25403
- case IkasThemeComponentPropType.LINK: return [3 /*break*/, 12];
25404
- case IkasThemeComponentPropType.LIST_OF_LINK: return [3 /*break*/, 12];
25405
- case IkasThemeComponentPropType.COLOR: return [3 /*break*/, 13];
25406
- case IkasThemeComponentPropType.CUSTOM: return [3 /*break*/, 14];
25407
- case IkasThemeComponentPropType.COMPONENT: return [3 /*break*/, 15];
25408
- case IkasThemeComponentPropType.COMPONENT_LIST: return [3 /*break*/, 15];
25409
- case IkasThemeComponentPropType.BLOG: return [3 /*break*/, 17];
25410
- case IkasThemeComponentPropType.BLOG_LIST: return [3 /*break*/, 18];
25451
+ case IkasThemeComponentPropType.PRODUCT_ATTRIBUTE: return [3 /*break*/, 10];
25452
+ case IkasThemeComponentPropType.CATEGORY: return [3 /*break*/, 11];
25453
+ case IkasThemeComponentPropType.CATEGORY_LIST: return [3 /*break*/, 12];
25454
+ case IkasThemeComponentPropType.LINK: return [3 /*break*/, 13];
25455
+ case IkasThemeComponentPropType.LIST_OF_LINK: return [3 /*break*/, 13];
25456
+ case IkasThemeComponentPropType.COLOR: return [3 /*break*/, 14];
25457
+ case IkasThemeComponentPropType.CUSTOM: return [3 /*break*/, 15];
25458
+ case IkasThemeComponentPropType.COMPONENT: return [3 /*break*/, 16];
25459
+ case IkasThemeComponentPropType.COMPONENT_LIST: return [3 /*break*/, 16];
25460
+ case IkasThemeComponentPropType.BLOG: return [3 /*break*/, 18];
25461
+ case IkasThemeComponentPropType.BLOG_LIST: return [3 /*break*/, 19];
25411
25462
  }
25412
- return [3 /*break*/, 19];
25463
+ return [3 /*break*/, 20];
25413
25464
  case 1:
25414
25465
  propValueProvider = new IkasTextPropValueProvider(propValue);
25415
- return [3 /*break*/, 20];
25466
+ return [3 /*break*/, 21];
25416
25467
  case 2:
25417
25468
  propValueProvider = new IkasRichTextPropValueProvider(propValue);
25418
- return [3 /*break*/, 20];
25469
+ return [3 /*break*/, 21];
25419
25470
  case 3:
25420
25471
  propValueProvider = new IkasBooleanPropValueProvider(propValue);
25421
- return [3 /*break*/, 20];
25472
+ return [3 /*break*/, 21];
25422
25473
  case 4:
25423
25474
  propValueProvider = new IkasImagePropValueProvider(propValue);
25424
- return [3 /*break*/, 20];
25475
+ return [3 /*break*/, 21];
25425
25476
  case 5:
25426
25477
  propValueProvider = new IkasImageListPropValueProvider(propValue);
25427
- return [3 /*break*/, 20];
25478
+ return [3 /*break*/, 21];
25428
25479
  case 6:
25429
25480
  propValueProvider = new IkasBrandPropValueProvider(propValue, this.pageSpecificData);
25430
- return [3 /*break*/, 20];
25481
+ return [3 /*break*/, 21];
25431
25482
  case 7:
25432
25483
  propValueProvider = new IkasBrandListPropValueProvider(propValue);
25433
- return [3 /*break*/, 20];
25484
+ return [3 /*break*/, 21];
25434
25485
  case 8:
25435
25486
  propValueProvider = new IkasProductListPropValueProvider(this.pageType, propValue, this.pageSpecificData);
25436
- return [3 /*break*/, 20];
25487
+ return [3 /*break*/, 21];
25437
25488
  case 9:
25438
25489
  propValueProvider = new IkasProductDetailPropValueProvider(propValue, this.pageSpecificData);
25439
- return [3 /*break*/, 20];
25490
+ return [3 /*break*/, 21];
25440
25491
  case 10:
25441
- propValueProvider = new IkasCategoryPropValueProvider(propValue, this.pageSpecificData);
25442
- return [3 /*break*/, 20];
25492
+ propValueProvider = new IkasAttributePropValueProvider(propValue, this.pageSpecificData);
25493
+ return [3 /*break*/, 21];
25443
25494
  case 11:
25444
- propValueProvider = new IkasCategoryListPropValueProvider(propValue);
25445
- return [3 /*break*/, 20];
25495
+ propValueProvider = new IkasCategoryPropValueProvider(propValue, this.pageSpecificData);
25496
+ return [3 /*break*/, 21];
25446
25497
  case 12:
25447
- propValueProvider = new IkasLinkPropValueProvider(propValue, this.theme);
25448
- return [3 /*break*/, 20];
25498
+ propValueProvider = new IkasCategoryListPropValueProvider(propValue);
25499
+ return [3 /*break*/, 21];
25449
25500
  case 13:
25450
- propValueProvider = new IkasColorPropValueProvider(propValue);
25451
- return [3 /*break*/, 20];
25501
+ propValueProvider = new IkasLinkPropValueProvider(propValue, this.theme);
25502
+ return [3 /*break*/, 21];
25452
25503
  case 14:
25504
+ propValueProvider = new IkasColorPropValueProvider(propValue);
25505
+ return [3 /*break*/, 21];
25506
+ case 15:
25453
25507
  customData = this.theme.customData.find(function (cd) { return cd.id === prop.customDataId; });
25454
25508
  if (!customData)
25455
25509
  return [2 /*return*/];
25456
25510
  propValueProvider = new IkasCustomPropValueProvider(propValue, customData, this.theme, this.pageType, this, this.pageSpecificData, this.pageParams);
25457
- return [3 /*break*/, 20];
25458
- case 15:
25511
+ return [3 /*break*/, 21];
25512
+ case 16:
25459
25513
  pageComponents = propValue;
25460
25514
  return [4 /*yield*/, Promise.all(pageComponents.map(function (tp) { return _this.getPageComponentPropValues(tp); }))];
25461
- case 16: return [2 /*return*/, _b.sent()];
25462
- case 17:
25463
- propValueProvider = new IkasBlogPropValueProvider(propValue, this.pageSpecificData);
25464
- return [3 /*break*/, 20];
25515
+ case 17: return [2 /*return*/, _b.sent()];
25465
25516
  case 18:
25517
+ propValueProvider = new IkasBlogPropValueProvider(propValue, this.pageSpecificData);
25518
+ return [3 /*break*/, 21];
25519
+ case 19:
25466
25520
  propValueProvider = new IkasBlogListPropValueProvider(this.pageType, propValue, this.pageSpecificData);
25467
- return [3 /*break*/, 20];
25468
- case 19: return [3 /*break*/, 20];
25469
- case 20: return [4 /*yield*/, (propValueProvider === null || propValueProvider === void 0 ? void 0 : propValueProvider.getValue())];
25470
- case 21: return [2 /*return*/, _b.sent()];
25521
+ return [3 /*break*/, 21];
25522
+ case 20: return [3 /*break*/, 21];
25523
+ case 21: return [4 /*yield*/, (propValueProvider === null || propValueProvider === void 0 ? void 0 : propValueProvider.getValue())];
25524
+ case 22: return [2 /*return*/, _b.sent()];
25471
25525
  }
25472
25526
  });
25473
25527
  });
@@ -25519,6 +25573,9 @@ var IkasPageDataProvider = /** @class */ (function () {
25519
25573
  case IkasThemeComponentPropType.PRODUCT_DETAIL:
25520
25574
  IkasPageDataProvider.initProductDetailPropValue(prop, propValue, pageComponentPropValue, router, isBrowser);
25521
25575
  break;
25576
+ case IkasThemeComponentPropType.PRODUCT_ATTRIBUTE:
25577
+ IkasPageDataProvider.initAttributePropValue(prop, propValue, pageComponentPropValue);
25578
+ break;
25522
25579
  case IkasThemeComponentPropType.LINK:
25523
25580
  case IkasThemeComponentPropType.LIST_OF_LINK:
25524
25581
  IkasPageDataProvider.initLinkPropValue(prop, propValue, pageComponentPropValue);
@@ -25592,6 +25649,14 @@ var IkasPageDataProvider = /** @class */ (function () {
25592
25649
  }
25593
25650
  return new IkasProductDetail(productDetail.product, productDetail.selectedVariantValues, router);
25594
25651
  };
25652
+ IkasPageDataProvider.initAttributePropValue = function (prop, propValue, pageComponentPropValue) {
25653
+ pageComponentPropValue.propValues[prop.name] = IkasPageDataProvider._initAttributePropValue(propValue);
25654
+ };
25655
+ IkasPageDataProvider._initAttributePropValue = function (propValue) {
25656
+ return propValue
25657
+ ? propValue.map(function (p) { return new IkasProductAttributeValue(p); })
25658
+ : [];
25659
+ };
25595
25660
  IkasPageDataProvider.initLinkPropValue = function (prop, propValue, pageComponentPropValue) {
25596
25661
  pageComponentPropValue.propValues[prop.name] = this._initLinkPropValue(propValue);
25597
25662
  };
@@ -25632,25 +25697,27 @@ var IkasPageDataProvider = /** @class */ (function () {
25632
25697
  if (propValue === null || propValue === undefined)
25633
25698
  return null;
25634
25699
  switch (customData.type) {
25635
- case IkasThemeCustomDataType.BRAND:
25700
+ case IkasThemeComponentPropType.BRAND:
25636
25701
  return this._initBrandPropValue(propValue);
25637
- case IkasThemeCustomDataType.BRAND_LIST:
25702
+ case IkasThemeComponentPropType.BRAND_LIST:
25638
25703
  return this._initBrandListPropValue(propValue);
25639
- case IkasThemeCustomDataType.CATEGORY_LIST:
25704
+ case IkasThemeComponentPropType.CATEGORY_LIST:
25640
25705
  return this._initCategoryListPropValue(propValue);
25641
- case IkasThemeCustomDataType.CATEGORY:
25706
+ case IkasThemeComponentPropType.CATEGORY:
25642
25707
  return this._initCategoryPropValue(propValue);
25643
- case IkasThemeCustomDataType.IMAGE_LIST:
25708
+ case IkasThemeComponentPropType.IMAGE_LIST:
25644
25709
  return this._initImageListPropValue(propValue);
25645
- case IkasThemeCustomDataType.IMAGE:
25710
+ case IkasThemeComponentPropType.IMAGE:
25646
25711
  return this._initImagePropValue(propValue);
25647
- case IkasThemeCustomDataType.LINK:
25712
+ case IkasThemeComponentPropType.LINK:
25648
25713
  return this._initLinkPropValue(propValue);
25649
- case IkasThemeCustomDataType.PRODUCT_DETAIL:
25714
+ case IkasThemeComponentPropType.PRODUCT_DETAIL:
25650
25715
  return this._initProductDetailPropValue(propValue, router, isBrowser);
25651
- case IkasThemeCustomDataType.PRODUCT_LIST:
25716
+ case IkasThemeComponentPropType.PRODUCT_LIST:
25652
25717
  return this._initProductListPropValue(propValue, router);
25653
- case IkasThemeCustomDataType.OBJECT:
25718
+ case IkasThemeComponentPropType.PRODUCT_ATTRIBUTE:
25719
+ return this._initAttributePropValue(propValue);
25720
+ case IkasThemeComponentPropType.OBJECT:
25654
25721
  var objectValue = {};
25655
25722
  for (var _i = 0, _a = customData.nestedData || []; _i < _a.length; _i++) {
25656
25723
  var nestedCustomData = _a[_i];
@@ -25658,8 +25725,8 @@ var IkasPageDataProvider = /** @class */ (function () {
25658
25725
  objectValue[nestedCustomData.key] = this._initCustomDataPropValue(value, nestedCustomData, router, settings, isBrowser);
25659
25726
  }
25660
25727
  return objectValue;
25661
- case IkasThemeCustomDataType.DYNAMIC_LIST:
25662
- case IkasThemeCustomDataType.STATIC_LIST:
25728
+ case IkasThemeComponentPropType.DYNAMIC_LIST:
25729
+ case IkasThemeComponentPropType.STATIC_LIST:
25663
25730
  try {
25664
25731
  if (!propValue || !propValue.length)
25665
25732
  return null;
@@ -25673,9 +25740,9 @@ var IkasPageDataProvider = /** @class */ (function () {
25673
25740
  catch (err) {
25674
25741
  return [];
25675
25742
  }
25676
- case IkasThemeCustomDataType.COMPONENT:
25743
+ case IkasThemeComponentPropType.COMPONENT:
25677
25744
  return this._initComponentPropValue(propValue, router, settings, isBrowser);
25678
- case IkasThemeCustomDataType.COMPONENT_LIST:
25745
+ case IkasThemeComponentPropType.COMPONENT_LIST:
25679
25746
  return this._initComponentListPropValue(propValue, router, settings, isBrowser);
25680
25747
  default:
25681
25748
  return propValue;
@@ -25811,6 +25878,16 @@ var IkasBlog = /** @class */ (function () {
25811
25878
  this.image = data.imageId ? new IkasImage(data.imageId) : null;
25812
25879
  makeAutoObservable(this);
25813
25880
  }
25881
+ Object.defineProperty(IkasBlog.prototype, "href", {
25882
+ get: function () {
25883
+ var _a;
25884
+ if (!((_a = this.metadata) === null || _a === void 0 ? void 0 : _a.slug))
25885
+ return "";
25886
+ return "/blog/" + this.metadata.slug;
25887
+ },
25888
+ enumerable: false,
25889
+ configurable: true
25890
+ });
25814
25891
  return IkasBlog;
25815
25892
  }());
25816
25893
  var IkasBlogContent = /** @class */ (function () {
@@ -25867,6 +25944,16 @@ var IkasBlogCategory = /** @class */ (function () {
25867
25944
  this.metadata = data.metadata ? new IkasBlogMetaData(data.metadata) : null;
25868
25945
  makeAutoObservable(this);
25869
25946
  }
25947
+ Object.defineProperty(IkasBlogCategory.prototype, "href", {
25948
+ get: function () {
25949
+ var _a;
25950
+ if (!((_a = this.metadata) === null || _a === void 0 ? void 0 : _a.slug))
25951
+ return "";
25952
+ return "/blog/" + this.metadata.slug;
25953
+ },
25954
+ enumerable: false,
25955
+ configurable: true
25956
+ });
25870
25957
  return IkasBlogCategory;
25871
25958
  }());
25872
25959
  var IkasBlogTag = /** @class */ (function () {
@@ -25891,7 +25978,7 @@ var IkasBlogAPI = /** @class */ (function () {
25891
25978
  return __generator(this, function (_b) {
25892
25979
  switch (_b.label) {
25893
25980
  case 0:
25894
- 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 "])));
25981
+ 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 "])));
25895
25982
  _b.label = 1;
25896
25983
  case 1:
25897
25984
  _b.trys.push([1, 3, , 4]);
@@ -27462,6 +27549,26 @@ var IkasMerchantAPI = /** @class */ (function () {
27462
27549
  }());
27463
27550
  var templateObject_1$a;
27464
27551
 
27552
+ var IkasProductAttributeTableCell = /** @class */ (function () {
27553
+ function IkasProductAttributeTableCell(data) {
27554
+ this.id = (data === null || data === void 0 ? void 0 : data.id) || "";
27555
+ this.name = (data === null || data === void 0 ? void 0 : data.name) || null;
27556
+ makeAutoObservable(this);
27557
+ }
27558
+ return IkasProductAttributeTableCell;
27559
+ }());
27560
+
27561
+ var IkasProductAttributeTableTemplate = /** @class */ (function () {
27562
+ function IkasProductAttributeTableTemplate(data) {
27563
+ this.columns = (data === null || data === void 0 ? void 0 : data.columns) ? data.columns.map(function (c) { return new IkasProductAttributeTableCell(c); })
27564
+ : [];
27565
+ this.rows = (data === null || data === void 0 ? void 0 : data.rows) ? data.rows.map(function (r) { return new IkasProductAttributeTableCell(r); })
27566
+ : [];
27567
+ makeAutoObservable(this);
27568
+ }
27569
+ return IkasProductAttributeTableTemplate;
27570
+ }());
27571
+
27465
27572
  var IkasProductSearchAPI = /** @class */ (function () {
27466
27573
  function IkasProductSearchAPI() {
27467
27574
  }
@@ -27556,7 +27663,7 @@ function simpleToProduct(simple) {
27556
27663
  return new IkasProduct({
27557
27664
  id: simple.id,
27558
27665
  attributes: (_a = simple.attributes) === null || _a === void 0 ? void 0 : _a.map(function (a) {
27559
- var _a, _b, _c, _d, _e;
27666
+ var _a, _b, _c, _d, _e, _f;
27560
27667
  return new IkasProductAttributeValue({
27561
27668
  value: a.value,
27562
27669
  productAttributeId: (_a = a.productAttribute) === null || _a === void 0 ? void 0 : _a.id,
@@ -27565,6 +27672,8 @@ function simpleToProduct(simple) {
27565
27672
  id: (_c = a.productAttribute) === null || _c === void 0 ? void 0 : _c.id,
27566
27673
  name: (_d = a.productAttribute) === null || _d === void 0 ? void 0 : _d.name,
27567
27674
  type: (_e = a.productAttribute) === null || _e === void 0 ? void 0 : _e.type,
27675
+ tableTemplate: ((_f = a.productAttribute) === null || _f === void 0 ? void 0 : _f.tableTemplate) ? new IkasProductAttributeTableTemplate(a.productAttribute.tableTemplate)
27676
+ : null,
27568
27677
  }),
27569
27678
  productAttributeOption: a.productAttributeOption,
27570
27679
  });
@@ -27596,7 +27705,6 @@ function simpleToProduct(simple) {
27596
27705
  metaData: new IkasHTMLMetaData(simple.metaData || undefined),
27597
27706
  name: simple.name,
27598
27707
  shortDescription: simple.shortDescription || undefined,
27599
- type: simple.type || undefined,
27600
27708
  variantTypes: simple.productVariantTypes.map(function (pvt) {
27601
27709
  return new IkasProductVariantType({
27602
27710
  variantType: new IkasVariantType({
@@ -27623,7 +27731,7 @@ function simpleToProduct(simple) {
27623
27731
  return new IkasProductVariant({
27624
27732
  id: v.id,
27625
27733
  attributes: (_a = v.attributes) === null || _a === void 0 ? void 0 : _a.map(function (a) {
27626
- var _a, _b, _c, _d, _e;
27734
+ var _a, _b, _c, _d, _e, _f;
27627
27735
  return new IkasProductAttributeValue({
27628
27736
  value: a.value,
27629
27737
  productAttributeId: (_a = a.productAttribute) === null || _a === void 0 ? void 0 : _a.id,
@@ -27632,6 +27740,8 @@ function simpleToProduct(simple) {
27632
27740
  id: (_c = a.productAttribute) === null || _c === void 0 ? void 0 : _c.id,
27633
27741
  name: (_d = a.productAttribute) === null || _d === void 0 ? void 0 : _d.name,
27634
27742
  type: (_e = a.productAttribute) === null || _e === void 0 ? void 0 : _e.type,
27743
+ tableTemplate: ((_f = a.productAttribute) === null || _f === void 0 ? void 0 : _f.tableTemplate) ? new IkasProductAttributeTableTemplate(a.productAttribute.tableTemplate)
27744
+ : null,
27635
27745
  }),
27636
27746
  productAttributeOption: a.productAttributeOption,
27637
27747
  });
@@ -31156,4 +31266,4 @@ var IkasBaseStore = /** @class */ (function () {
31156
31266
  return IkasBaseStore;
31157
31267
  }());
31158
31268
 
31159
- export { AccountInfoForm, index$3 as AccountPage, AddressForm, addresses as AddressesPage, Analytics, AnalyticsBody, AnalyticsHead, index$5 as BlogPage, _slug_$2 as BlogSlugPage, cart as CartPage, _id_$1 as CheckoutPage, ContactForm, _slug_ as CustomPage, editor$1 as EditorPage, EmailRule, EqualsRule, favoriteProducts as FavoriteProductsPage, ForgotPasswordForm, forgotPassword as ForgotPasswordPage, IkasAmountTypeEnum$1 as IkasAmountTypeEnum, IkasApplicableProductFilterValue, IkasBaseStore, IkasBlog, IkasBlogAPI, IkasBlogCategory, IkasBlogContent, IkasBlogList, IkasBlogListPropValue, IkasBlogListType, IkasBlogMetaData, IkasBlogMetadataTargetType, IkasBlogPropValue, IkasBlogTag, IkasBlogWriter, IkasBrand, IkasBrandAPI, IkasBrandList, IkasBrandListPropValue, IkasBrandListSortType, IkasBrandListType, IkasBrandPropValue, IkasCardAssociation, IkasCardType, IkasCartAPI, IkasCategory, IkasCategoryAPI, IkasCategoryList, IkasCategoryListPropValue, IkasCategoryListSortType, IkasCategoryListType, IkasCategoryPropValue, IkasCheckout, IkasCheckoutAPI, IkasCheckoutPage, IkasCheckoutRecoveryEmailStatus, IkasCheckoutRecoveryStatus, IkasCheckoutStatus, IkasCityAPI, IkasComponentRenderer, IkasContactForm, IkasContactFormAPI, IkasCountryAPI, IkasCustomer, IkasCustomerAPI, IkasCustomerAddress, IkasDistrictAPI, IkasFavoriteProduct, IkasFavoriteProductAPI, IkasHTMLMetaData, IkasHTMLMetaDataAPI, IkasHTMLMetaDataTargetType, IkasImage, IkasLinkPropValue, IkasLinkType, IkasMerchantAPI, IkasMerchantSettings, IkasNavigationLink, IkasOrder, IkasOrderCancelledReason, IkasOrderLineItem, IkasOrderPackageFulfillStatus, IkasOrderPackageStatus, IkasOrderPaymentStatus, IkasOrderShippingMethod, IkasOrderStatus, IkasOrderTransaction, IkasPage, IkasPageComponentPropValue, IkasPageDataProvider, IkasPageEditor, IkasPageHead, IkasPaymentMethod, IkasProduct, IkasProductAttribute, IkasProductAttributeAPI, IkasProductAttributeValue, IkasProductDetail, IkasProductDetailPropValue, IkasProductFilter, IkasProductFilterDisplayType, IkasProductFilterSettings, IkasProductFilterSortType, IkasProductFilterType, IkasProductFilterValue, IkasProductList, IkasProductListPropValue, IkasProductListSortType, IkasProductListType, IkasProductPrice, IkasProductSearchAPI, IkasProductType, IkasProductVariant, IkasProductVariantType, IkasShippingMethod, IkasShippingMethodEnum, IkasStateAPI, IkasStorefrontConfig, IkasTheme, IkasThemeComponent, IkasThemeComponentProp, IkasThemeComponentPropType, IkasThemeCustomData, IkasThemeCustomDataType, IkasThemePage, IkasThemePageComponent, IkasThemePageType, IkasThemeSettings, IkasTransactionStatusEnum, IkasTransactionTypeEnum, IkasVariantSelectionType, IkasVariantType, IkasVariantTypeAPI, IkasVariantValue, Image, home as IndexPage, LessThanRule, LoginForm, login as LoginPage, MaxRule, MinRule, _404 as NotFoundPage, _id_$2 as OrderDetailPage, OrderLineItemStatusEnum$1 as OrderLineItemStatusEnum, index$4 as OrdersPage, PhoneRule, RangeValue, RecoverPasswordForm, recoverPassword as RecoverPasswordPage, RegisterForm, register as RegisterPage, RequiredRule, search as SearchPage, index$2 as SlugPage, ValidationRule, Validator, ValidatorErrorType, apollo, decodeBase64, formatMoney, getPlaceholderBlog, getPlaceholderBrand, getPlaceholderCategory, getPlaceholderProduct, parseRangeStr, pascalCase, stringToSlug, validatePhoneNumber };
31269
+ export { AccountInfoForm, index$3 as AccountPage, AddressForm, addresses as AddressesPage, Analytics, AnalyticsBody, AnalyticsHead, index$5 as BlogPage, _slug_$2 as BlogSlugPage, cart as CartPage, _id_$1 as CheckoutPage, ContactForm, _slug_ as CustomPage, editor$1 as EditorPage, EmailRule, EqualsRule, favoriteProducts as FavoriteProductsPage, ForgotPasswordForm, forgotPassword as ForgotPasswordPage, IkasAmountTypeEnum$1 as IkasAmountTypeEnum, IkasApplicableProductFilterValue, IkasBaseStore, IkasBlog, IkasBlogAPI, IkasBlogCategory, IkasBlogContent, IkasBlogList, IkasBlogListPropValue, IkasBlogListType, IkasBlogMetaData, IkasBlogMetadataTargetType, IkasBlogPropValue, IkasBlogTag, IkasBlogWriter, IkasBrand, IkasBrandAPI, IkasBrandList, IkasBrandListPropValue, IkasBrandListSortType, IkasBrandListType, IkasBrandPropValue, IkasCardAssociation, IkasCardType, IkasCartAPI, IkasCategory, IkasCategoryAPI, IkasCategoryList, IkasCategoryListPropValue, IkasCategoryListSortType, IkasCategoryListType, IkasCategoryPropValue, IkasCheckout, IkasCheckoutAPI, IkasCheckoutPage, IkasCheckoutRecoveryEmailStatus, IkasCheckoutRecoveryStatus, IkasCheckoutStatus, IkasCityAPI, IkasComponentRenderer, IkasContactForm, IkasContactFormAPI, IkasCountryAPI, IkasCustomer, IkasCustomerAPI, IkasCustomerAddress, IkasDistrictAPI, IkasFavoriteProduct, IkasFavoriteProductAPI, IkasHTMLMetaData, IkasHTMLMetaDataAPI, IkasHTMLMetaDataTargetType, IkasImage, IkasLinkPropValue, IkasLinkType, IkasMerchantAPI, IkasMerchantSettings, IkasNavigationLink, IkasOrder, IkasOrderCancelledReason, IkasOrderLineItem, IkasOrderPackageFulfillStatus, IkasOrderPackageStatus, IkasOrderPaymentStatus, IkasOrderShippingMethod, IkasOrderStatus, IkasOrderTransaction, IkasPage, IkasPageComponentPropValue, IkasPageDataProvider, IkasPageEditor, IkasPageHead, IkasPaymentMethod, IkasProduct, IkasProductAttribute, IkasProductAttributeAPI, IkasProductAttributeValue, IkasProductDetail, IkasProductDetailPropValue, IkasProductFilter, IkasProductFilterDisplayType, IkasProductFilterSettings, IkasProductFilterSortType, IkasProductFilterType, IkasProductFilterValue, IkasProductList, IkasProductListPropValue, IkasProductListSortType, IkasProductListType, IkasProductPrice, IkasProductSearchAPI, IkasProductType, IkasProductVariant, IkasProductVariantType, IkasShippingMethod, IkasShippingMethodEnum, IkasStateAPI, IkasStorefrontConfig, IkasTheme, IkasThemeComponent, IkasThemeComponentProp, IkasThemeComponentPropType, IkasThemeCustomData, IkasThemePage, IkasThemePageComponent, IkasThemePageType, IkasThemeSettings, IkasTransactionStatusEnum, IkasTransactionTypeEnum, IkasVariantSelectionType, IkasVariantType, IkasVariantTypeAPI, IkasVariantValue, Image, home as IndexPage, LessThanRule, LoginForm, login as LoginPage, MaxRule, MinRule, _404 as NotFoundPage, _id_$2 as OrderDetailPage, OrderLineItemStatusEnum$1 as OrderLineItemStatusEnum, index$4 as OrdersPage, PhoneRule, RangeValue, RecoverPasswordForm, recoverPassword as RecoverPasswordPage, RegisterForm, register as RegisterPage, RequiredRule, search as SearchPage, index$2 as SlugPage, ValidationRule, Validator, ValidatorErrorType, apollo, decodeBase64, formatMoney, getPlaceholderBlog, getPlaceholderBrand, getPlaceholderCategory, getPlaceholderProduct, parseRangeStr, pascalCase, stringToSlug, validatePhoneNumber };