@ikas/storefront 0.0.122 → 0.0.123

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
@@ -1,10 +1,10 @@
1
- import { makeAutoObservable, toJS, runInAction, reaction, makeObservable, computed, observable, action, configure } from 'mobx';
2
- import React, { createElement, Fragment, useState, useEffect, useCallback, useRef, useMemo } from 'react';
1
+ import { makeAutoObservable, computed, toJS, runInAction, reaction, makeObservable, observable, action, configure } from 'mobx';
2
+ import React, { createElement, useState, useEffect, Fragment, useCallback, useRef, useMemo } from 'react';
3
3
  import { observer } from 'mobx-react-lite';
4
+ import Head from 'next/head';
4
5
  import { useRouter } from 'next/router';
5
6
  import Image$1 from 'next/image';
6
7
  import Link from 'next/link';
7
- import Head from 'next/head';
8
8
  import fs from 'fs';
9
9
  import getConfig from 'next/config';
10
10
  import dynamic from 'next/dynamic';
@@ -11386,12 +11386,27 @@ var IkasCategoryListPropValueProvider = /** @class */ (function () {
11386
11386
  return IkasCategoryListPropValueProvider;
11387
11387
  }());
11388
11388
 
11389
+ var IkasRichTextPropValueProvider = /** @class */ (function () {
11390
+ function IkasRichTextPropValueProvider(textPropValue) {
11391
+ this.text = textPropValue;
11392
+ }
11393
+ IkasRichTextPropValueProvider.prototype.getValue = function () {
11394
+ return __awaiter(this, void 0, void 0, function () {
11395
+ return __generator(this, function (_a) {
11396
+ return [2 /*return*/, this.text];
11397
+ });
11398
+ });
11399
+ };
11400
+ return IkasRichTextPropValueProvider;
11401
+ }());
11402
+
11389
11403
  var IkasCustomPropValueProvider = /** @class */ (function () {
11390
- function IkasCustomPropValueProvider(value, customData, theme, pageType, pageSpecificData, pageParams) {
11404
+ function IkasCustomPropValueProvider(value, customData, theme, pageType, pageDataProvider, pageSpecificData, pageParams) {
11391
11405
  this.value = value;
11392
11406
  this.customData = customData;
11393
11407
  this.theme = theme;
11394
11408
  this.pageType = pageType;
11409
+ this.pageDataProvider = pageDataProvider;
11395
11410
  this.pageSpecificData = pageSpecificData;
11396
11411
  this.pageParams = pageParams;
11397
11412
  }
@@ -11405,89 +11420,100 @@ var IkasCustomPropValueProvider = /** @class */ (function () {
11405
11420
  return [2 /*return*/];
11406
11421
  _b.label = 1;
11407
11422
  case 1:
11408
- _b.trys.push([1, 32, , 33]);
11423
+ _b.trys.push([1, 36, , 37]);
11409
11424
  _a = this.customData.type;
11410
11425
  switch (_a) {
11411
11426
  case IkasThemeCustomDataType.TEXT: return [3 /*break*/, 2];
11412
- case IkasThemeCustomDataType.BOOLEAN: return [3 /*break*/, 4];
11413
- case IkasThemeCustomDataType.BRAND_LIST: return [3 /*break*/, 6];
11414
- case IkasThemeCustomDataType.BRAND: return [3 /*break*/, 8];
11415
- case IkasThemeCustomDataType.CATEGORY_LIST: return [3 /*break*/, 10];
11416
- case IkasThemeCustomDataType.CATEGORY: return [3 /*break*/, 12];
11417
- case IkasThemeCustomDataType.COLOR: return [3 /*break*/, 14];
11418
- case IkasThemeCustomDataType.IMAGE_LIST: return [3 /*break*/, 16];
11419
- case IkasThemeCustomDataType.IMAGE: return [3 /*break*/, 18];
11420
- case IkasThemeCustomDataType.LINK: return [3 /*break*/, 20];
11421
- case IkasThemeCustomDataType.LIST_OF_LINK: return [3 /*break*/, 20];
11422
- case IkasThemeCustomDataType.PRODUCT_DETAIL: return [3 /*break*/, 22];
11423
- case IkasThemeCustomDataType.PRODUCT_LIST: return [3 /*break*/, 24];
11424
- case IkasThemeCustomDataType.OBJECT: return [3 /*break*/, 26];
11425
- case IkasThemeCustomDataType.DYNAMIC_LIST: return [3 /*break*/, 28];
11426
- case IkasThemeCustomDataType.STATIC_LIST: return [3 /*break*/, 28];
11427
+ case IkasThemeCustomDataType.RICH_TEXT: return [3 /*break*/, 4];
11428
+ case IkasThemeCustomDataType.BOOLEAN: return [3 /*break*/, 6];
11429
+ case IkasThemeCustomDataType.BRAND_LIST: return [3 /*break*/, 8];
11430
+ case IkasThemeCustomDataType.BRAND: return [3 /*break*/, 10];
11431
+ case IkasThemeCustomDataType.CATEGORY_LIST: return [3 /*break*/, 12];
11432
+ case IkasThemeCustomDataType.CATEGORY: return [3 /*break*/, 14];
11433
+ case IkasThemeCustomDataType.COLOR: return [3 /*break*/, 16];
11434
+ case IkasThemeCustomDataType.IMAGE_LIST: return [3 /*break*/, 18];
11435
+ case IkasThemeCustomDataType.IMAGE: return [3 /*break*/, 20];
11436
+ case IkasThemeCustomDataType.LINK: return [3 /*break*/, 22];
11437
+ case IkasThemeCustomDataType.LIST_OF_LINK: return [3 /*break*/, 22];
11438
+ case IkasThemeCustomDataType.PRODUCT_DETAIL: return [3 /*break*/, 24];
11439
+ case IkasThemeCustomDataType.PRODUCT_LIST: return [3 /*break*/, 26];
11440
+ case IkasThemeCustomDataType.OBJECT: return [3 /*break*/, 28];
11441
+ case IkasThemeCustomDataType.DYNAMIC_LIST: return [3 /*break*/, 30];
11442
+ case IkasThemeCustomDataType.STATIC_LIST: return [3 /*break*/, 30];
11443
+ case IkasThemeCustomDataType.COMPONENT: return [3 /*break*/, 32];
11444
+ case IkasThemeCustomDataType.COMPONENT_LIST: return [3 /*break*/, 32];
11427
11445
  }
11428
- return [3 /*break*/, 30];
11446
+ return [3 /*break*/, 34];
11429
11447
  case 2: return [4 /*yield*/, this.getTextValue()];
11430
11448
  case 3:
11431
11449
  customDataValue = _b.sent();
11432
- return [3 /*break*/, 31];
11433
- case 4: return [4 /*yield*/, this.getBooleanValue()];
11450
+ return [3 /*break*/, 35];
11451
+ case 4: return [4 /*yield*/, this.getRichTextPropValue()];
11434
11452
  case 5:
11435
11453
  customDataValue = _b.sent();
11436
- return [3 /*break*/, 31];
11437
- case 6: return [4 /*yield*/, this.getBrandListPropValue()];
11454
+ return [3 /*break*/, 35];
11455
+ case 6: return [4 /*yield*/, this.getBooleanValue()];
11438
11456
  case 7:
11439
11457
  customDataValue = _b.sent();
11440
- return [3 /*break*/, 31];
11441
- case 8: return [4 /*yield*/, this.getBrandPropValue()];
11458
+ return [3 /*break*/, 35];
11459
+ case 8: return [4 /*yield*/, this.getBrandListPropValue()];
11442
11460
  case 9:
11443
11461
  customDataValue = _b.sent();
11444
- return [3 /*break*/, 31];
11445
- case 10: return [4 /*yield*/, this.getCategoryListPropValue()];
11462
+ return [3 /*break*/, 35];
11463
+ case 10: return [4 /*yield*/, this.getBrandPropValue()];
11446
11464
  case 11:
11447
11465
  customDataValue = _b.sent();
11448
- return [3 /*break*/, 31];
11449
- case 12: return [4 /*yield*/, this.getCategoryPropValue()];
11466
+ return [3 /*break*/, 35];
11467
+ case 12: return [4 /*yield*/, this.getCategoryListPropValue()];
11450
11468
  case 13:
11451
11469
  customDataValue = _b.sent();
11452
- return [3 /*break*/, 31];
11453
- case 14: return [4 /*yield*/, this.getColorPropValue()];
11470
+ return [3 /*break*/, 35];
11471
+ case 14: return [4 /*yield*/, this.getCategoryPropValue()];
11454
11472
  case 15:
11455
11473
  customDataValue = _b.sent();
11456
- return [3 /*break*/, 31];
11457
- case 16: return [4 /*yield*/, this.getImageListPropValue()];
11474
+ return [3 /*break*/, 35];
11475
+ case 16: return [4 /*yield*/, this.getColorPropValue()];
11458
11476
  case 17:
11459
11477
  customDataValue = _b.sent();
11460
- return [3 /*break*/, 31];
11461
- case 18: return [4 /*yield*/, this.getImagePropValue()];
11478
+ return [3 /*break*/, 35];
11479
+ case 18: return [4 /*yield*/, this.getImageListPropValue()];
11462
11480
  case 19:
11463
11481
  customDataValue = _b.sent();
11464
- return [3 /*break*/, 31];
11465
- case 20: return [4 /*yield*/, this.getLinkPropValue()];
11482
+ return [3 /*break*/, 35];
11483
+ case 20: return [4 /*yield*/, this.getImagePropValue()];
11466
11484
  case 21:
11467
11485
  customDataValue = _b.sent();
11468
- return [3 /*break*/, 31];
11469
- case 22: return [4 /*yield*/, this.getProductDetailPropValue()];
11486
+ return [3 /*break*/, 35];
11487
+ case 22: return [4 /*yield*/, this.getLinkPropValue()];
11470
11488
  case 23:
11471
11489
  customDataValue = _b.sent();
11472
- return [3 /*break*/, 31];
11473
- case 24: return [4 /*yield*/, this.getProductListPropValue()];
11490
+ return [3 /*break*/, 35];
11491
+ case 24: return [4 /*yield*/, this.getProductDetailPropValue()];
11474
11492
  case 25:
11475
11493
  customDataValue = _b.sent();
11476
- return [3 /*break*/, 31];
11477
- case 26: return [4 /*yield*/, this.getObjectValue()];
11494
+ return [3 /*break*/, 35];
11495
+ case 26: return [4 /*yield*/, this.getProductListPropValue()];
11478
11496
  case 27:
11479
11497
  customDataValue = _b.sent();
11480
- return [3 /*break*/, 31];
11481
- case 28: return [4 /*yield*/, this.getArrayValue()];
11498
+ return [3 /*break*/, 35];
11499
+ case 28: return [4 /*yield*/, this.getObjectValue()];
11482
11500
  case 29:
11483
11501
  customDataValue = _b.sent();
11484
- return [3 /*break*/, 31];
11485
- case 30: return [3 /*break*/, 31];
11486
- case 31: return [3 /*break*/, 33];
11487
- case 32:
11502
+ return [3 /*break*/, 35];
11503
+ case 30: return [4 /*yield*/, this.getArrayValue()];
11504
+ case 31:
11505
+ customDataValue = _b.sent();
11506
+ return [3 /*break*/, 35];
11507
+ case 32: return [4 /*yield*/, this.getComponentListValue()];
11508
+ case 33:
11509
+ customDataValue = _b.sent();
11510
+ return [3 /*break*/, 35];
11511
+ case 34: return [3 /*break*/, 35];
11512
+ case 35: return [3 /*break*/, 37];
11513
+ case 36:
11488
11514
  _b.sent();
11489
11515
  return [2 /*return*/];
11490
- case 33: return [2 /*return*/, JSON.parse(JSON.stringify(customDataValue))];
11516
+ case 37: return [2 /*return*/, JSON.parse(JSON.stringify(customDataValue))];
11491
11517
  }
11492
11518
  });
11493
11519
  });
@@ -11600,6 +11626,24 @@ var IkasCustomPropValueProvider = /** @class */ (function () {
11600
11626
  });
11601
11627
  });
11602
11628
  };
11629
+ IkasCustomPropValueProvider.prototype.getRichTextPropValue = function () {
11630
+ return __awaiter(this, void 0, void 0, function () {
11631
+ var provider, value;
11632
+ return __generator(this, function (_a) {
11633
+ switch (_a.label) {
11634
+ case 0:
11635
+ provider = new IkasRichTextPropValueProvider(this.value);
11636
+ return [4 /*yield*/, provider.getValue()];
11637
+ case 1:
11638
+ value = _a.sent();
11639
+ return [2 /*return*/, {
11640
+ value: value,
11641
+ customData: this.customData,
11642
+ }];
11643
+ }
11644
+ });
11645
+ });
11646
+ };
11603
11647
  IkasCustomPropValueProvider.prototype.getImageListPropValue = function () {
11604
11648
  return __awaiter(this, void 0, void 0, function () {
11605
11649
  var provider, value;
@@ -11726,7 +11770,7 @@ var IkasCustomPropValueProvider = /** @class */ (function () {
11726
11770
  if (nestedData.isRequired &&
11727
11771
  (nestedValue === undefined || nestedValue === null))
11728
11772
  throw new Error("Required data is missing");
11729
- nestedProvider = new IkasCustomPropValueProvider(nestedValue, nestedData, this.theme, this.pageSpecificData);
11773
+ nestedProvider = new IkasCustomPropValueProvider(nestedValue, nestedData, this.theme, this.pageType, this.pageDataProvider, this.pageSpecificData);
11730
11774
  return [4 /*yield*/, nestedProvider.getValue()];
11731
11775
  case 2:
11732
11776
  _itemValue = _b.sent();
@@ -11764,7 +11808,7 @@ var IkasCustomPropValueProvider = /** @class */ (function () {
11764
11808
  if (nestedData.isRequired &&
11765
11809
  (itemValue === undefined || itemValue === null))
11766
11810
  throw new Error("Required data is missing");
11767
- provider = new IkasCustomPropValueProvider(itemValue, nestedData, this.theme, this.pageSpecificData);
11811
+ provider = new IkasCustomPropValueProvider(itemValue, nestedData, this.theme, this.pageType, this.pageDataProvider, this.pageSpecificData);
11768
11812
  return [4 /*yield*/, provider.getValue()];
11769
11813
  case 2:
11770
11814
  _itemValue = _b.sent();
@@ -11786,6 +11830,28 @@ var IkasCustomPropValueProvider = /** @class */ (function () {
11786
11830
  });
11787
11831
  });
11788
11832
  };
11833
+ IkasCustomPropValueProvider.prototype.getComponentListValue = function () {
11834
+ return __awaiter(this, void 0, void 0, function () {
11835
+ var pageComponents;
11836
+ var _a;
11837
+ var _this = this;
11838
+ return __generator(this, function (_b) {
11839
+ switch (_b.label) {
11840
+ case 0:
11841
+ pageComponents = this.value
11842
+ ? this.value.map(function (v) { return new IkasThemePageComponent(v); })
11843
+ : [];
11844
+ _a = {};
11845
+ return [4 /*yield*/, Promise.all(pageComponents.map(function (tp) {
11846
+ return _this.pageDataProvider.getPageComponentPropValues(tp);
11847
+ }))];
11848
+ case 1: return [2 /*return*/, (_a.value = _b.sent(),
11849
+ _a.customData = this.customData,
11850
+ _a)];
11851
+ }
11852
+ });
11853
+ });
11854
+ };
11789
11855
  return IkasCustomPropValueProvider;
11790
11856
  }());
11791
11857
 
@@ -11817,108 +11883,375 @@ var decodeBase64 = function (base64) {
11817
11883
  return buffer.toString("ascii");
11818
11884
  };
11819
11885
 
11820
- var IkasPageDataProvider = /** @class */ (function () {
11821
- function IkasPageDataProvider(theme, pageParams, pageType) {
11822
- this.pageType = null;
11823
- this.pageParams = {};
11824
- this.pageComponentPropValues = [];
11825
- this.pageSpecificData = null;
11826
- this.merchantSettings = null;
11827
- this.theme = new IkasTheme(theme);
11828
- this.pageParams = pageParams || {};
11829
- this.pageType = pageType;
11830
- makeAutoObservable(this);
11831
- }
11832
- Object.defineProperty(IkasPageDataProvider.prototype, "page", {
11833
- get: function () {
11834
- var _this = this;
11835
- if (this.pageType === IkasThemePageType.CUSTOM) {
11836
- var slug_1 = this.pageParams.slug;
11837
- return this.theme.pages.find(function (page) { return page.type === IkasThemePageType.CUSTOM && page.slug === slug_1; });
11838
- }
11839
- return this.theme.pages.find(function (page) { return page.type === _this.pageType; });
11840
- },
11841
- enumerable: false,
11842
- configurable: true
11843
- });
11844
- Object.defineProperty(IkasPageDataProvider.prototype, "nextPageData", {
11845
- get: function () {
11846
- return {
11847
- props: {
11848
- propValuesStr: JSON.stringify(this.pageComponentPropValues),
11849
- pageSpecificDataStr: this.pageSpecificData
11850
- ? JSON.stringify(this.pageSpecificData || {})
11851
- : "",
11852
- page: toJS(this.page) || null,
11853
- settingsStr: JSON.stringify(this.theme.settings || {}),
11854
- merchantSettings: this.merchantSettings
11855
- ? JSON.stringify(this.merchantSettings)
11856
- : null,
11857
- configJson: IkasStorefrontConfig.getJson(),
11858
- },
11859
- };
11860
- },
11861
- enumerable: false,
11862
- configurable: true
11886
+ var ThemeComponent = observer(function (_a) {
11887
+ var pageComponentPropValue = _a.pageComponentPropValue, index = _a.index, settings = _a.settings;
11888
+ var store = IkasStorefrontConfig.store, components = IkasStorefrontConfig.components;
11889
+ var pageComponent = pageComponentPropValue.pageComponent;
11890
+ var propValues = pageComponentPropValue.propValues;
11891
+ var hasNullValue = computed(function () {
11892
+ return Object.entries(propValues || {}).some(function (_a) {
11893
+ var _b;
11894
+ var propName = _a[0], propValue = _a[1];
11895
+ return (propValue === null || propValue === undefined) && ((_b = pageComponentPropValue.component.props.find(function (p) { return p.name === propName; })) === null || _b === void 0 ? void 0 : _b.isRequired);
11896
+ });
11863
11897
  });
11864
- Object.defineProperty(IkasPageDataProvider.prototype, "specification", {
11865
- get: function () {
11866
- var _this = this;
11867
- var _a, _b, _c;
11868
- var selectedPage = this.page;
11869
- var specification;
11870
- if ((selectedPage === null || selectedPage === void 0 ? void 0 : selectedPage.type) === IkasThemePageType.PRODUCT) {
11871
- specification = (_a = selectedPage.specifications) === null || _a === void 0 ? void 0 : _a.find(function (s) { var _a; return s.id === ((_a = _this.pageSpecificData) === null || _a === void 0 ? void 0 : _a.product.id); });
11872
- }
11873
- if ((selectedPage === null || selectedPage === void 0 ? void 0 : selectedPage.type) === IkasThemePageType.CATEGORY) {
11874
- specification = (_b = selectedPage.specifications) === null || _b === void 0 ? void 0 : _b.find(function (s) { var _a; return s.id === ((_a = _this.pageSpecificData) === null || _a === void 0 ? void 0 : _a.id); });
11898
+ var Component = components[pageComponent.componentId];
11899
+ return (createElement("div", { id: index + "" }, hasNullValue.get() ? null : (createElement(Component, __assign({ key: pageComponent.id }, propValues, { settings: settings, store: store })))));
11900
+ });
11901
+
11902
+ var IkasPageHead = observer(function (_a) {
11903
+ var _b;
11904
+ var page = _a.page, pageTitle = _a.pageTitle, description = _a.description, pageSpecificDataStr = _a.pageSpecificDataStr, props = __rest(_a, ["page", "pageTitle", "description", "pageSpecificDataStr"]);
11905
+ var ogpMetas = [];
11906
+ var schemas = [];
11907
+ var isCanonicalLinkAdd = false;
11908
+ var canonicalHref = "";
11909
+ if (props.addOgpMetas) {
11910
+ ogpMetas.push({
11911
+ property: "og:type",
11912
+ content: "website",
11913
+ });
11914
+ if (typeof window !== "undefined") {
11915
+ ogpMetas.push({
11916
+ property: "og:site_name",
11917
+ content: "https://" + window.location.hostname,
11918
+ });
11919
+ }
11920
+ if (pageTitle) {
11921
+ ogpMetas.push({
11922
+ property: "og:title",
11923
+ content: pageTitle,
11924
+ });
11925
+ }
11926
+ if (description) {
11927
+ ogpMetas.push({
11928
+ property: "og:description",
11929
+ content: description,
11930
+ });
11931
+ }
11932
+ if (typeof window !== "undefined") {
11933
+ ogpMetas.push({
11934
+ property: "og:url",
11935
+ content: window.location.href,
11936
+ });
11937
+ }
11938
+ if (props.merchantSettings) {
11939
+ if (pageSpecificDataStr && (page === null || page === void 0 ? void 0 : page.type) === IkasThemePageType.PRODUCT) {
11940
+ var productDetailParsed = JSON.parse(pageSpecificDataStr);
11941
+ var productDetail = new IkasProductDetail(productDetailParsed.product, productDetailParsed.selectedVariantValues);
11942
+ if (productDetail.selectedVariant.mainImage) {
11943
+ ogpMetas.push({
11944
+ property: "og:image",
11945
+ content: (_b = productDetail.selectedVariant.mainImage) === null || _b === void 0 ? void 0 : _b.src,
11946
+ });
11947
+ }
11875
11948
  }
11876
- if ((selectedPage === null || selectedPage === void 0 ? void 0 : selectedPage.type) === IkasThemePageType.BRAND) {
11877
- specification = (_c = selectedPage.specifications) === null || _c === void 0 ? void 0 : _c.find(function (s) { var _a; return s.id === ((_a = _this.pageSpecificData) === null || _a === void 0 ? void 0 : _a.id); });
11949
+ else {
11950
+ var merchantSettings = new IkasMerchantSettings(JSON.parse(props.merchantSettings));
11951
+ ogpMetas.push({
11952
+ property: "og:image",
11953
+ content: merchantSettings.logo.src,
11954
+ });
11878
11955
  }
11879
- return specification;
11880
- },
11881
- enumerable: false,
11882
- configurable: true
11883
- });
11884
- Object.defineProperty(IkasPageDataProvider.prototype, "pageComponents", {
11885
- get: function () {
11886
- var _a;
11887
- if (this.specification)
11888
- return this.specification.components;
11889
- return ((_a = this.page) === null || _a === void 0 ? void 0 : _a.components) || [];
11890
- },
11891
- enumerable: false,
11892
- configurable: true
11893
- });
11894
- Object.defineProperty(IkasPageDataProvider.prototype, "isStaticPage", {
11895
- get: function () {
11896
- var staticPageTypes = [
11897
- IkasThemePageType.PRODUCT,
11898
- IkasThemePageType.INDEX,
11899
- ];
11900
- return this.pageType && staticPageTypes.includes(this.pageType);
11901
- },
11902
- enumerable: false,
11903
- configurable: true
11904
- });
11905
- IkasPageDataProvider.prototype.getMerchantSettings = function () {
11906
- return __awaiter(this, void 0, void 0, function () {
11907
- var merchantId, merchantSettingsResponse;
11908
- return __generator(this, function (_a) {
11909
- switch (_a.label) {
11910
- case 0:
11911
- merchantId = decodeBase64(IkasStorefrontConfig.config.apiKey || "");
11912
- return [4 /*yield*/, IkasMerchantAPI.listMerchantSettings(merchantId)];
11913
- case 1:
11914
- merchantSettingsResponse = _a.sent();
11915
- if (merchantSettingsResponse) {
11916
- this.merchantSettings = merchantSettingsResponse;
11917
- }
11918
- return [2 /*return*/];
11919
- }
11920
- });
11921
- });
11956
+ }
11957
+ }
11958
+ if (props.merchantSettings) {
11959
+ // for schema.org
11960
+ var merchantSettings = new IkasMerchantSettings(JSON.parse(props.merchantSettings));
11961
+ var websiteSchema = createWebsiteSchema();
11962
+ var storeSchema = createStoreSchema(merchantSettings);
11963
+ schemas.push(websiteSchema);
11964
+ schemas.push(storeSchema);
11965
+ }
11966
+ if (pageSpecificDataStr && (page === null || page === void 0 ? void 0 : page.type) === IkasThemePageType.PRODUCT) {
11967
+ var productDetailParsed = JSON.parse(pageSpecificDataStr);
11968
+ var productDetail = new IkasProductDetail(productDetailParsed.product, productDetailParsed.selectedVariantValues);
11969
+ if (typeof window !== "undefined" && productDetail.product.hasVariant) {
11970
+ isCanonicalLinkAdd =
11971
+ window.location.pathname !== productDetail.product.href;
11972
+ canonicalHref =
11973
+ "https://" + window.location.hostname + productDetail.product.href;
11974
+ }
11975
+ var schema = createProductSchema(productDetail);
11976
+ if (schema)
11977
+ schemas.push(schema);
11978
+ }
11979
+ if (pageSpecificDataStr && (page === null || page === void 0 ? void 0 : page.type) === IkasThemePageType.CATEGORY) {
11980
+ var categorySchema = createCategorySchema(pageSpecificDataStr);
11981
+ if (categorySchema)
11982
+ schemas.push(categorySchema);
11983
+ var categoryBreadcrumbSchema = createCategoryBreadcrumbSchema(pageSpecificDataStr);
11984
+ if (categoryBreadcrumbSchema)
11985
+ schemas.push(categoryBreadcrumbSchema);
11986
+ }
11987
+ return (createElement(Head, null,
11988
+ createElement("title", null, pageTitle || ""),
11989
+ createElement("meta", { name: "description", content: description || "" }),
11990
+ isCanonicalLinkAdd && createElement("link", { rel: "canonical", href: canonicalHref }),
11991
+ !!props.addOgpMetas &&
11992
+ ogpMetas.map(function (ogpMeta, index) { return (createElement("meta", { key: ogpMeta.content + "-" + index, property: ogpMeta.property, content: ogpMeta.content })); }),
11993
+ !!schemas.length &&
11994
+ schemas.map(function (schema, index) { return (createElement("script", { key: index, type: "application/ld+json", dangerouslySetInnerHTML: {
11995
+ __html: JSON.stringify(schema),
11996
+ } })); })));
11997
+ });
11998
+ function createWebsiteSchema() {
11999
+ var _a;
12000
+ var hostname = "";
12001
+ if (typeof window !== "undefined") {
12002
+ hostname = (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.hostname;
12003
+ }
12004
+ return {
12005
+ "@context": "https://schema.org",
12006
+ "@type": "Website",
12007
+ url: "https://" + hostname,
12008
+ };
12009
+ }
12010
+ function createStoreSchema(merchantSettings) {
12011
+ var _a, _b;
12012
+ var hostname = "";
12013
+ if (typeof window !== "undefined") {
12014
+ hostname = (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.hostname;
12015
+ }
12016
+ return {
12017
+ "@context": "https://schema.org",
12018
+ "@type": "Store",
12019
+ name: merchantSettings === null || merchantSettings === void 0 ? void 0 : merchantSettings.merchantName,
12020
+ logo: (_b = merchantSettings === null || merchantSettings === void 0 ? void 0 : merchantSettings.logo) === null || _b === void 0 ? void 0 : _b.src,
12021
+ url: "https://" + hostname,
12022
+ };
12023
+ }
12024
+ function createProductSchema(productDetail) {
12025
+ var _a, _b;
12026
+ try {
12027
+ var isBrowser = typeof window !== "undefined";
12028
+ if (isBrowser) {
12029
+ var urlParams = new URLSearchParams(window.location.search);
12030
+ var vid_1 = urlParams.get("vid");
12031
+ if (vid_1) {
12032
+ var variant = productDetail.product.variants.find(function (v) { return v.id === vid_1; });
12033
+ if (variant) {
12034
+ productDetail.selectedVariantValues = variant.variantValues;
12035
+ }
12036
+ }
12037
+ }
12038
+ var productUrl = isBrowser
12039
+ ? "https://" + window.location.hostname + productDetail.href
12040
+ : "";
12041
+ return {
12042
+ "@context": "https://schema.org/",
12043
+ "@type": "Product",
12044
+ name: productDetail.product.name,
12045
+ description: (_a = productDetail.product.metaData) === null || _a === void 0 ? void 0 : _a.description,
12046
+ image: productDetail.selectedVariant.images.map(function (i) { return i.src; }),
12047
+ productId: productDetail.selectedVariant.id,
12048
+ sku: productDetail.selectedVariant.sku,
12049
+ mpn: productDetail.selectedVariant.barcodeList.length
12050
+ ? productDetail.selectedVariant.barcodeList[0]
12051
+ : "",
12052
+ brand: {
12053
+ "@type": "Brand",
12054
+ name: (_b = productDetail.product.brand) === null || _b === void 0 ? void 0 : _b.name,
12055
+ },
12056
+ offers: {
12057
+ "@type": "Offer",
12058
+ url: productUrl,
12059
+ priceCurrency: productDetail.selectedVariant.price.currency || "TRY",
12060
+ price: productDetail.selectedVariant.price.finalPrice,
12061
+ priceValidUntil: "",
12062
+ itemCondition: "https://schema.org/NewCondition",
12063
+ availability: productDetail.selectedVariant.stock > 0
12064
+ ? "https://schema.org/InStock"
12065
+ : "https://schema.org/OutOfStock",
12066
+ },
12067
+ };
12068
+ }
12069
+ catch (err) { }
12070
+ }
12071
+ function createCategorySchema(pageSpecificDataStr) {
12072
+ var _a, _b, _c;
12073
+ try {
12074
+ var categoryParsed = JSON.parse(pageSpecificDataStr);
12075
+ var category = new IkasCategory(categoryParsed);
12076
+ var categoryUrl = typeof window !== undefined
12077
+ ? "https://" + window.location.hostname + category.href
12078
+ : "";
12079
+ return {
12080
+ "@context": "http://schema.org",
12081
+ "@type": "CollectionPage",
12082
+ url: categoryUrl,
12083
+ name: (_a = category.metaData) === null || _a === void 0 ? void 0 : _a.pageTitle,
12084
+ description: (_b = category.metaData) === null || _b === void 0 ? void 0 : _b.description,
12085
+ image: (_c = category.image) === null || _c === void 0 ? void 0 : _c.src,
12086
+ };
12087
+ }
12088
+ catch (_d) { }
12089
+ }
12090
+ function createCategoryBreadcrumbSchema(pageSpecificDataStr) {
12091
+ try {
12092
+ var categoryParsed = JSON.parse(pageSpecificDataStr);
12093
+ var category = new IkasCategory(categoryParsed);
12094
+ return {
12095
+ "@context": "http://schema.org",
12096
+ "@type": "BreadcrumbList",
12097
+ itemListElement: category.path.map(function (categoryPath, index) { return ({
12098
+ "@type": "ListItem",
12099
+ position: index + 1,
12100
+ name: categoryPath.name,
12101
+ item: typeof window !== undefined
12102
+ ? "https://" + window.location.hostname + categoryPath.href
12103
+ : "",
12104
+ }); }),
12105
+ };
12106
+ }
12107
+ catch (_a) { }
12108
+ }
12109
+
12110
+ var IkasPage = observer(function (_a) {
12111
+ var propValues = _a.propValues, page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, settingsStr = _a.settingsStr, merchantSettings = _a.merchantSettings, addOgpMetas = _a.addOgpMetas;
12112
+ var store = IkasStorefrontConfig.store;
12113
+ var settings = useState(new IkasThemeSettings(JSON.parse(settingsStr)))[0];
12114
+ if (page) {
12115
+ store.currentPageType = page.type;
12116
+ }
12117
+ useEffect(function () {
12118
+ //@ts-ignore
12119
+ store.setSettings(settingsStr);
12120
+ //@ts-ignore
12121
+ store.cartStore.getCart();
12122
+ store.checkLocalization();
12123
+ }, []);
12124
+ var headerComponentPropValue = propValues.find(function (pv) { return pv.component.isHeader; });
12125
+ var footerComponentPropValue = propValues.find(function (pv) { return pv.component.isFooter; });
12126
+ var others = propValues.filter(function (pv) { return !pv.component.isHeader && !pv.component.isFooter; }) || [];
12127
+ if (!page)
12128
+ return null;
12129
+ return (createElement(Fragment, null,
12130
+ createElement(IkasPageHead, { page: page, pageTitle: page.pageTitle, description: page.description, pageSpecificDataStr: pageSpecificDataStr, merchantSettings: merchantSettings, addOgpMetas: addOgpMetas }),
12131
+ createElement("div", { style: pageStyle },
12132
+ createElement("div", null,
12133
+ headerComponentPropValue &&
12134
+ renderComponent(headerComponentPropValue, settings, -1),
12135
+ others.map(function (pageComponentPropValue, index) {
12136
+ return renderComponent(pageComponentPropValue, settings, index);
12137
+ })),
12138
+ footerComponentPropValue &&
12139
+ renderComponent(footerComponentPropValue, settings, -1))));
12140
+ });
12141
+ var renderComponent = function (pageComponentPropValue, settings, index) {
12142
+ return (createElement(ThemeComponent, { key: pageComponentPropValue.pageComponent.id, index: index, pageComponentPropValue: pageComponentPropValue, settings: settings }));
12143
+ };
12144
+ var pageStyle = {
12145
+ position: "relative",
12146
+ minHeight: "100vh",
12147
+ width: "100vw",
12148
+ display: "flex",
12149
+ flexDirection: "column",
12150
+ justifyContent: "space-between",
12151
+ };
12152
+
12153
+ var IkasPageDataProvider = /** @class */ (function () {
12154
+ function IkasPageDataProvider(theme, pageParams, pageType) {
12155
+ this.pageType = null;
12156
+ this.pageParams = {};
12157
+ this.pageComponentPropValues = [];
12158
+ this.pageSpecificData = null;
12159
+ this.merchantSettings = null;
12160
+ this.theme = new IkasTheme(theme);
12161
+ this.pageParams = pageParams || {};
12162
+ this.pageType = pageType;
12163
+ makeAutoObservable(this);
12164
+ }
12165
+ Object.defineProperty(IkasPageDataProvider.prototype, "page", {
12166
+ get: function () {
12167
+ var _this = this;
12168
+ if (this.pageType === IkasThemePageType.CUSTOM) {
12169
+ var slug_1 = this.pageParams.slug;
12170
+ return this.theme.pages.find(function (page) { return page.type === IkasThemePageType.CUSTOM && page.slug === slug_1; });
12171
+ }
12172
+ return this.theme.pages.find(function (page) { return page.type === _this.pageType; });
12173
+ },
12174
+ enumerable: false,
12175
+ configurable: true
12176
+ });
12177
+ Object.defineProperty(IkasPageDataProvider.prototype, "nextPageData", {
12178
+ get: function () {
12179
+ return {
12180
+ props: {
12181
+ propValuesStr: JSON.stringify(this.pageComponentPropValues),
12182
+ pageSpecificDataStr: this.pageSpecificData
12183
+ ? JSON.stringify(this.pageSpecificData || {})
12184
+ : "",
12185
+ page: toJS(this.page) || null,
12186
+ settingsStr: JSON.stringify(this.theme.settings || {}),
12187
+ merchantSettings: this.merchantSettings
12188
+ ? JSON.stringify(this.merchantSettings)
12189
+ : null,
12190
+ configJson: IkasStorefrontConfig.getJson(),
12191
+ },
12192
+ };
12193
+ },
12194
+ enumerable: false,
12195
+ configurable: true
12196
+ });
12197
+ Object.defineProperty(IkasPageDataProvider.prototype, "specification", {
12198
+ get: function () {
12199
+ var _this = this;
12200
+ var _a, _b, _c;
12201
+ var selectedPage = this.page;
12202
+ var specification;
12203
+ if ((selectedPage === null || selectedPage === void 0 ? void 0 : selectedPage.type) === IkasThemePageType.PRODUCT) {
12204
+ specification = (_a = selectedPage.specifications) === null || _a === void 0 ? void 0 : _a.find(function (s) { var _a; return s.id === ((_a = _this.pageSpecificData) === null || _a === void 0 ? void 0 : _a.product.id); });
12205
+ }
12206
+ if ((selectedPage === null || selectedPage === void 0 ? void 0 : selectedPage.type) === IkasThemePageType.CATEGORY) {
12207
+ specification = (_b = selectedPage.specifications) === null || _b === void 0 ? void 0 : _b.find(function (s) { var _a; return s.id === ((_a = _this.pageSpecificData) === null || _a === void 0 ? void 0 : _a.id); });
12208
+ }
12209
+ if ((selectedPage === null || selectedPage === void 0 ? void 0 : selectedPage.type) === IkasThemePageType.BRAND) {
12210
+ specification = (_c = selectedPage.specifications) === null || _c === void 0 ? void 0 : _c.find(function (s) { var _a; return s.id === ((_a = _this.pageSpecificData) === null || _a === void 0 ? void 0 : _a.id); });
12211
+ }
12212
+ return specification;
12213
+ },
12214
+ enumerable: false,
12215
+ configurable: true
12216
+ });
12217
+ Object.defineProperty(IkasPageDataProvider.prototype, "pageComponents", {
12218
+ get: function () {
12219
+ var _a;
12220
+ if (this.specification)
12221
+ return this.specification.components;
12222
+ return ((_a = this.page) === null || _a === void 0 ? void 0 : _a.components) || [];
12223
+ },
12224
+ enumerable: false,
12225
+ configurable: true
12226
+ });
12227
+ Object.defineProperty(IkasPageDataProvider.prototype, "isStaticPage", {
12228
+ get: function () {
12229
+ var staticPageTypes = [
12230
+ IkasThemePageType.PRODUCT,
12231
+ IkasThemePageType.INDEX,
12232
+ ];
12233
+ return this.pageType && staticPageTypes.includes(this.pageType);
12234
+ },
12235
+ enumerable: false,
12236
+ configurable: true
12237
+ });
12238
+ IkasPageDataProvider.prototype.getMerchantSettings = function () {
12239
+ return __awaiter(this, void 0, void 0, function () {
12240
+ var merchantId, merchantSettingsResponse;
12241
+ return __generator(this, function (_a) {
12242
+ switch (_a.label) {
12243
+ case 0:
12244
+ merchantId = decodeBase64(IkasStorefrontConfig.config.apiKey || "");
12245
+ return [4 /*yield*/, IkasMerchantAPI.listMerchantSettings(merchantId)];
12246
+ case 1:
12247
+ merchantSettingsResponse = _a.sent();
12248
+ if (merchantSettingsResponse) {
12249
+ this.merchantSettings = merchantSettingsResponse;
12250
+ }
12251
+ return [2 /*return*/];
12252
+ }
12253
+ });
12254
+ });
11922
12255
  };
11923
12256
  IkasPageDataProvider.prototype.getPageData = function () {
11924
12257
  return __awaiter(this, void 0, void 0, function () {
@@ -12140,76 +12473,104 @@ var IkasPageDataProvider = /** @class */ (function () {
12140
12473
  };
12141
12474
  IkasPageDataProvider.prototype.getPageComponentPropValue = function (pageComponent, prop) {
12142
12475
  return __awaiter(this, void 0, void 0, function () {
12143
- var propValueProvider, propValue, customData;
12144
- return __generator(this, function (_a) {
12145
- switch (_a.label) {
12476
+ var propValueProvider, propValue, _a, customData, pageComponents;
12477
+ var _this = this;
12478
+ return __generator(this, function (_b) {
12479
+ switch (_b.label) {
12146
12480
  case 0:
12147
12481
  propValue = pageComponent.propValues[prop.name];
12148
12482
  if (propValue === null || propValue === undefined)
12149
12483
  return [2 /*return*/, null];
12150
- switch (prop.type) {
12151
- case IkasThemeComponentPropType.TEXT:
12152
- propValueProvider = new IkasTextPropValueProvider(propValue);
12153
- break;
12154
- case IkasThemeComponentPropType.BOOLEAN:
12155
- propValueProvider = new IkasBooleanPropValueProvider(propValue);
12156
- break;
12157
- case IkasThemeComponentPropType.IMAGE:
12158
- propValueProvider = new IkasImagePropValueProvider(propValue);
12159
- break;
12160
- case IkasThemeComponentPropType.IMAGE_LIST:
12161
- propValueProvider = new IkasImageListPropValueProvider(propValue);
12162
- break;
12163
- case IkasThemeComponentPropType.BRAND:
12164
- propValueProvider = new IkasBrandPropValueProvider(propValue, this.pageSpecificData);
12165
- break;
12166
- case IkasThemeComponentPropType.BRAND_LIST:
12167
- propValueProvider = new IkasBrandListPropValueProvider(propValue);
12168
- break;
12169
- case IkasThemeComponentPropType.PRODUCT_LIST:
12170
- propValueProvider = new IkasProductListPropValueProvider(this.pageType, propValue, this.pageParams, this.pageSpecificData);
12171
- break;
12172
- case IkasThemeComponentPropType.PRODUCT_DETAIL:
12173
- propValueProvider = new IkasProductDetailPropValueProvider(propValue, this.pageSpecificData);
12174
- break;
12175
- case IkasThemeComponentPropType.CATEGORY:
12176
- propValueProvider = new IkasCategoryPropValueProvider(propValue, this.pageSpecificData);
12177
- break;
12178
- case IkasThemeComponentPropType.CATEGORY_LIST:
12179
- propValueProvider = new IkasCategoryListPropValueProvider(propValue);
12180
- break;
12181
- case IkasThemeComponentPropType.LINK:
12182
- case IkasThemeComponentPropType.LIST_OF_LINK:
12183
- propValueProvider = new IkasLinkPropValueProvider(propValue, this.theme);
12184
- break;
12185
- case IkasThemeComponentPropType.COLOR:
12186
- propValueProvider = new IkasColorPropValueProvider(propValue);
12187
- break;
12188
- case IkasThemeComponentPropType.CUSTOM:
12189
- customData = this.theme.customData.find(function (cd) { return cd.id === prop.customDataId; });
12190
- if (!customData)
12191
- return [2 /*return*/];
12192
- propValueProvider = new IkasCustomPropValueProvider(propValue, customData, this.theme, this.pageType, this.pageSpecificData, this.pageParams);
12193
- break;
12484
+ _a = prop.type;
12485
+ switch (_a) {
12486
+ case IkasThemeComponentPropType.TEXT: return [3 /*break*/, 1];
12487
+ case IkasThemeComponentPropType.RICH_TEXT: return [3 /*break*/, 2];
12488
+ case IkasThemeComponentPropType.BOOLEAN: return [3 /*break*/, 3];
12489
+ case IkasThemeComponentPropType.IMAGE: return [3 /*break*/, 4];
12490
+ case IkasThemeComponentPropType.IMAGE_LIST: return [3 /*break*/, 5];
12491
+ case IkasThemeComponentPropType.BRAND: return [3 /*break*/, 6];
12492
+ case IkasThemeComponentPropType.BRAND_LIST: return [3 /*break*/, 7];
12493
+ case IkasThemeComponentPropType.PRODUCT_LIST: return [3 /*break*/, 8];
12494
+ case IkasThemeComponentPropType.PRODUCT_DETAIL: return [3 /*break*/, 9];
12495
+ case IkasThemeComponentPropType.CATEGORY: return [3 /*break*/, 10];
12496
+ case IkasThemeComponentPropType.CATEGORY_LIST: return [3 /*break*/, 11];
12497
+ case IkasThemeComponentPropType.LINK: return [3 /*break*/, 12];
12498
+ case IkasThemeComponentPropType.LIST_OF_LINK: return [3 /*break*/, 12];
12499
+ case IkasThemeComponentPropType.COLOR: return [3 /*break*/, 13];
12500
+ case IkasThemeComponentPropType.CUSTOM: return [3 /*break*/, 14];
12501
+ case IkasThemeComponentPropType.COMPONENT: return [3 /*break*/, 15];
12502
+ case IkasThemeComponentPropType.COMPONENT_LIST: return [3 /*break*/, 15];
12194
12503
  }
12195
- return [4 /*yield*/, (propValueProvider === null || propValueProvider === void 0 ? void 0 : propValueProvider.getValue())];
12196
- case 1: return [2 /*return*/, _a.sent()];
12197
- }
12198
- });
12199
- });
12200
- };
12201
- IkasPageDataProvider.prototype.setPageMetaData = function (metaData) {
12202
- if (this.page) {
12203
- this.page.pageTitle = metaData.pageTitle;
12204
- this.page.description = metaData.description;
12205
- }
12206
- };
12207
- IkasPageDataProvider.isServer = function () {
12208
- return typeof window === "undefined";
12209
- };
12210
- IkasPageDataProvider.initPropValues = function (propValuesStr, router, isBrowser) {
12211
- var pageComponentPropValues = JSON.parse(propValuesStr).map(function (v) { return ({
12212
- pageComponent: new IkasThemePageComponent(v.pageComponent),
12504
+ return [3 /*break*/, 17];
12505
+ case 1:
12506
+ propValueProvider = new IkasTextPropValueProvider(propValue);
12507
+ return [3 /*break*/, 18];
12508
+ case 2:
12509
+ propValueProvider = new IkasRichTextPropValueProvider(propValue);
12510
+ return [3 /*break*/, 18];
12511
+ case 3:
12512
+ propValueProvider = new IkasBooleanPropValueProvider(propValue);
12513
+ return [3 /*break*/, 18];
12514
+ case 4:
12515
+ propValueProvider = new IkasImagePropValueProvider(propValue);
12516
+ return [3 /*break*/, 18];
12517
+ case 5:
12518
+ propValueProvider = new IkasImageListPropValueProvider(propValue);
12519
+ return [3 /*break*/, 18];
12520
+ case 6:
12521
+ propValueProvider = new IkasBrandPropValueProvider(propValue, this.pageSpecificData);
12522
+ return [3 /*break*/, 18];
12523
+ case 7:
12524
+ propValueProvider = new IkasBrandListPropValueProvider(propValue);
12525
+ return [3 /*break*/, 18];
12526
+ case 8:
12527
+ propValueProvider = new IkasProductListPropValueProvider(this.pageType, propValue, this.pageParams, this.pageSpecificData);
12528
+ return [3 /*break*/, 18];
12529
+ case 9:
12530
+ propValueProvider = new IkasProductDetailPropValueProvider(propValue, this.pageSpecificData);
12531
+ return [3 /*break*/, 18];
12532
+ case 10:
12533
+ propValueProvider = new IkasCategoryPropValueProvider(propValue, this.pageSpecificData);
12534
+ return [3 /*break*/, 18];
12535
+ case 11:
12536
+ propValueProvider = new IkasCategoryListPropValueProvider(propValue);
12537
+ return [3 /*break*/, 18];
12538
+ case 12:
12539
+ propValueProvider = new IkasLinkPropValueProvider(propValue, this.theme);
12540
+ return [3 /*break*/, 18];
12541
+ case 13:
12542
+ propValueProvider = new IkasColorPropValueProvider(propValue);
12543
+ return [3 /*break*/, 18];
12544
+ case 14:
12545
+ customData = this.theme.customData.find(function (cd) { return cd.id === prop.customDataId; });
12546
+ if (!customData)
12547
+ return [2 /*return*/];
12548
+ propValueProvider = new IkasCustomPropValueProvider(propValue, customData, this.theme, this.pageType, this, this.pageSpecificData, this.pageParams);
12549
+ return [3 /*break*/, 18];
12550
+ case 15:
12551
+ pageComponents = propValue;
12552
+ return [4 /*yield*/, Promise.all(pageComponents.map(function (tp) { return _this.getPageComponentPropValues(tp); }))];
12553
+ case 16: return [2 /*return*/, _b.sent()];
12554
+ case 17: return [3 /*break*/, 18];
12555
+ case 18: return [4 /*yield*/, (propValueProvider === null || propValueProvider === void 0 ? void 0 : propValueProvider.getValue())];
12556
+ case 19: return [2 /*return*/, _b.sent()];
12557
+ }
12558
+ });
12559
+ });
12560
+ };
12561
+ IkasPageDataProvider.prototype.setPageMetaData = function (metaData) {
12562
+ if (this.page) {
12563
+ this.page.pageTitle = metaData.pageTitle;
12564
+ this.page.description = metaData.description;
12565
+ }
12566
+ };
12567
+ IkasPageDataProvider.isServer = function () {
12568
+ return typeof window === "undefined";
12569
+ };
12570
+ IkasPageDataProvider.initPropValues = function (propValuesStr, router, settingsStr, isBrowser) {
12571
+ var settings = new IkasThemeSettings(JSON.parse(settingsStr));
12572
+ var pageComponentPropValues = JSON.parse(propValuesStr).map(function (v) { return ({
12573
+ pageComponent: new IkasThemePageComponent(v.pageComponent),
12213
12574
  component: new IkasThemeComponent(v.component),
12214
12575
  propValues: v.propValues,
12215
12576
  }); });
@@ -12248,8 +12609,14 @@ var IkasPageDataProvider = /** @class */ (function () {
12248
12609
  case IkasThemeComponentPropType.LIST_OF_LINK:
12249
12610
  IkasPageDataProvider.initLinkPropValue(prop, propValue, pageComponentPropValue);
12250
12611
  break;
12612
+ case IkasThemeComponentPropType.COMPONENT:
12613
+ IkasPageDataProvider.initComponentPropValue(prop, propValue, pageComponentPropValue, router, settings, isBrowser);
12614
+ break;
12615
+ case IkasThemeComponentPropType.COMPONENT_LIST:
12616
+ IkasPageDataProvider.initComponentListPropValue(prop, propValue, pageComponentPropValue, router, settings, isBrowser);
12617
+ break;
12251
12618
  case IkasThemeComponentPropType.CUSTOM:
12252
- IkasPageDataProvider.initCustomDataPropValue(prop, propValue, pageComponentPropValue, router, isBrowser);
12619
+ IkasPageDataProvider.initCustomDataPropValue(prop, propValue, pageComponentPropValue, router, settings, isBrowser);
12253
12620
  break;
12254
12621
  }
12255
12622
  });
@@ -12331,14 +12698,14 @@ var IkasPageDataProvider = /** @class */ (function () {
12331
12698
  IkasPageDataProvider._initImageListPropValue = function (propValue) {
12332
12699
  return propValue.map(function (i) { return new IkasImage(i.id); });
12333
12700
  };
12334
- IkasPageDataProvider.initCustomDataPropValue = function (prop, customDataValue, pageComponentPropValue, router, isBrowser) {
12701
+ IkasPageDataProvider.initCustomDataPropValue = function (prop, customDataValue, pageComponentPropValue, router, settings, isBrowser) {
12335
12702
  if (!customDataValue ||
12336
12703
  !customDataValue.value ||
12337
12704
  !customDataValue.customData)
12338
12705
  return;
12339
- pageComponentPropValue.propValues[prop.name] = this._initCustomDataPropValue(customDataValue, customDataValue.customData, router, isBrowser);
12706
+ pageComponentPropValue.propValues[prop.name] = this._initCustomDataPropValue(customDataValue, customDataValue.customData, router, settings, isBrowser);
12340
12707
  };
12341
- IkasPageDataProvider._initCustomDataPropValue = function (customDataValue, customData, router, isBrowser) {
12708
+ IkasPageDataProvider._initCustomDataPropValue = function (customDataValue, customData, router, settings, isBrowser) {
12342
12709
  var _this = this;
12343
12710
  if (!customDataValue)
12344
12711
  return null;
@@ -12369,7 +12736,7 @@ var IkasPageDataProvider = /** @class */ (function () {
12369
12736
  for (var _i = 0, _a = customData.nestedData || []; _i < _a.length; _i++) {
12370
12737
  var nestedCustomData = _a[_i];
12371
12738
  var value = propValue[nestedCustomData.key];
12372
- objectValue[nestedCustomData.key] = this._initCustomDataPropValue(value, nestedCustomData, router, isBrowser);
12739
+ objectValue[nestedCustomData.key] = this._initCustomDataPropValue(value, nestedCustomData, router, settings, isBrowser);
12373
12740
  }
12374
12741
  return objectValue;
12375
12742
  case IkasThemeCustomDataType.DYNAMIC_LIST:
@@ -12380,17 +12747,51 @@ var IkasPageDataProvider = /** @class */ (function () {
12380
12747
  var listValue_1 = [];
12381
12748
  var nestedCustomData_1 = customData.nestedData[0];
12382
12749
  propValue.forEach(function (itemValue) {
12383
- listValue_1.push(_this._initCustomDataPropValue(itemValue, nestedCustomData_1, router, isBrowser));
12750
+ listValue_1.push(_this._initCustomDataPropValue(itemValue, nestedCustomData_1, router, settings, isBrowser));
12384
12751
  });
12385
12752
  return listValue_1;
12386
12753
  }
12387
12754
  catch (err) {
12388
12755
  return [];
12389
12756
  }
12757
+ case IkasThemeCustomDataType.COMPONENT:
12758
+ return this._initComponentPropValue(propValue, router, settings, isBrowser);
12759
+ case IkasThemeCustomDataType.COMPONENT_LIST:
12760
+ return this._initComponentListPropValue(propValue, router, settings, isBrowser);
12390
12761
  default:
12391
12762
  return propValue;
12392
12763
  }
12393
12764
  };
12765
+ IkasPageDataProvider.initComponentPropValue = function (prop, propValue, pageComponentPropValue, router, settings, isBrowser) {
12766
+ pageComponentPropValue.propValues[prop.name] = this._initComponentPropValue(propValue, router, settings, isBrowser);
12767
+ };
12768
+ IkasPageDataProvider._initComponentPropValue = function (propValue, router, settings, isBrowser) {
12769
+ var pValue = propValue.length ? propValue[0] : undefined;
12770
+ if (!pValue)
12771
+ return;
12772
+ var pageComponentPropValue = new IkasPageComponentPropValue(pValue);
12773
+ var initializedPageComponentPropValues = this.initPropValues(JSON.stringify([pageComponentPropValue]), router, JSON.stringify(settings), isBrowser);
12774
+ if (!initializedPageComponentPropValues.length)
12775
+ return;
12776
+ return new IkasComponentRenderer(function () {
12777
+ return renderComponent(initializedPageComponentPropValues[0], settings, -10);
12778
+ });
12779
+ };
12780
+ IkasPageDataProvider.initComponentListPropValue = function (prop, propValue, pageComponentPropValue, router, settings, isBrowser) {
12781
+ pageComponentPropValue.propValues[prop.name] = this._initComponentListPropValue(propValue, router, settings, isBrowser);
12782
+ };
12783
+ IkasPageDataProvider._initComponentListPropValue = function (propValue, router, settings, isBrowser) {
12784
+ var _this = this;
12785
+ if (propValue && propValue.length)
12786
+ return propValue.map(function (p) {
12787
+ var pageComponentPropValue = new IkasPageComponentPropValue(p);
12788
+ var initializedPageComponentPropValues = _this.initPropValues(JSON.stringify([pageComponentPropValue]), router, JSON.stringify(settings), isBrowser);
12789
+ return new IkasComponentRenderer(function () {
12790
+ return renderComponent(initializedPageComponentPropValues[0], settings, -1);
12791
+ });
12792
+ });
12793
+ return [];
12794
+ };
12394
12795
  return IkasPageDataProvider;
12395
12796
  }());
12396
12797
  var IkasPageComponentPropValue = /** @class */ (function () {
@@ -18574,6 +18975,58 @@ var GoogleTagManager = /** @class */ (function () {
18574
18975
  console.error(err);
18575
18976
  }
18576
18977
  };
18978
+ GoogleTagManager.completeRegistration = function () {
18979
+ try {
18980
+ var event_8 = {
18981
+ event: "customer_register",
18982
+ };
18983
+ //@ts-ignore
18984
+ !isServer$2 && window.dataLayer && window.dataLayer.push(event_8);
18985
+ return event_8;
18986
+ }
18987
+ catch (err) {
18988
+ console.error(err);
18989
+ }
18990
+ };
18991
+ GoogleTagManager.search = function (searchKeyword) {
18992
+ try {
18993
+ var event_9 = {
18994
+ event: "search",
18995
+ search_string: searchKeyword,
18996
+ };
18997
+ //@ts-ignore
18998
+ !isServer$2 && window.dataLayer && window.dataLayer.push(event_9);
18999
+ return event_9;
19000
+ }
19001
+ catch (err) {
19002
+ console.error(err);
19003
+ }
19004
+ };
19005
+ GoogleTagManager.viewCategory = function (category, categoryPath) {
19006
+ try {
19007
+ var event_10 = {
19008
+ event: "view_category",
19009
+ ecommerce: {
19010
+ category: [
19011
+ {
19012
+ id: category.id,
19013
+ name: category.name,
19014
+ metaData: category.metaData,
19015
+ href: category.href,
19016
+ image: category.image,
19017
+ path: categoryPath,
19018
+ },
19019
+ ],
19020
+ },
19021
+ };
19022
+ //@ts-ignore
19023
+ !isServer$2 && window.dataLayer && window.dataLayer.push(event_10);
19024
+ return event_10;
19025
+ }
19026
+ catch (err) {
19027
+ console.error(err);
19028
+ }
19029
+ };
18577
19030
  return GoogleTagManager;
18578
19031
  }());
18579
19032
  function productToGTMItem(productDetail, quantity) {
@@ -18715,6 +19168,7 @@ var Analytics = /** @class */ (function () {
18715
19168
  Analytics.search = function (searchKeyword) {
18716
19169
  try {
18717
19170
  FacebookPixel.search(searchKeyword);
19171
+ GoogleTagManager.search(searchKeyword);
18718
19172
  }
18719
19173
  catch (err) {
18720
19174
  console.error(err);
@@ -18723,6 +19177,7 @@ var Analytics = /** @class */ (function () {
18723
19177
  Analytics.completeRegistration = function () {
18724
19178
  try {
18725
19179
  FacebookPixel.completeRegistration();
19180
+ GoogleTagManager.completeRegistration();
18726
19181
  }
18727
19182
  catch (err) {
18728
19183
  console.error(err);
@@ -18738,9 +19193,10 @@ var Analytics = /** @class */ (function () {
18738
19193
  console.error(err);
18739
19194
  }
18740
19195
  };
18741
- Analytics.viewCategory = function (categoryPath) {
19196
+ Analytics.viewCategory = function (categoryPath, category) {
18742
19197
  try {
18743
19198
  FacebookPixel.viewCategory(categoryPath);
19199
+ GoogleTagManager.viewCategory(category, categoryPath);
18744
19200
  }
18745
19201
  catch (err) {
18746
19202
  console.error(err);
@@ -20083,6 +20539,7 @@ var IkasThemeComponentProp = /** @class */ (function () {
20083
20539
  var IkasThemeComponentPropType;
20084
20540
  (function (IkasThemeComponentPropType) {
20085
20541
  IkasThemeComponentPropType["TEXT"] = "TEXT";
20542
+ IkasThemeComponentPropType["RICH_TEXT"] = "RICH_TEXT";
20086
20543
  IkasThemeComponentPropType["BOOLEAN"] = "BOOLEAN";
20087
20544
  IkasThemeComponentPropType["IMAGE"] = "IMAGE";
20088
20545
  IkasThemeComponentPropType["IMAGE_LIST"] = "IMAGE_LIST";
@@ -20096,8 +20553,8 @@ var IkasThemeComponentPropType;
20096
20553
  IkasThemeComponentPropType["CATEGORY_LIST"] = "CATEGORY_LIST";
20097
20554
  IkasThemeComponentPropType["COLOR"] = "COLOR";
20098
20555
  IkasThemeComponentPropType["CUSTOM"] = "CUSTOM";
20099
- // TODO number
20100
- // TODO productAttribute
20556
+ IkasThemeComponentPropType["COMPONENT"] = "COMPONENT";
20557
+ IkasThemeComponentPropType["COMPONENT_LIST"] = "COMPONENT_LIST";
20101
20558
  })(IkasThemeComponentPropType || (IkasThemeComponentPropType = {}));
20102
20559
 
20103
20560
  var IkasThemeComponent = /** @class */ (function () {
@@ -20146,6 +20603,7 @@ var IkasThemeCustomData = /** @class */ (function () {
20146
20603
  var IkasThemeCustomDataType;
20147
20604
  (function (IkasThemeCustomDataType) {
20148
20605
  IkasThemeCustomDataType["TEXT"] = "TEXT";
20606
+ IkasThemeCustomDataType["RICH_TEXT"] = "RICH_TEXT";
20149
20607
  IkasThemeCustomDataType["NUMBER"] = "NUMBER";
20150
20608
  IkasThemeCustomDataType["BOOLEAN"] = "BOOLEAN";
20151
20609
  IkasThemeCustomDataType["IMAGE"] = "IMAGE";
@@ -20159,6 +20617,8 @@ var IkasThemeCustomDataType;
20159
20617
  IkasThemeCustomDataType["CATEGORY"] = "CATEGORY";
20160
20618
  IkasThemeCustomDataType["CATEGORY_LIST"] = "CATEGORY_LIST";
20161
20619
  IkasThemeCustomDataType["COLOR"] = "COLOR";
20620
+ IkasThemeCustomDataType["COMPONENT"] = "COMPONENT";
20621
+ IkasThemeCustomDataType["COMPONENT_LIST"] = "COMPONENT_LIST";
20162
20622
  IkasThemeCustomDataType["OBJECT"] = "OBJECT";
20163
20623
  IkasThemeCustomDataType["STATIC_LIST"] = "STATIC_LIST";
20164
20624
  IkasThemeCustomDataType["DYNAMIC_LIST"] = "DYNAMIC_LIST";
@@ -24252,6 +24712,13 @@ var AccountInfoForm = /** @class */ (function () {
24252
24712
  return AccountInfoForm;
24253
24713
  }());
24254
24714
 
24715
+ var IkasComponentRenderer = /** @class */ (function () {
24716
+ function IkasComponentRenderer(render) {
24717
+ this.render = render;
24718
+ }
24719
+ return IkasComponentRenderer;
24720
+ }());
24721
+
24255
24722
  var IkasProductListPropValue = /** @class */ (function () {
24256
24723
  function IkasProductListPropValue(data) {
24257
24724
  this.initialSort = null;
@@ -27466,352 +27933,144 @@ var IkasCartStore = /** @class */ (function () {
27466
27933
  case 3:
27467
27934
  this.removeCardIfEmpty();
27468
27935
  oldQuantity = item.quantity;
27469
- if (oldQuantity > quantity) {
27470
- Analytics.removeFromCart(item, oldQuantity - quantity);
27471
- }
27472
- else {
27473
- Analytics.addToCart(item, quantity - oldQuantity);
27474
- }
27475
- return [3 /*break*/, 5];
27476
- case 4:
27477
- err_3 = _d.sent();
27478
- console.log(err_3);
27479
- return [3 /*break*/, 5];
27480
- case 5: return [2 /*return*/];
27481
- }
27482
- });
27483
- }); };
27484
- this.removeItem = function (item) { return __awaiter(_this, void 0, void 0, function () {
27485
- return __generator(this, function (_a) {
27486
- switch (_a.label) {
27487
- case 0: return [4 /*yield*/, this.changeItemQuantity(item, 0)];
27488
- case 1:
27489
- _a.sent();
27490
- return [2 /*return*/];
27491
- }
27492
- });
27493
- }); };
27494
- this.removeCardIfEmpty = function () {
27495
- var _a;
27496
- if (((_a = _this.cart) === null || _a === void 0 ? void 0 : _a.itemCount) === 0) {
27497
- _this.removeCart();
27498
- }
27499
- };
27500
- this.removeCart = function () {
27501
- localStorage.removeItem(CART_LS_KEY);
27502
- localStorage.removeItem(CHECKOUT_LS_KEY);
27503
- _this.cart = undefined;
27504
- _this._checkoutId = undefined;
27505
- };
27506
- this.baseStore = baseStore;
27507
- makeAutoObservable(this);
27508
- }
27509
- Object.defineProperty(IkasCartStore.prototype, "isBrowser", {
27510
- get: function () {
27511
- return typeof localStorage !== "undefined";
27512
- },
27513
- enumerable: false,
27514
- configurable: true
27515
- });
27516
- Object.defineProperty(IkasCartStore.prototype, "isLoadingCart", {
27517
- get: function () {
27518
- return this._isLoadingCart;
27519
- },
27520
- enumerable: false,
27521
- configurable: true
27522
- });
27523
- Object.defineProperty(IkasCartStore.prototype, "cartLoadFinished", {
27524
- get: function () {
27525
- return this._cartLoadFinished;
27526
- },
27527
- enumerable: false,
27528
- configurable: true
27529
- });
27530
- Object.defineProperty(IkasCartStore.prototype, "checkoutId", {
27531
- get: function () {
27532
- return this._checkoutId;
27533
- },
27534
- enumerable: false,
27535
- configurable: true
27536
- });
27537
- Object.defineProperty(IkasCartStore.prototype, "checkoutUrl", {
27538
- get: function () {
27539
- if (this._checkoutId)
27540
- return "/checkout/" + this._checkoutId + "?step=info";
27541
- },
27542
- enumerable: false,
27543
- configurable: true
27544
- });
27545
- return IkasCartStore;
27546
- }());
27547
-
27548
- var css_248z$k = ".style-module_StepSuccess__36Zg4 .style-module_SuccessTitle__2cVxj {\n font-size: 2em;\n font-weight: 400;\n margin-bottom: 0.3em; }\n\n.style-module_StepSuccess__36Zg4 .style-module_SuccessSubTitle__2UvWI {\n color: #737373;\n margin: auto;\n margin-bottom: 2em; }\n\n.style-module_StepSuccess__36Zg4 .style-module_OrderNumberContainer__1TWG3 {\n display: flex;\n align-items: center;\n margin-bottom: 2em; }\n .style-module_StepSuccess__36Zg4 .style-module_OrderNumberContainer__1TWG3 .style-module_OrderNumber__1A_xg {\n font-weight: bold;\n margin-left: 0.4em; }\n\n.style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 3em;\n margin-bottom: 2em; }\n .style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk .style-module_InfoTitle__2Whku {\n font-weight: 500;\n margin-bottom: 0.2em; }\n .style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk .style-module_InfoText__1LHFw {\n color: #737373;\n letter-spacing: 0.02em; }\n .style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk .style-module_InfoTextBold__21977 {\n font-weight: 500;\n color: #737373; }\n\n.style-module_StepSuccess__36Zg4 .style-module_Actions__3ZXaJ {\n width: 100%;\n display: flex;\n margin: auto; }\n\n@media only screen and (max-width: 1000px) {\n .style-module_StepSuccess__36Zg4 {\n text-align: center;\n margin-top: 3em; }\n .style-module_StepSuccess__36Zg4 .style-module_SuccessSubTitle__2UvWI {\n max-width: 400px; }\n .style-module_StepSuccess__36Zg4 .style-module_OrderNumberContainer__1TWG3 {\n justify-content: center; }\n .style-module_StepSuccess__36Zg4 .style-module_Actions__3ZXaJ {\n justify-content: center;\n max-width: 400px; }\n .style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk {\n grid-template-columns: 1fr;\n grid-gap: 1.5em; } }\n";
27549
- var styles$j = {"StepSuccess":"style-module_StepSuccess__36Zg4","SuccessTitle":"style-module_SuccessTitle__2cVxj","SuccessSubTitle":"style-module_SuccessSubTitle__2UvWI","OrderNumberContainer":"style-module_OrderNumberContainer__1TWG3","OrderNumber":"style-module_OrderNumber__1A_xg","InfoGrid":"style-module_InfoGrid__2VYXk","InfoTitle":"style-module_InfoTitle__2Whku","InfoText":"style-module_InfoText__1LHFw","InfoTextBold":"style-module_InfoTextBold__21977","Actions":"style-module_Actions__3ZXaJ"};
27550
- styleInject(css_248z$k);
27551
-
27552
- var StepSuccess = observer(function (_a) {
27553
- var _b, _c, _d;
27554
- var vm = _a.vm;
27555
- if (typeof localStorage !== "undefined") {
27556
- localStorage.removeItem(CART_LS_KEY);
27557
- localStorage.removeItem(CHECKOUT_LS_KEY);
27558
- }
27559
- Analytics.purchase(vm.checkout, vm.checkout.orderNumber);
27560
- var customerName = (((_b = vm.checkout.customer) === null || _b === void 0 ? void 0 : _b.firstName) || "") +
27561
- " " +
27562
- (((_c = vm.checkout.customer) === null || _c === void 0 ? void 0 : _c.lastName) || "");
27563
- return (createElement("div", { className: [styles$j.StepSuccess, commonStyles.FormContainer].join(" ") },
27564
- createElement("div", { className: styles$j.SuccessTitle }, "Sipari\u015Finiz i\u00E7in te\u015Fekk\u00FCr ederiz!"),
27565
- createElement("div", { className: styles$j.SuccessSubTitle },
27566
- "Sevgili ",
27567
- customerName,
27568
- ", sipari\u015Finiz bize ula\u015Fm\u0131\u015Ft\u0131r. Sipari\u015Finiz kargoya verildi\u011Finde sizi e-posta ile bilgilendirece\u011Fiz."),
27569
- createElement("div", { className: styles$j.InfoGrid },
27570
- createElement("div", null,
27571
- createElement("div", { className: styles$j.InfoTitle }, "Sipari\u015F No / Tarih"),
27572
- createElement("div", { className: styles$j.InfoText }, "#" + (vm.checkout.orderNumber || "")),
27573
- createElement("div", { className: styles$j.InfoText }, vm.checkout.dateStr)),
27574
- createElement("div", null,
27575
- createElement("div", { className: styles$j.InfoTitle }, "\u0130leti\u015Fim Bilgileri"),
27576
- createElement("div", { className: styles$j.InfoText }, (_d = vm.checkout.customer) === null || _d === void 0 ? void 0 : _d.email),
27577
- createElement("div", { className: styles$j.InfoText }, customerName))),
27578
- createElement("div", { className: styles$j.Actions },
27579
- createElement(Button, { text: "Alışverişe Dön", onClick: vm.onBackToShoppingClick }))));
27580
- });
27581
-
27582
- var css_248z$l = ".style-module_PolicyModal__3GidE {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.6);\n backdrop-filter: blur(6px);\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde {\n border-radius: 8px;\n background-color: white;\n color: #545454;\n min-width: 400px;\n max-width: 750px;\n max-height: 90%;\n display: flex;\n flex-direction: column;\n overflow: hidden; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde .style-module_ModalHeader__3tVz1 {\n flex: 0 0 auto;\n padding: 1.5em;\n font-size: 1.2em;\n border-bottom: 1px solid #d9d9d9;\n display: flex;\n justify-content: space-between;\n align-items: center; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde .style-module_ModalHeader__3tVz1 .style-module_CloseButton__1loXc {\n cursor: pointer; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde .style-module_ModalContent__271So {\n flex: 1 1 auto;\n padding: 1.5em;\n overflow-y: auto; }\n @media only screen and (max-width: 1000px) {\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde {\n max-width: unset;\n max-height: unset;\n width: 100%;\n height: 100%;\n margin: 0;\n border-radius: 0; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde .style-module_ModalHeader__3tVz1 {\n padding: 1.5em; } }\n";
27583
- var styles$k = {"PolicyModal":"style-module_PolicyModal__3GidE","Modal":"style-module_Modal__2xsde","ModalHeader":"style-module_ModalHeader__3tVz1","CloseButton":"style-module_CloseButton__1loXc","ModalContent":"style-module_ModalContent__271So"};
27584
- styleInject(css_248z$l);
27585
-
27586
- var PolicyModal = observer(function (_a) {
27587
- var title = _a.title, onClose = _a.onClose, modalContent = _a.modalContent;
27588
- var escFunction = useCallback(function (event) {
27589
- if (event.keyCode === 27) {
27590
- onClose();
27591
- }
27592
- }, []);
27593
- useEffect(function () {
27594
- document.addEventListener("keydown", escFunction, false);
27595
- return function () {
27596
- document.removeEventListener("keydown", escFunction, false);
27597
- };
27598
- }, []);
27599
- return (createElement("div", { className: styles$k.PolicyModal, onClick: onClose },
27600
- createElement("div", { className: styles$k.Modal, onClick: function (e) { return e.stopPropagation(); } },
27601
- createElement("div", { className: styles$k.ModalHeader },
27602
- createElement("div", null, title),
27603
- createElement("div", { className: styles$k.CloseButton, onClick: onClose },
27604
- createElement(SVGHamburger, null))),
27605
- createElement("div", { className: styles$k.ModalContent, dangerouslySetInnerHTML: { __html: modalContent } }))));
27606
- });
27607
-
27608
- var IkasPageHead = observer(function (_a) {
27609
- var _b;
27610
- var page = _a.page, pageTitle = _a.pageTitle, description = _a.description, pageSpecificDataStr = _a.pageSpecificDataStr, props = __rest(_a, ["page", "pageTitle", "description", "pageSpecificDataStr"]);
27611
- var ogpMetas = [];
27612
- var schemas = [];
27613
- var isCanonicalLinkAdd = false;
27614
- var canonicalHref = "";
27615
- if (props.addOgpMetas) {
27616
- ogpMetas.push({
27617
- property: "og:type",
27618
- content: "website",
27619
- });
27620
- if (typeof window !== "undefined") {
27621
- ogpMetas.push({
27622
- property: "og:site_name",
27623
- content: "https://" + window.location.hostname,
27624
- });
27625
- }
27626
- if (pageTitle) {
27627
- ogpMetas.push({
27628
- property: "og:title",
27629
- content: pageTitle,
27630
- });
27631
- }
27632
- if (description) {
27633
- ogpMetas.push({
27634
- property: "og:description",
27635
- content: description,
27636
- });
27637
- }
27638
- if (typeof window !== "undefined") {
27639
- ogpMetas.push({
27640
- property: "og:url",
27641
- content: window.location.href,
27642
- });
27643
- }
27644
- if (props.merchantSettings) {
27645
- if (pageSpecificDataStr && (page === null || page === void 0 ? void 0 : page.type) === IkasThemePageType.PRODUCT) {
27646
- var productDetailParsed = JSON.parse(pageSpecificDataStr);
27647
- var productDetail = new IkasProductDetail(productDetailParsed.product, productDetailParsed.selectedVariantValues);
27648
- if (productDetail.selectedVariant.mainImage) {
27649
- ogpMetas.push({
27650
- property: "og:image",
27651
- content: (_b = productDetail.selectedVariant.mainImage) === null || _b === void 0 ? void 0 : _b.src,
27652
- });
27653
- }
27654
- }
27655
- else {
27656
- var merchantSettings = new IkasMerchantSettings(JSON.parse(props.merchantSettings));
27657
- ogpMetas.push({
27658
- property: "og:image",
27659
- content: merchantSettings.logo.src,
27660
- });
27661
- }
27662
- }
27663
- }
27664
- if (props.merchantSettings) {
27665
- // for schema.org
27666
- var merchantSettings = new IkasMerchantSettings(JSON.parse(props.merchantSettings));
27667
- var websiteSchema = createWebsiteSchema();
27668
- var storeSchema = createStoreSchema(merchantSettings);
27669
- schemas.push(websiteSchema);
27670
- schemas.push(storeSchema);
27671
- }
27672
- if (pageSpecificDataStr && (page === null || page === void 0 ? void 0 : page.type) === IkasThemePageType.PRODUCT) {
27673
- var productDetailParsed = JSON.parse(pageSpecificDataStr);
27674
- var productDetail = new IkasProductDetail(productDetailParsed.product, productDetailParsed.selectedVariantValues);
27675
- if (typeof window !== "undefined" && productDetail.product.hasVariant) {
27676
- isCanonicalLinkAdd =
27677
- window.location.pathname !== productDetail.product.href;
27678
- canonicalHref =
27679
- "https://" + window.location.hostname + productDetail.product.href;
27680
- }
27681
- var schema = createProductSchema(productDetail);
27682
- if (schema)
27683
- schemas.push(schema);
27684
- }
27685
- if (pageSpecificDataStr && (page === null || page === void 0 ? void 0 : page.type) === IkasThemePageType.CATEGORY) {
27686
- var categorySchema = createCategorySchema(pageSpecificDataStr);
27687
- if (categorySchema)
27688
- schemas.push(categorySchema);
27689
- var categoryBreadcrumbSchema = createCategoryBreadcrumbSchema(pageSpecificDataStr);
27690
- if (categoryBreadcrumbSchema)
27691
- schemas.push(categoryBreadcrumbSchema);
27692
- }
27693
- return (createElement(Head, null,
27694
- createElement("title", null, pageTitle || ""),
27695
- createElement("meta", { name: "description", content: description || "" }),
27696
- isCanonicalLinkAdd && createElement("link", { rel: "canonical", href: canonicalHref }),
27697
- !!props.addOgpMetas &&
27698
- ogpMetas.map(function (ogpMeta, index) { return (createElement("meta", { key: ogpMeta.content + "-" + index, property: ogpMeta.property, content: ogpMeta.content })); }),
27699
- !!schemas.length &&
27700
- schemas.map(function (schema, index) { return (createElement("script", { key: index, type: "application/ld+json", dangerouslySetInnerHTML: {
27701
- __html: JSON.stringify(schema),
27702
- } })); })));
27703
- });
27704
- function createWebsiteSchema() {
27705
- var _a;
27706
- var hostname = "";
27707
- if (typeof window !== "undefined") {
27708
- hostname = (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.hostname;
27709
- }
27710
- return {
27711
- "@context": "https://schema.org",
27712
- "@type": "Website",
27713
- url: "https://" + hostname,
27714
- };
27715
- }
27716
- function createStoreSchema(merchantSettings) {
27717
- var _a, _b;
27718
- var hostname = "";
27719
- if (typeof window !== "undefined") {
27720
- hostname = (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.hostname;
27721
- }
27722
- return {
27723
- "@context": "https://schema.org",
27724
- "@type": "Store",
27725
- name: merchantSettings === null || merchantSettings === void 0 ? void 0 : merchantSettings.merchantName,
27726
- logo: (_b = merchantSettings === null || merchantSettings === void 0 ? void 0 : merchantSettings.logo) === null || _b === void 0 ? void 0 : _b.src,
27727
- url: "https://" + hostname,
27728
- };
27729
- }
27730
- function createProductSchema(productDetail) {
27731
- var _a, _b;
27732
- try {
27733
- var isBrowser = typeof window !== "undefined";
27734
- if (isBrowser) {
27735
- var urlParams = new URLSearchParams(window.location.search);
27736
- var vid_1 = urlParams.get("vid");
27737
- if (vid_1) {
27738
- var variant = productDetail.product.variants.find(function (v) { return v.id === vid_1; });
27739
- if (variant) {
27740
- productDetail.selectedVariantValues = variant.variantValues;
27936
+ if (oldQuantity > quantity) {
27937
+ Analytics.removeFromCart(item, oldQuantity - quantity);
27938
+ }
27939
+ else {
27940
+ Analytics.addToCart(item, quantity - oldQuantity);
27941
+ }
27942
+ return [3 /*break*/, 5];
27943
+ case 4:
27944
+ err_3 = _d.sent();
27945
+ console.log(err_3);
27946
+ return [3 /*break*/, 5];
27947
+ case 5: return [2 /*return*/];
27948
+ }
27949
+ });
27950
+ }); };
27951
+ this.removeItem = function (item) { return __awaiter(_this, void 0, void 0, function () {
27952
+ return __generator(this, function (_a) {
27953
+ switch (_a.label) {
27954
+ case 0: return [4 /*yield*/, this.changeItemQuantity(item, 0)];
27955
+ case 1:
27956
+ _a.sent();
27957
+ return [2 /*return*/];
27741
27958
  }
27959
+ });
27960
+ }); };
27961
+ this.removeCardIfEmpty = function () {
27962
+ var _a;
27963
+ if (((_a = _this.cart) === null || _a === void 0 ? void 0 : _a.itemCount) === 0) {
27964
+ _this.removeCart();
27742
27965
  }
27743
- }
27744
- var productUrl = isBrowser
27745
- ? "https://" + window.location.hostname + productDetail.href
27746
- : "";
27747
- return {
27748
- "@context": "https://schema.org/",
27749
- "@type": "Product",
27750
- name: productDetail.product.name,
27751
- description: (_a = productDetail.product.metaData) === null || _a === void 0 ? void 0 : _a.description,
27752
- image: productDetail.selectedVariant.images.map(function (i) { return i.src; }),
27753
- productId: productDetail.selectedVariant.id,
27754
- sku: productDetail.selectedVariant.sku,
27755
- mpn: productDetail.selectedVariant.barcodeList.length
27756
- ? productDetail.selectedVariant.barcodeList[0]
27757
- : "",
27758
- brand: {
27759
- "@type": "Brand",
27760
- name: (_b = productDetail.product.brand) === null || _b === void 0 ? void 0 : _b.name,
27761
- },
27762
- offers: {
27763
- "@type": "Offer",
27764
- url: productUrl,
27765
- priceCurrency: productDetail.selectedVariant.price.currency || "TRY",
27766
- price: productDetail.selectedVariant.price.finalPrice,
27767
- priceValidUntil: "",
27768
- itemCondition: "https://schema.org/NewCondition",
27769
- availability: productDetail.selectedVariant.stock > 0
27770
- ? "https://schema.org/InStock"
27771
- : "https://schema.org/OutOfStock",
27772
- },
27773
27966
  };
27774
- }
27775
- catch (err) { }
27776
- }
27777
- function createCategorySchema(pageSpecificDataStr) {
27778
- var _a, _b, _c;
27779
- try {
27780
- var categoryParsed = JSON.parse(pageSpecificDataStr);
27781
- var category = new IkasCategory(categoryParsed);
27782
- var categoryUrl = typeof window !== undefined
27783
- ? "https://" + window.location.hostname + category.href
27784
- : "";
27785
- return {
27786
- "@context": "http://schema.org",
27787
- "@type": "CollectionPage",
27788
- url: categoryUrl,
27789
- name: (_a = category.metaData) === null || _a === void 0 ? void 0 : _a.pageTitle,
27790
- description: (_b = category.metaData) === null || _b === void 0 ? void 0 : _b.description,
27791
- image: (_c = category.image) === null || _c === void 0 ? void 0 : _c.src,
27967
+ this.removeCart = function () {
27968
+ localStorage.removeItem(CART_LS_KEY);
27969
+ localStorage.removeItem(CHECKOUT_LS_KEY);
27970
+ _this.cart = undefined;
27971
+ _this._checkoutId = undefined;
27792
27972
  };
27973
+ this.baseStore = baseStore;
27974
+ makeAutoObservable(this);
27793
27975
  }
27794
- catch (_d) { }
27795
- }
27796
- function createCategoryBreadcrumbSchema(pageSpecificDataStr) {
27797
- try {
27798
- var categoryParsed = JSON.parse(pageSpecificDataStr);
27799
- var category = new IkasCategory(categoryParsed);
27800
- return {
27801
- "@context": "http://schema.org",
27802
- "@type": "BreadcrumbList",
27803
- itemListElement: category.path.map(function (categoryPath, index) { return ({
27804
- "@type": "ListItem",
27805
- position: index + 1,
27806
- name: categoryPath.name,
27807
- item: typeof window !== undefined
27808
- ? "https://" + window.location.hostname + categoryPath.href
27809
- : "",
27810
- }); }),
27811
- };
27976
+ Object.defineProperty(IkasCartStore.prototype, "isBrowser", {
27977
+ get: function () {
27978
+ return typeof localStorage !== "undefined";
27979
+ },
27980
+ enumerable: false,
27981
+ configurable: true
27982
+ });
27983
+ Object.defineProperty(IkasCartStore.prototype, "isLoadingCart", {
27984
+ get: function () {
27985
+ return this._isLoadingCart;
27986
+ },
27987
+ enumerable: false,
27988
+ configurable: true
27989
+ });
27990
+ Object.defineProperty(IkasCartStore.prototype, "cartLoadFinished", {
27991
+ get: function () {
27992
+ return this._cartLoadFinished;
27993
+ },
27994
+ enumerable: false,
27995
+ configurable: true
27996
+ });
27997
+ Object.defineProperty(IkasCartStore.prototype, "checkoutId", {
27998
+ get: function () {
27999
+ return this._checkoutId;
28000
+ },
28001
+ enumerable: false,
28002
+ configurable: true
28003
+ });
28004
+ Object.defineProperty(IkasCartStore.prototype, "checkoutUrl", {
28005
+ get: function () {
28006
+ if (this._checkoutId)
28007
+ return "/checkout/" + this._checkoutId + "?step=info";
28008
+ },
28009
+ enumerable: false,
28010
+ configurable: true
28011
+ });
28012
+ return IkasCartStore;
28013
+ }());
28014
+
28015
+ var css_248z$k = ".style-module_StepSuccess__36Zg4 .style-module_SuccessTitle__2cVxj {\n font-size: 2em;\n font-weight: 400;\n margin-bottom: 0.3em; }\n\n.style-module_StepSuccess__36Zg4 .style-module_SuccessSubTitle__2UvWI {\n color: #737373;\n margin: auto;\n margin-bottom: 2em; }\n\n.style-module_StepSuccess__36Zg4 .style-module_OrderNumberContainer__1TWG3 {\n display: flex;\n align-items: center;\n margin-bottom: 2em; }\n .style-module_StepSuccess__36Zg4 .style-module_OrderNumberContainer__1TWG3 .style-module_OrderNumber__1A_xg {\n font-weight: bold;\n margin-left: 0.4em; }\n\n.style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 3em;\n margin-bottom: 2em; }\n .style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk .style-module_InfoTitle__2Whku {\n font-weight: 500;\n margin-bottom: 0.2em; }\n .style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk .style-module_InfoText__1LHFw {\n color: #737373;\n letter-spacing: 0.02em; }\n .style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk .style-module_InfoTextBold__21977 {\n font-weight: 500;\n color: #737373; }\n\n.style-module_StepSuccess__36Zg4 .style-module_Actions__3ZXaJ {\n width: 100%;\n display: flex;\n margin: auto; }\n\n@media only screen and (max-width: 1000px) {\n .style-module_StepSuccess__36Zg4 {\n text-align: center;\n margin-top: 3em; }\n .style-module_StepSuccess__36Zg4 .style-module_SuccessSubTitle__2UvWI {\n max-width: 400px; }\n .style-module_StepSuccess__36Zg4 .style-module_OrderNumberContainer__1TWG3 {\n justify-content: center; }\n .style-module_StepSuccess__36Zg4 .style-module_Actions__3ZXaJ {\n justify-content: center;\n max-width: 400px; }\n .style-module_StepSuccess__36Zg4 .style-module_InfoGrid__2VYXk {\n grid-template-columns: 1fr;\n grid-gap: 1.5em; } }\n";
28016
+ var styles$j = {"StepSuccess":"style-module_StepSuccess__36Zg4","SuccessTitle":"style-module_SuccessTitle__2cVxj","SuccessSubTitle":"style-module_SuccessSubTitle__2UvWI","OrderNumberContainer":"style-module_OrderNumberContainer__1TWG3","OrderNumber":"style-module_OrderNumber__1A_xg","InfoGrid":"style-module_InfoGrid__2VYXk","InfoTitle":"style-module_InfoTitle__2Whku","InfoText":"style-module_InfoText__1LHFw","InfoTextBold":"style-module_InfoTextBold__21977","Actions":"style-module_Actions__3ZXaJ"};
28017
+ styleInject(css_248z$k);
28018
+
28019
+ var StepSuccess = observer(function (_a) {
28020
+ var _b, _c, _d;
28021
+ var vm = _a.vm;
28022
+ if (typeof localStorage !== "undefined") {
28023
+ localStorage.removeItem(CART_LS_KEY);
28024
+ localStorage.removeItem(CHECKOUT_LS_KEY);
27812
28025
  }
27813
- catch (_a) { }
27814
- }
28026
+ Analytics.purchase(vm.checkout, vm.checkout.orderNumber);
28027
+ var customerName = (((_b = vm.checkout.customer) === null || _b === void 0 ? void 0 : _b.firstName) || "") +
28028
+ " " +
28029
+ (((_c = vm.checkout.customer) === null || _c === void 0 ? void 0 : _c.lastName) || "");
28030
+ return (createElement("div", { className: [styles$j.StepSuccess, commonStyles.FormContainer].join(" ") },
28031
+ createElement("div", { className: styles$j.SuccessTitle }, "Sipari\u015Finiz i\u00E7in te\u015Fekk\u00FCr ederiz!"),
28032
+ createElement("div", { className: styles$j.SuccessSubTitle },
28033
+ "Sevgili ",
28034
+ customerName,
28035
+ ", sipari\u015Finiz bize ula\u015Fm\u0131\u015Ft\u0131r. Sipari\u015Finiz kargoya verildi\u011Finde sizi e-posta ile bilgilendirece\u011Fiz."),
28036
+ createElement("div", { className: styles$j.InfoGrid },
28037
+ createElement("div", null,
28038
+ createElement("div", { className: styles$j.InfoTitle }, "Sipari\u015F No / Tarih"),
28039
+ createElement("div", { className: styles$j.InfoText }, "#" + (vm.checkout.orderNumber || "")),
28040
+ createElement("div", { className: styles$j.InfoText }, vm.checkout.dateStr)),
28041
+ createElement("div", null,
28042
+ createElement("div", { className: styles$j.InfoTitle }, "\u0130leti\u015Fim Bilgileri"),
28043
+ createElement("div", { className: styles$j.InfoText }, (_d = vm.checkout.customer) === null || _d === void 0 ? void 0 : _d.email),
28044
+ createElement("div", { className: styles$j.InfoText }, customerName))),
28045
+ createElement("div", { className: styles$j.Actions },
28046
+ createElement(Button, { text: "Alışverişe Dön", onClick: vm.onBackToShoppingClick }))));
28047
+ });
28048
+
28049
+ var css_248z$l = ".style-module_PolicyModal__3GidE {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.6);\n backdrop-filter: blur(6px);\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde {\n border-radius: 8px;\n background-color: white;\n color: #545454;\n min-width: 400px;\n max-width: 750px;\n max-height: 90%;\n display: flex;\n flex-direction: column;\n overflow: hidden; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde .style-module_ModalHeader__3tVz1 {\n flex: 0 0 auto;\n padding: 1.5em;\n font-size: 1.2em;\n border-bottom: 1px solid #d9d9d9;\n display: flex;\n justify-content: space-between;\n align-items: center; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde .style-module_ModalHeader__3tVz1 .style-module_CloseButton__1loXc {\n cursor: pointer; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde .style-module_ModalContent__271So {\n flex: 1 1 auto;\n padding: 1.5em;\n overflow-y: auto; }\n @media only screen and (max-width: 1000px) {\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde {\n max-width: unset;\n max-height: unset;\n width: 100%;\n height: 100%;\n margin: 0;\n border-radius: 0; }\n .style-module_PolicyModal__3GidE .style-module_Modal__2xsde .style-module_ModalHeader__3tVz1 {\n padding: 1.5em; } }\n";
28050
+ var styles$k = {"PolicyModal":"style-module_PolicyModal__3GidE","Modal":"style-module_Modal__2xsde","ModalHeader":"style-module_ModalHeader__3tVz1","CloseButton":"style-module_CloseButton__1loXc","ModalContent":"style-module_ModalContent__271So"};
28051
+ styleInject(css_248z$l);
28052
+
28053
+ var PolicyModal = observer(function (_a) {
28054
+ var title = _a.title, onClose = _a.onClose, modalContent = _a.modalContent;
28055
+ var escFunction = useCallback(function (event) {
28056
+ if (event.keyCode === 27) {
28057
+ onClose();
28058
+ }
28059
+ }, []);
28060
+ useEffect(function () {
28061
+ document.addEventListener("keydown", escFunction, false);
28062
+ return function () {
28063
+ document.removeEventListener("keydown", escFunction, false);
28064
+ };
28065
+ }, []);
28066
+ return (createElement("div", { className: styles$k.PolicyModal, onClick: onClose },
28067
+ createElement("div", { className: styles$k.Modal, onClick: function (e) { return e.stopPropagation(); } },
28068
+ createElement("div", { className: styles$k.ModalHeader },
28069
+ createElement("div", null, title),
28070
+ createElement("div", { className: styles$k.CloseButton, onClick: onClose },
28071
+ createElement(SVGHamburger, null))),
28072
+ createElement("div", { className: styles$k.ModalContent, dangerouslySetInnerHTML: { __html: modalContent } }))));
28073
+ });
27815
28074
 
27816
28075
  var CustomerLoginRequiredError = observer(function (_a) {
27817
28076
  var onClose = _a.onClose;
@@ -27944,67 +28203,6 @@ var style = {
27944
28203
  backgroundColor: "rgba(255, 0, 0, 0.5)",
27945
28204
  };
27946
28205
 
27947
- var ThemeComponent = observer(function (_a) {
27948
- var pageComponentPropValue = _a.pageComponentPropValue, pageComponent = _a.pageComponent, index = _a.index, settingsStr = _a.settingsStr;
27949
- var store = IkasStorefrontConfig.store, components = IkasStorefrontConfig.components;
27950
- var settings = new IkasThemeSettings(JSON.parse(settingsStr));
27951
- useEffect(function () {
27952
- settings.colors.map(function (sc) {
27953
- return document.documentElement.style.setProperty(sc.key, sc.color);
27954
- });
27955
- }, [settings]);
27956
- var propValues = pageComponentPropValue.propValues;
27957
- var hasNullValue = computed(function () {
27958
- return Object.entries(propValues || {}).some(function (_a) {
27959
- var _b;
27960
- var propName = _a[0], propValue = _a[1];
27961
- return (propValue === null || propValue === undefined) && ((_b = pageComponentPropValue.component.props.find(function (p) { return p.name === propName; })) === null || _b === void 0 ? void 0 : _b.isRequired);
27962
- });
27963
- });
27964
- var Component = components[pageComponent.componentId];
27965
- return (createElement("div", { id: index + "" }, hasNullValue.get() ? (createElement(ErrorComponent, null)) : (createElement(Component, __assign({ key: pageComponent.id }, propValues, { settings: settings, store: store })))));
27966
- });
27967
-
27968
- var IkasPage = observer(function (_a) {
27969
- var _b, _c;
27970
- var propValues = _a.propValues, page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, settingsStr = _a.settingsStr, merchantSettings = _a.merchantSettings, addOgpMetas = _a.addOgpMetas;
27971
- var store = IkasStorefrontConfig.store;
27972
- if (page) {
27973
- store.currentPageType = page.type;
27974
- }
27975
- useEffect(function () {
27976
- store.checkLocalization();
27977
- //@ts-ignore
27978
- store.cartStore.getCart();
27979
- }, []);
27980
- var renderComponent = function (pageComponent, index) {
27981
- var pageComponentPropValue = propValues.find(function (pv) { return pv.pageComponent.id === pageComponent.id; });
27982
- return (createElement(ThemeComponent, { key: pageComponent.id, index: index, pageComponentPropValue: pageComponentPropValue, pageComponent: pageComponent, settingsStr: settingsStr }));
27983
- };
27984
- var headerComponent = (_b = propValues.find(function (pv) { return pv.component.isHeader; })) === null || _b === void 0 ? void 0 : _b.pageComponent;
27985
- var footerComponent = (_c = propValues.find(function (pv) { return pv.component.isFooter; })) === null || _c === void 0 ? void 0 : _c.pageComponent;
27986
- var others = propValues
27987
- .filter(function (pv) { return !pv.component.isHeader && !pv.component.isFooter; })
27988
- .map(function (pv) { return pv.pageComponent; }) || [];
27989
- if (!page)
27990
- return null;
27991
- return (createElement(Fragment, null,
27992
- createElement(IkasPageHead, { page: page, pageTitle: page.pageTitle, description: page.description, pageSpecificDataStr: pageSpecificDataStr, merchantSettings: merchantSettings, addOgpMetas: addOgpMetas }),
27993
- createElement("div", { style: pageStyle },
27994
- createElement("div", null,
27995
- headerComponent && renderComponent(headerComponent, -1),
27996
- others.map(renderComponent)),
27997
- footerComponent && renderComponent(footerComponent, -1))));
27998
- });
27999
- var pageStyle = {
28000
- position: "relative",
28001
- minHeight: "100vh",
28002
- width: "100vw",
28003
- display: "flex",
28004
- flexDirection: "column",
28005
- justifyContent: "space-between",
28006
- };
28007
-
28008
28206
  var PageViewModel = /** @class */ (function () {
28009
28207
  function PageViewModel(router) {
28010
28208
  var _this = this;
@@ -28116,18 +28314,6 @@ var PageViewModel = /** @class */ (function () {
28116
28314
  data: data,
28117
28315
  }, "*");
28118
28316
  };
28119
- this.getComponentPropValues = function (pageComponent) {
28120
- var _a;
28121
- var json = {};
28122
- var component = (_a = _this.theme) === null || _a === void 0 ? void 0 : _a.components.find(function (c) { return c.id === pageComponent.componentId; });
28123
- component === null || component === void 0 ? void 0 : component.props.forEach(function (prop) {
28124
- // TODO get prop values
28125
- if (prop.type === IkasThemeComponentPropType.TEXT) {
28126
- json[prop.name] = pageComponent.propValues[prop.name];
28127
- }
28128
- });
28129
- return json;
28130
- };
28131
28317
  this.getPagePropValues = function () { return __awaiter(_this, void 0, void 0, function () {
28132
28318
  var pageDataProvider;
28133
28319
  var _this = this;
@@ -28140,7 +28326,7 @@ var PageViewModel = /** @class */ (function () {
28140
28326
  return [4 /*yield*/, pageDataProvider.getPageData()];
28141
28327
  case 1:
28142
28328
  _b.sent();
28143
- pageDataProvider.pageComponentPropValues = IkasPageDataProvider.initPropValues(JSON.stringify(pageDataProvider.pageComponentPropValues), this.router);
28329
+ pageDataProvider.pageComponentPropValues = IkasPageDataProvider.initPropValues(JSON.stringify(pageDataProvider.pageComponentPropValues), this.router, JSON.stringify(this.theme.settings));
28144
28330
  runInAction(function () {
28145
28331
  _this.pageDataProvider = pageDataProvider;
28146
28332
  _this.isLoading = false;
@@ -28204,7 +28390,13 @@ var PageViewModel = /** @class */ (function () {
28204
28390
  if (pageComponentPropValues) {
28205
28391
  pageComponentPropValues.propValues[propName] = propValue;
28206
28392
  if (prop.type === IkasThemeComponentPropType.CUSTOM) {
28207
- IkasPageDataProvider.initCustomDataPropValue(prop, propValue, pageComponentPropValues, _this.router, true);
28393
+ IkasPageDataProvider.initCustomDataPropValue(prop, propValue, pageComponentPropValues, _this.router, _this.theme.settings, true);
28394
+ }
28395
+ else if (prop.type === IkasThemeComponentPropType.COMPONENT) {
28396
+ IkasPageDataProvider.initComponentPropValue(prop, propValue, pageComponentPropValues, _this.router, _this.theme.settings, true);
28397
+ }
28398
+ else if (prop.type === IkasThemeComponentPropType.COMPONENT_LIST) {
28399
+ IkasPageDataProvider.initComponentListPropValue(prop, propValue, pageComponentPropValues, _this.router, _this.theme.settings, true);
28208
28400
  }
28209
28401
  }
28210
28402
  });
@@ -28273,7 +28465,7 @@ var PageViewModel = /** @class */ (function () {
28273
28465
  runInAction(function () {
28274
28466
  var customDataProps = pageComponentPropValues.component.props.filter(function (p) { return p.type === IkasThemeComponentPropType.CUSTOM; });
28275
28467
  customDataProps.forEach(function (customDataProp) {
28276
- IkasPageDataProvider.initCustomDataPropValue(customDataProp, pageComponentPropValues.propValues[customDataProp.name], pageComponentPropValues, _this.router, true);
28468
+ IkasPageDataProvider.initCustomDataPropValue(customDataProp, pageComponentPropValues.propValues[customDataProp.name], pageComponentPropValues, _this.router, _this.theme.settings, true);
28277
28469
  });
28278
28470
  _this.pageDataProvider.pageComponentPropValues.push(pageComponentPropValues);
28279
28471
  _this.pageComponents.push(pageComponent);
@@ -28858,7 +29050,9 @@ var Page = function (_a) {
28858
29050
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, merchantSettings = _a.merchantSettings, configJson = _a.configJson;
28859
29051
  IkasStorefrontConfig.initWithJson(configJson);
28860
29052
  var router = useRouter();
28861
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29053
+ var propValues = useMemo(function () {
29054
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29055
+ }, [propValuesStr]);
28862
29056
  return (createElement(IkasPage, { merchantSettings: merchantSettings, settingsStr: settingsStr, page: page, propValues: propValues, addOgpMetas: true }));
28863
29057
  };
28864
29058
  var getStaticProps = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -28881,14 +29075,16 @@ var Page$1 = function (_a) {
28881
29075
  IkasStorefrontConfig.initWithJson(configJson);
28882
29076
  var router = useRouter();
28883
29077
  var _b = useState(false), isBrowser = _b[0], setIsBrowser = _b[1];
28884
- var initialPropValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29078
+ var initialPropValues = useMemo(function () {
29079
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29080
+ }, [propValuesStr]);
28885
29081
  var _c = useState(initialPropValues), propValues = _c[0], setPropValues = _c[1];
28886
29082
  useEffect(function () {
28887
29083
  setIsBrowser(typeof window !== "undefined");
28888
29084
  handleAnalytics(page, pageSpecificDataStr);
28889
29085
  }, []);
28890
29086
  useEffect(function () {
28891
- setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router, isBrowser));
29087
+ setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr, isBrowser));
28892
29088
  }, [isBrowser, propValuesStr]);
28893
29089
  return (createElement(IkasPage, { page: page, propValues: propValues, pageSpecificDataStr: pageSpecificDataStr, settingsStr: settingsStr, merchantSettings: merchantSettings, addOgpMetas: true }));
28894
29090
  };
@@ -28981,7 +29177,7 @@ function handleAnalytics(page, pageSpecificDataStr) {
28981
29177
  else {
28982
29178
  categoryPath = category.name;
28983
29179
  }
28984
- Analytics.viewCategory(categoryPath);
29180
+ Analytics.viewCategory(categoryPath, category);
28985
29181
  }
28986
29182
  }
28987
29183
  catch (err) {
@@ -29001,7 +29197,9 @@ var Page$2 = function (_a) {
29001
29197
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, configJson = _a.configJson;
29002
29198
  IkasStorefrontConfig.initWithJson(configJson);
29003
29199
  var router = useRouter();
29004
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29200
+ var propValues = useMemo(function () {
29201
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29202
+ }, [propValuesStr]);
29005
29203
  return (createElement(IkasPage, { page: page, settingsStr: settingsStr, propValues: propValues }));
29006
29204
  };
29007
29205
  var getStaticPaths$1 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29150,7 +29348,9 @@ var Page$3 = function (_a) {
29150
29348
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, configJson = _a.configJson;
29151
29349
  IkasStorefrontConfig.initWithJson(configJson);
29152
29350
  var router = useRouter();
29153
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29351
+ var propValues = useMemo(function () {
29352
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29353
+ }, [propValuesStr]);
29154
29354
  return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
29155
29355
  };
29156
29356
  var getStaticProps$3 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29172,7 +29372,9 @@ var Page$4 = function (_a) {
29172
29372
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, configJson = _a.configJson;
29173
29373
  IkasStorefrontConfig.initWithJson(configJson);
29174
29374
  var router = useRouter();
29175
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29375
+ var propValues = useMemo(function () {
29376
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29377
+ }, [propValuesStr]);
29176
29378
  return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
29177
29379
  };
29178
29380
  var getStaticProps$4 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29194,7 +29396,9 @@ var Page$5 = function (_a) {
29194
29396
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, configJson = _a.configJson;
29195
29397
  IkasStorefrontConfig.initWithJson(configJson);
29196
29398
  var router = useRouter();
29197
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29399
+ var propValues = useMemo(function () {
29400
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29401
+ }, [propValuesStr]);
29198
29402
  return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
29199
29403
  };
29200
29404
  var getStaticProps$5 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29216,7 +29420,9 @@ var Page$6 = function (_a) {
29216
29420
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, configJson = _a.configJson;
29217
29421
  IkasStorefrontConfig.initWithJson(configJson);
29218
29422
  var router = useRouter();
29219
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29423
+ var propValues = useMemo(function () {
29424
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29425
+ }, [propValuesStr]);
29220
29426
  return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
29221
29427
  };
29222
29428
  var getServerSideProps$1 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29238,7 +29444,9 @@ var Page$7 = function (_a) {
29238
29444
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, merchantSettings = _a.merchantSettings, configJson = _a.configJson;
29239
29445
  IkasStorefrontConfig.initWithJson(configJson);
29240
29446
  var router = useRouter();
29241
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29447
+ var propValues = useMemo(function () {
29448
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29449
+ }, [propValuesStr]);
29242
29450
  return (createElement(IkasPage, { merchantSettings: merchantSettings, settingsStr: settingsStr, page: page, propValues: propValues }));
29243
29451
  };
29244
29452
  var getStaticProps$6 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29260,7 +29468,9 @@ var Page$8 = function (_a) {
29260
29468
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, merchantSettings = _a.merchantSettings, configJson = _a.configJson;
29261
29469
  IkasStorefrontConfig.initWithJson(configJson);
29262
29470
  var router = useRouter();
29263
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29471
+ var propValues = useMemo(function () {
29472
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29473
+ }, [propValuesStr]);
29264
29474
  return (createElement(IkasPage, { merchantSettings: merchantSettings, settingsStr: settingsStr, page: page, propValues: propValues }));
29265
29475
  };
29266
29476
  var getStaticProps$7 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29282,7 +29492,9 @@ var Page$9 = function (_a) {
29282
29492
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, merchantSettings = _a.merchantSettings, configJson = _a.configJson;
29283
29493
  IkasStorefrontConfig.initWithJson(configJson);
29284
29494
  var router = useRouter();
29285
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29495
+ var propValues = useMemo(function () {
29496
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29497
+ }, [propValuesStr]);
29286
29498
  return (createElement(IkasPage, { merchantSettings: merchantSettings, settingsStr: settingsStr, page: page, propValues: propValues }));
29287
29499
  };
29288
29500
  var getStaticProps$8 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29304,7 +29516,9 @@ var Page$a = function (_a) {
29304
29516
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, merchantSettings = _a.merchantSettings, configJson = _a.configJson;
29305
29517
  IkasStorefrontConfig.initWithJson(configJson);
29306
29518
  var router = useRouter();
29307
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29519
+ var propValues = useMemo(function () {
29520
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29521
+ }, [propValuesStr]);
29308
29522
  return (createElement(IkasPage, { merchantSettings: merchantSettings, settingsStr: settingsStr, page: page, propValues: propValues }));
29309
29523
  };
29310
29524
  var getStaticProps$9 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29326,7 +29540,9 @@ var Page$b = function (_a) {
29326
29540
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, configJson = _a.configJson;
29327
29541
  IkasStorefrontConfig.initWithJson(configJson);
29328
29542
  var router = useRouter();
29329
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29543
+ var propValues = useMemo(function () {
29544
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29545
+ }, [propValuesStr]);
29330
29546
  var store = IkasStorefrontConfig.store;
29331
29547
  useEffect(function () {
29332
29548
  Analytics.viewCart(store.cartStore.cart);
@@ -29363,7 +29579,9 @@ var Page$d = function (_a) {
29363
29579
  var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr, configJson = _a.configJson;
29364
29580
  IkasStorefrontConfig.initWithJson(configJson);
29365
29581
  var router = useRouter();
29366
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29582
+ var propValues = useMemo(function () {
29583
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29584
+ }, [propValuesStr]);
29367
29585
  return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
29368
29586
  };
29369
29587
  var getStaticProps$b = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29386,13 +29604,15 @@ var Page$e = function (_a) {
29386
29604
  IkasStorefrontConfig.initWithJson(configJson);
29387
29605
  var router = useRouter();
29388
29606
  var _b = useState(false), isBrowser = _b[0], setIsBrowser = _b[1];
29389
- var initialPropValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29607
+ var initialPropValues = useMemo(function () {
29608
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29609
+ }, [propValuesStr]);
29390
29610
  var _c = useState(initialPropValues), propValues = _c[0], setPropValues = _c[1];
29391
29611
  useEffect(function () {
29392
29612
  setIsBrowser(typeof window !== "undefined");
29393
29613
  }, []);
29394
29614
  useEffect(function () {
29395
- setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router, isBrowser));
29615
+ setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr, isBrowser));
29396
29616
  }, [isBrowser, propValuesStr]);
29397
29617
  return (createElement(IkasPage, { merchantSettings: merchantSettings, settingsStr: settingsStr, page: page, propValues: propValues, addOgpMetas: true }));
29398
29618
  };
@@ -29417,7 +29637,9 @@ var Page$f = function (_a) {
29417
29637
  return createElement(Error$1, { statusCode: 404 });
29418
29638
  IkasStorefrontConfig.initWithJson(configJson);
29419
29639
  var router = useRouter();
29420
- var propValues = useMemo(function () { return IkasPageDataProvider.initPropValues(propValuesStr, router); }, [propValuesStr]);
29640
+ var propValues = useMemo(function () {
29641
+ return IkasPageDataProvider.initPropValues(propValuesStr, router, settingsStr);
29642
+ }, [propValuesStr]);
29421
29643
  return (createElement(IkasPage, { merchantSettings: merchantSettings, settingsStr: settingsStr, page: page, propValues: propValues }));
29422
29644
  };
29423
29645
  var getStaticProps$d = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -29475,6 +29697,7 @@ var IkasBaseStore = /** @class */ (function () {
29475
29697
  this.localeOptions = [];
29476
29698
  this.showLocaleOptions = false;
29477
29699
  this.localeChecked = false;
29700
+ this.settingsSet = false;
29478
29701
  this.customerStore = new IkasCustomerStore(this);
29479
29702
  this.cartStore = new IkasCartStore(this);
29480
29703
  makeObservable(this, {
@@ -29563,7 +29786,15 @@ var IkasBaseStore = /** @class */ (function () {
29563
29786
  (localeOption.routing.path ? "/" + localeOption.routing.path : ""));
29564
29787
  }
29565
29788
  };
29789
+ IkasBaseStore.prototype.setSettings = function (settingsStr) {
29790
+ if (this.settingsSet)
29791
+ return;
29792
+ var settings = new IkasThemeSettings(JSON.parse(settingsStr));
29793
+ settings.colors.map(function (sc) {
29794
+ return document.documentElement.style.setProperty(sc.key, sc.color);
29795
+ });
29796
+ };
29566
29797
  return IkasBaseStore;
29567
29798
  }());
29568
29799
 
29569
- export { AccountInfoForm, index$3 as AccountPage, AddressForm, addresses as AddressesPage, Analytics, AnalyticsBody, AnalyticsHead, 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, IkasBrand, IkasBrandAPI, IkasBrandList, IkasBrandListPropValue, IkasBrandListSortType, IkasBrandListType, IkasBrandPropValue, IkasCardAssociation, IkasCardType, IkasCartAPI, IkasCategory, IkasCategoryAPI, IkasCategoryList, IkasCategoryListPropValue, IkasCategoryListSortType, IkasCategoryListType, IkasCategoryPropValue, IkasCheckout, IkasCheckoutAPI, IkasCheckoutPage, IkasCheckoutRecoveryEmailStatus, IkasCheckoutRecoveryStatus, IkasCheckoutStatus, IkasCityAPI, 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, parseRangeStr, pascalCase, stringToSlug, validatePhoneNumber };
29800
+ export { AccountInfoForm, index$3 as AccountPage, AddressForm, addresses as AddressesPage, Analytics, AnalyticsBody, AnalyticsHead, 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, 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, parseRangeStr, pascalCase, stringToSlug, validatePhoneNumber };