@ikas/storefront 0.0.38 → 0.0.39

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.
@@ -5,6 +5,7 @@ declare type Props = {
5
5
  pageComponentPropValue: IkasPageComponentPropValue;
6
6
  pageComponent: IkasThemePageComponent;
7
7
  index: number;
8
+ settingsStr: string;
8
9
  };
9
10
  export declare const ThemeComponent: React.FC<Props>;
10
11
  export {};
@@ -5,6 +5,7 @@ declare type Props = {
5
5
  propValues: IkasPageComponentPropValue[];
6
6
  page?: IkasThemePage;
7
7
  pageSpecificDataStr?: string;
8
+ settingsStr: string;
8
9
  };
9
10
  export declare const IkasPage: React.FC<Props>;
10
11
  export {};
package/build/index.es.js CHANGED
@@ -11355,6 +11355,7 @@ var IkasPageDataProvider = /** @class */ (function () {
11355
11355
  props: {
11356
11356
  propValuesStr: JSON.stringify(this.pageComponentPropValues),
11357
11357
  page: toJS(this.page) || null,
11358
+ settingsStr: JSON.stringify(this.theme.settings || {}),
11358
11359
  },
11359
11360
  };
11360
11361
  },
@@ -12982,6 +12983,28 @@ var IkasThemePageType;
12982
12983
  IkasThemePageType["CART"] = "CART";
12983
12984
  })(IkasThemePageType || (IkasThemePageType = {}));
12984
12985
 
12986
+ var IkasThemeColor = /** @class */ (function () {
12987
+ function IkasThemeColor(data) {
12988
+ this.id = data.id || v4();
12989
+ this.displayName = data.displayName || "";
12990
+ this.key = data.key || "";
12991
+ this.color = data.color || "";
12992
+ makeAutoObservable(this);
12993
+ }
12994
+ return IkasThemeColor;
12995
+ }());
12996
+
12997
+ var IkasThemeSettings = /** @class */ (function () {
12998
+ function IkasThemeSettings(data) {
12999
+ if (data === void 0) { data = {}; }
13000
+ this.colors = data.colors
13001
+ ? data.colors.map(function (c) { return new IkasThemeColor(c); })
13002
+ : [];
13003
+ makeAutoObservable(this);
13004
+ }
13005
+ return IkasThemeSettings;
13006
+ }());
13007
+
12985
13008
  var IkasTheme = /** @class */ (function () {
12986
13009
  function IkasTheme(data) {
12987
13010
  if (data === void 0) { data = {}; }
@@ -12990,6 +13013,9 @@ var IkasTheme = /** @class */ (function () {
12990
13013
  ? data.components.map(function (c) { return new IkasThemeComponent(c); })
12991
13014
  : [];
12992
13015
  this.pages = data.pages ? data.pages.map(function (p) { return new IkasThemePage(p); }) : [];
13016
+ this.settings = data.settings
13017
+ ? new IkasThemeSettings(data.settings)
13018
+ : new IkasThemeSettings();
12993
13019
  makeAutoObservable(this);
12994
13020
  }
12995
13021
  Object.defineProperty(IkasTheme.prototype, "headerComponent", {
@@ -22895,8 +22921,9 @@ var style = {
22895
22921
  };
22896
22922
 
22897
22923
  var ThemeComponent = observer(function (_a) {
22898
- var pageComponentPropValue = _a.pageComponentPropValue, pageComponent = _a.pageComponent, index = _a.index;
22924
+ var pageComponentPropValue = _a.pageComponentPropValue, pageComponent = _a.pageComponent, index = _a.index, settingsStr = _a.settingsStr;
22899
22925
  var store = IkasStorefrontConfig.store, components = IkasStorefrontConfig.components;
22926
+ var settings = new IkasThemeSettings(JSON.parse(settingsStr));
22900
22927
  var propValues = pageComponentPropValue.propValues;
22901
22928
  var hasNullValue = computed(function () {
22902
22929
  return Object.entries(propValues || {}).some(function (_a) {
@@ -22906,15 +22933,15 @@ var ThemeComponent = observer(function (_a) {
22906
22933
  });
22907
22934
  });
22908
22935
  var Component = components[pageComponent.componentId];
22909
- return (createElement("div", { id: index + "" }, hasNullValue.get() ? (createElement(ErrorComponent, null)) : (createElement(Component, __assign({ key: pageComponent.id }, propValues, { store: store })))));
22936
+ return (createElement("div", { id: index + "" }, hasNullValue.get() ? (createElement(ErrorComponent, null)) : (createElement(Component, __assign({ key: pageComponent.id }, propValues, { settings: settings, store: store })))));
22910
22937
  });
22911
22938
 
22912
22939
  var IkasPage = observer(function (_a) {
22913
22940
  var _b, _c;
22914
- var propValues = _a.propValues, page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr;
22941
+ var propValues = _a.propValues, page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, settingsStr = _a.settingsStr;
22915
22942
  var renderComponent = function (pageComponent, index) {
22916
22943
  var pageComponentPropValue = propValues.find(function (pv) { return pv.pageComponent.id === pageComponent.id; });
22917
- return (createElement(ThemeComponent, { key: pageComponent.id, index: index, pageComponentPropValue: pageComponentPropValue, pageComponent: pageComponent }));
22944
+ return (createElement(ThemeComponent, { key: pageComponent.id, index: index, pageComponentPropValue: pageComponentPropValue, pageComponent: pageComponent, settingsStr: settingsStr }));
22918
22945
  };
22919
22946
  var headerComponent = (_b = propValues.find(function (pv) { return pv.component.isHeader; })) === null || _b === void 0 ? void 0 : _b.pageComponent;
22920
22947
  var footerComponent = (_c = propValues.find(function (pv) { return pv.component.isFooter; })) === null || _c === void 0 ? void 0 : _c.pageComponent;
@@ -23302,7 +23329,8 @@ var ThemeEditorComponent = observer(function (_a) {
23302
23329
  vm.onClick(pageComponent.id);
23303
23330
  };
23304
23331
  var rendered = computed(function () {
23305
- return hasNullValue.get() ? (createElement(ErrorComponent, null)) : (createElement(Component, __assign({ store: store }, propValues)));
23332
+ var _a;
23333
+ return hasNullValue.get() ? (createElement(ErrorComponent, null)) : (createElement(Component, __assign({ store: store }, propValues, { settings: (_a = vm.theme) === null || _a === void 0 ? void 0 : _a.settings })));
23306
23334
  });
23307
23335
  return (createElement("div", { ref: ref, style: { position: "relative" }, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onClick: onClick },
23308
23336
  rendered.get(),
@@ -23388,10 +23416,10 @@ var index = /*#__PURE__*/Object.freeze({
23388
23416
  });
23389
23417
 
23390
23418
  var Page = function (_a) {
23391
- var page = _a.page, propValuesStr = _a.propValuesStr;
23419
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23392
23420
  var router = useRouter();
23393
23421
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23394
- return createElement(IkasPage, { page: page, propValues: propValues });
23422
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23395
23423
  };
23396
23424
  var getStaticProps = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23397
23425
  var theme, provider;
@@ -23416,7 +23444,7 @@ var home = /*#__PURE__*/Object.freeze({
23416
23444
  });
23417
23445
 
23418
23446
  var Page$1 = function (_a) {
23419
- var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, propValuesStr = _a.propValuesStr;
23447
+ var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23420
23448
  var router = useRouter();
23421
23449
  var _b = useState(false), isBrowser = _b[0], setIsBrowser = _b[1];
23422
23450
  var _c = useState(IkasPageDataProvider.initPropValues(propValuesStr, router)), propValues = _c[0], setPropValues = _c[1];
@@ -23427,7 +23455,7 @@ var Page$1 = function (_a) {
23427
23455
  setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router, isBrowser));
23428
23456
  }, [isBrowser, propValuesStr]);
23429
23457
  handleGTM(page, pageSpecificDataStr);
23430
- return (createElement(IkasPage, { page: page, propValues: propValues, pageSpecificDataStr: pageSpecificDataStr }));
23458
+ return (createElement(IkasPage, { page: page, propValues: propValues, pageSpecificDataStr: pageSpecificDataStr, settingsStr: settingsStr }));
23431
23459
  };
23432
23460
  var index$1 = observer(Page$1);
23433
23461
  var getStaticPaths = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -23537,10 +23565,10 @@ var index$2 = /*#__PURE__*/Object.freeze({
23537
23565
  });
23538
23566
 
23539
23567
  var Page$2 = function (_a) {
23540
- var page = _a.page, propValuesStr = _a.propValuesStr;
23568
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23541
23569
  var router = useRouter();
23542
23570
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23543
- return createElement(IkasPage, { page: page, propValues: propValues });
23571
+ return (createElement(IkasPage, { page: page, settingsStr: settingsStr, propValues: propValues }));
23544
23572
  };
23545
23573
  var getStaticPaths$1 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23546
23574
  var theme, customPages, customPagePaths;
@@ -23631,10 +23659,10 @@ var _id_$1 = /*#__PURE__*/Object.freeze({
23631
23659
  });
23632
23660
 
23633
23661
  var Page$3 = function (_a) {
23634
- var page = _a.page, propValuesStr = _a.propValuesStr;
23662
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23635
23663
  var router = useRouter();
23636
23664
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23637
- return createElement(IkasPage, { page: page, propValues: propValues });
23665
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23638
23666
  };
23639
23667
  var getStaticProps$3 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23640
23668
  var theme, provider;
@@ -23659,10 +23687,10 @@ var index$3 = /*#__PURE__*/Object.freeze({
23659
23687
  });
23660
23688
 
23661
23689
  var Page$4 = function (_a) {
23662
- var page = _a.page, propValuesStr = _a.propValuesStr;
23690
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23663
23691
  var router = useRouter();
23664
23692
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23665
- return createElement(IkasPage, { page: page, propValues: propValues });
23693
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23666
23694
  };
23667
23695
  var getStaticProps$4 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23668
23696
  var theme, provider;
@@ -23687,10 +23715,10 @@ var addresses = /*#__PURE__*/Object.freeze({
23687
23715
  });
23688
23716
 
23689
23717
  var Page$5 = function (_a) {
23690
- var page = _a.page, propValuesStr = _a.propValuesStr;
23718
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23691
23719
  var router = useRouter();
23692
23720
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23693
- return createElement(IkasPage, { page: page, propValues: propValues });
23721
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23694
23722
  };
23695
23723
  var getStaticProps$5 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23696
23724
  var theme, provider;
@@ -23715,10 +23743,10 @@ var index$4 = /*#__PURE__*/Object.freeze({
23715
23743
  });
23716
23744
 
23717
23745
  var Page$6 = function (_a) {
23718
- var page = _a.page, propValuesStr = _a.propValuesStr;
23746
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23719
23747
  var router = useRouter();
23720
23748
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23721
- return createElement(IkasPage, { page: page, propValues: propValues });
23749
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23722
23750
  };
23723
23751
  var getServerSideProps$1 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23724
23752
  var theme, provider;
@@ -23743,10 +23771,10 @@ var _id_$2 = /*#__PURE__*/Object.freeze({
23743
23771
  });
23744
23772
 
23745
23773
  var Page$7 = function (_a) {
23746
- var page = _a.page, propValuesStr = _a.propValuesStr;
23774
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23747
23775
  var router = useRouter();
23748
23776
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23749
- return createElement(IkasPage, { page: page, propValues: propValues });
23777
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23750
23778
  };
23751
23779
  var getStaticProps$6 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23752
23780
  var theme, provider;
@@ -23771,10 +23799,10 @@ var login = /*#__PURE__*/Object.freeze({
23771
23799
  });
23772
23800
 
23773
23801
  var Page$8 = function (_a) {
23774
- var page = _a.page, propValuesStr = _a.propValuesStr;
23802
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23775
23803
  var router = useRouter();
23776
23804
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23777
- return createElement(IkasPage, { page: page, propValues: propValues });
23805
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23778
23806
  };
23779
23807
  var getStaticProps$7 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23780
23808
  var theme, provider;
@@ -23799,10 +23827,10 @@ var register = /*#__PURE__*/Object.freeze({
23799
23827
  });
23800
23828
 
23801
23829
  var Page$9 = function (_a) {
23802
- var page = _a.page, propValuesStr = _a.propValuesStr;
23830
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23803
23831
  var router = useRouter();
23804
23832
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23805
- return createElement(IkasPage, { page: page, propValues: propValues });
23833
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23806
23834
  };
23807
23835
  var getStaticProps$8 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23808
23836
  var theme, provider;
@@ -23827,10 +23855,10 @@ var forgotPassword = /*#__PURE__*/Object.freeze({
23827
23855
  });
23828
23856
 
23829
23857
  var Page$a = function (_a) {
23830
- var page = _a.page, propValuesStr = _a.propValuesStr;
23858
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23831
23859
  var router = useRouter();
23832
23860
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23833
- return createElement(IkasPage, { page: page, propValues: propValues });
23861
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23834
23862
  };
23835
23863
  var getStaticProps$9 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23836
23864
  var theme, provider;
@@ -23855,10 +23883,10 @@ var recoverPassword = /*#__PURE__*/Object.freeze({
23855
23883
  });
23856
23884
 
23857
23885
  var Page$b = function (_a) {
23858
- var page = _a.page, propValuesStr = _a.propValuesStr;
23886
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23859
23887
  var router = useRouter();
23860
23888
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router);
23861
- return createElement(IkasPage, { page: page, propValues: propValues });
23889
+ return (createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23862
23890
  };
23863
23891
  var getStaticProps$a = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23864
23892
  var theme, provider;
@@ -23904,4 +23932,4 @@ var IkasBaseStore = /** @class */ (function () {
23904
23932
  return IkasBaseStore;
23905
23933
  }());
23906
23934
 
23907
- export { index$3 as AccountPage, addresses as AddressesPage, cart as CartPage, _id_$1 as CheckoutPage, _slug_ as CustomPage, editor$1 as EditorPage, forgotPassword as ForgotPasswordPage, GTMAddToCart, GTMBeginCheckout, GTMBody, GTMCheckoutStep, GTMDisableHTML, GTMHead, GTMPageView, GTMProductView, GTMPurchase, GTMRemoveFromCart, IkasAmountTypeEnum$1 as IkasAmountTypeEnum, 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, IkasCountryAPI, IkasCustomer, IkasCustomerAPI, IkasCustomerAddress, IkasDistrictAPI, 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, IkasProductAPI, IkasProductAttribute, IkasProductAttributeAPI, IkasProductAttributeValue, IkasProductDetail, IkasProductDetailPropValue, IkasProductList, IkasProductListFilter, IkasProductListPropValue, IkasProductListSortType, IkasProductListType, IkasProductPrice, IkasProductType, IkasProductVariant, IkasProductVariantType, IkasShippingMethod, IkasShippingMethodEnum, IkasStateAPI, IkasStorefrontAPI, IkasStorefrontConfig, IkasTheme, IkasThemeAPI, IkasThemeComponent, IkasThemeComponentProp, IkasThemeComponentPropType, IkasThemePage, IkasThemePageComponent, IkasThemePageType, IkasTransactionStatusEnum, IkasTransactionTypeEnum, IkasVariantSelectionType, IkasVariantType, IkasVariantTypeAPI, IkasVariantValue, home as IndexPage, login as LoginPage, _id_$2 as OrderDetailPage, index$4 as OrdersPage, recoverPassword as RecoverPasswordPage, register as RegisterPage, index$2 as SlugPage, apollo, decodeBase64, formatMoney, pascalCase, stringToSlug, validatePhoneNumber };
23935
+ export { index$3 as AccountPage, addresses as AddressesPage, cart as CartPage, _id_$1 as CheckoutPage, _slug_ as CustomPage, editor$1 as EditorPage, forgotPassword as ForgotPasswordPage, GTMAddToCart, GTMBeginCheckout, GTMBody, GTMCheckoutStep, GTMDisableHTML, GTMHead, GTMPageView, GTMProductView, GTMPurchase, GTMRemoveFromCart, IkasAmountTypeEnum$1 as IkasAmountTypeEnum, 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, IkasCountryAPI, IkasCustomer, IkasCustomerAPI, IkasCustomerAddress, IkasDistrictAPI, 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, IkasProductAPI, IkasProductAttribute, IkasProductAttributeAPI, IkasProductAttributeValue, IkasProductDetail, IkasProductDetailPropValue, IkasProductList, IkasProductListFilter, IkasProductListPropValue, IkasProductListSortType, IkasProductListType, IkasProductPrice, IkasProductType, IkasProductVariant, IkasProductVariantType, IkasShippingMethod, IkasShippingMethodEnum, IkasStateAPI, IkasStorefrontAPI, IkasStorefrontConfig, IkasTheme, IkasThemeAPI, IkasThemeComponent, IkasThemeComponentProp, IkasThemeComponentPropType, IkasThemePage, IkasThemePageComponent, IkasThemePageType, IkasThemeSettings, IkasTransactionStatusEnum, IkasTransactionTypeEnum, IkasVariantSelectionType, IkasVariantType, IkasVariantTypeAPI, IkasVariantValue, home as IndexPage, login as LoginPage, _id_$2 as OrderDetailPage, index$4 as OrdersPage, recoverPassword as RecoverPasswordPage, register as RegisterPage, index$2 as SlugPage, apollo, decodeBase64, formatMoney, pascalCase, stringToSlug, validatePhoneNumber };
package/build/index.js CHANGED
@@ -11367,6 +11367,7 @@ var IkasPageDataProvider = /** @class */ (function () {
11367
11367
  props: {
11368
11368
  propValuesStr: JSON.stringify(this.pageComponentPropValues),
11369
11369
  page: mobx.toJS(this.page) || null,
11370
+ settingsStr: JSON.stringify(this.theme.settings || {}),
11370
11371
  },
11371
11372
  };
11372
11373
  },
@@ -12972,6 +12973,28 @@ var IkasThemePage = /** @class */ (function () {
12972
12973
  IkasThemePageType["CART"] = "CART";
12973
12974
  })(exports.IkasThemePageType || (exports.IkasThemePageType = {}));
12974
12975
 
12976
+ var IkasThemeColor = /** @class */ (function () {
12977
+ function IkasThemeColor(data) {
12978
+ this.id = data.id || v4();
12979
+ this.displayName = data.displayName || "";
12980
+ this.key = data.key || "";
12981
+ this.color = data.color || "";
12982
+ mobx.makeAutoObservable(this);
12983
+ }
12984
+ return IkasThemeColor;
12985
+ }());
12986
+
12987
+ var IkasThemeSettings = /** @class */ (function () {
12988
+ function IkasThemeSettings(data) {
12989
+ if (data === void 0) { data = {}; }
12990
+ this.colors = data.colors
12991
+ ? data.colors.map(function (c) { return new IkasThemeColor(c); })
12992
+ : [];
12993
+ mobx.makeAutoObservable(this);
12994
+ }
12995
+ return IkasThemeSettings;
12996
+ }());
12997
+
12975
12998
  var IkasTheme = /** @class */ (function () {
12976
12999
  function IkasTheme(data) {
12977
13000
  if (data === void 0) { data = {}; }
@@ -12980,6 +13003,9 @@ var IkasTheme = /** @class */ (function () {
12980
13003
  ? data.components.map(function (c) { return new IkasThemeComponent(c); })
12981
13004
  : [];
12982
13005
  this.pages = data.pages ? data.pages.map(function (p) { return new IkasThemePage(p); }) : [];
13006
+ this.settings = data.settings
13007
+ ? new IkasThemeSettings(data.settings)
13008
+ : new IkasThemeSettings();
12983
13009
  mobx.makeAutoObservable(this);
12984
13010
  }
12985
13011
  Object.defineProperty(IkasTheme.prototype, "headerComponent", {
@@ -22878,8 +22904,9 @@ var style = {
22878
22904
  };
22879
22905
 
22880
22906
  var ThemeComponent = mobxReactLite.observer(function (_a) {
22881
- var pageComponentPropValue = _a.pageComponentPropValue, pageComponent = _a.pageComponent, index = _a.index;
22907
+ var pageComponentPropValue = _a.pageComponentPropValue, pageComponent = _a.pageComponent, index = _a.index, settingsStr = _a.settingsStr;
22882
22908
  var store = IkasStorefrontConfig.store, components = IkasStorefrontConfig.components;
22909
+ var settings = new IkasThemeSettings(JSON.parse(settingsStr));
22883
22910
  var propValues = pageComponentPropValue.propValues;
22884
22911
  var hasNullValue = mobx.computed(function () {
22885
22912
  return Object.entries(propValues || {}).some(function (_a) {
@@ -22889,15 +22916,15 @@ var ThemeComponent = mobxReactLite.observer(function (_a) {
22889
22916
  });
22890
22917
  });
22891
22918
  var Component = components[pageComponent.componentId];
22892
- return (React.createElement("div", { id: index + "" }, hasNullValue.get() ? (React.createElement(ErrorComponent, null)) : (React.createElement(Component, __assign({ key: pageComponent.id }, propValues, { store: store })))));
22919
+ return (React.createElement("div", { id: index + "" }, hasNullValue.get() ? (React.createElement(ErrorComponent, null)) : (React.createElement(Component, __assign({ key: pageComponent.id }, propValues, { settings: settings, store: store })))));
22893
22920
  });
22894
22921
 
22895
22922
  var IkasPage = mobxReactLite.observer(function (_a) {
22896
22923
  var _b, _c;
22897
- var propValues = _a.propValues, page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr;
22924
+ var propValues = _a.propValues, page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, settingsStr = _a.settingsStr;
22898
22925
  var renderComponent = function (pageComponent, index) {
22899
22926
  var pageComponentPropValue = propValues.find(function (pv) { return pv.pageComponent.id === pageComponent.id; });
22900
- return (React.createElement(ThemeComponent, { key: pageComponent.id, index: index, pageComponentPropValue: pageComponentPropValue, pageComponent: pageComponent }));
22927
+ return (React.createElement(ThemeComponent, { key: pageComponent.id, index: index, pageComponentPropValue: pageComponentPropValue, pageComponent: pageComponent, settingsStr: settingsStr }));
22901
22928
  };
22902
22929
  var headerComponent = (_b = propValues.find(function (pv) { return pv.component.isHeader; })) === null || _b === void 0 ? void 0 : _b.pageComponent;
22903
22930
  var footerComponent = (_c = propValues.find(function (pv) { return pv.component.isFooter; })) === null || _c === void 0 ? void 0 : _c.pageComponent;
@@ -23285,7 +23312,8 @@ var ThemeEditorComponent = mobxReactLite.observer(function (_a) {
23285
23312
  vm.onClick(pageComponent.id);
23286
23313
  };
23287
23314
  var rendered = mobx.computed(function () {
23288
- return hasNullValue.get() ? (React.createElement(ErrorComponent, null)) : (React.createElement(Component, __assign({ store: store }, propValues)));
23315
+ var _a;
23316
+ return hasNullValue.get() ? (React.createElement(ErrorComponent, null)) : (React.createElement(Component, __assign({ store: store }, propValues, { settings: (_a = vm.theme) === null || _a === void 0 ? void 0 : _a.settings })));
23289
23317
  });
23290
23318
  return (React.createElement("div", { ref: ref, style: { position: "relative" }, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onClick: onClick },
23291
23319
  rendered.get(),
@@ -23371,10 +23399,10 @@ var index = /*#__PURE__*/Object.freeze({
23371
23399
  });
23372
23400
 
23373
23401
  var Page = function (_a) {
23374
- var page = _a.page, propValuesStr = _a.propValuesStr;
23402
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23375
23403
  var router$1 = router.useRouter();
23376
23404
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23377
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23405
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23378
23406
  };
23379
23407
  var getStaticProps = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23380
23408
  var theme, provider;
@@ -23399,7 +23427,7 @@ var home = /*#__PURE__*/Object.freeze({
23399
23427
  });
23400
23428
 
23401
23429
  var Page$1 = function (_a) {
23402
- var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, propValuesStr = _a.propValuesStr;
23430
+ var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23403
23431
  var router$1 = router.useRouter();
23404
23432
  var _b = React.useState(false), isBrowser = _b[0], setIsBrowser = _b[1];
23405
23433
  var _c = React.useState(IkasPageDataProvider.initPropValues(propValuesStr, router$1)), propValues = _c[0], setPropValues = _c[1];
@@ -23410,7 +23438,7 @@ var Page$1 = function (_a) {
23410
23438
  setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router$1, isBrowser));
23411
23439
  }, [isBrowser, propValuesStr]);
23412
23440
  handleGTM(page, pageSpecificDataStr);
23413
- return (React.createElement(IkasPage, { page: page, propValues: propValues, pageSpecificDataStr: pageSpecificDataStr }));
23441
+ return (React.createElement(IkasPage, { page: page, propValues: propValues, pageSpecificDataStr: pageSpecificDataStr, settingsStr: settingsStr }));
23414
23442
  };
23415
23443
  var index$1 = mobxReactLite.observer(Page$1);
23416
23444
  var getStaticPaths = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -23520,10 +23548,10 @@ var index$2 = /*#__PURE__*/Object.freeze({
23520
23548
  });
23521
23549
 
23522
23550
  var Page$2 = function (_a) {
23523
- var page = _a.page, propValuesStr = _a.propValuesStr;
23551
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23524
23552
  var router$1 = router.useRouter();
23525
23553
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23526
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23554
+ return (React.createElement(IkasPage, { page: page, settingsStr: settingsStr, propValues: propValues }));
23527
23555
  };
23528
23556
  var getStaticPaths$1 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23529
23557
  var theme, customPages, customPagePaths;
@@ -23614,10 +23642,10 @@ var _id_$1 = /*#__PURE__*/Object.freeze({
23614
23642
  });
23615
23643
 
23616
23644
  var Page$3 = function (_a) {
23617
- var page = _a.page, propValuesStr = _a.propValuesStr;
23645
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23618
23646
  var router$1 = router.useRouter();
23619
23647
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23620
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23648
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23621
23649
  };
23622
23650
  var getStaticProps$3 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23623
23651
  var theme, provider;
@@ -23642,10 +23670,10 @@ var index$3 = /*#__PURE__*/Object.freeze({
23642
23670
  });
23643
23671
 
23644
23672
  var Page$4 = function (_a) {
23645
- var page = _a.page, propValuesStr = _a.propValuesStr;
23673
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23646
23674
  var router$1 = router.useRouter();
23647
23675
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23648
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23676
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23649
23677
  };
23650
23678
  var getStaticProps$4 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23651
23679
  var theme, provider;
@@ -23670,10 +23698,10 @@ var addresses = /*#__PURE__*/Object.freeze({
23670
23698
  });
23671
23699
 
23672
23700
  var Page$5 = function (_a) {
23673
- var page = _a.page, propValuesStr = _a.propValuesStr;
23701
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23674
23702
  var router$1 = router.useRouter();
23675
23703
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23676
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23704
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23677
23705
  };
23678
23706
  var getStaticProps$5 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23679
23707
  var theme, provider;
@@ -23698,10 +23726,10 @@ var index$4 = /*#__PURE__*/Object.freeze({
23698
23726
  });
23699
23727
 
23700
23728
  var Page$6 = function (_a) {
23701
- var page = _a.page, propValuesStr = _a.propValuesStr;
23729
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23702
23730
  var router$1 = router.useRouter();
23703
23731
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23704
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23732
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23705
23733
  };
23706
23734
  var getServerSideProps$1 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23707
23735
  var theme, provider;
@@ -23726,10 +23754,10 @@ var _id_$2 = /*#__PURE__*/Object.freeze({
23726
23754
  });
23727
23755
 
23728
23756
  var Page$7 = function (_a) {
23729
- var page = _a.page, propValuesStr = _a.propValuesStr;
23757
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23730
23758
  var router$1 = router.useRouter();
23731
23759
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23732
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23760
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23733
23761
  };
23734
23762
  var getStaticProps$6 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23735
23763
  var theme, provider;
@@ -23754,10 +23782,10 @@ var login = /*#__PURE__*/Object.freeze({
23754
23782
  });
23755
23783
 
23756
23784
  var Page$8 = function (_a) {
23757
- var page = _a.page, propValuesStr = _a.propValuesStr;
23785
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23758
23786
  var router$1 = router.useRouter();
23759
23787
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23760
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23788
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23761
23789
  };
23762
23790
  var getStaticProps$7 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23763
23791
  var theme, provider;
@@ -23782,10 +23810,10 @@ var register = /*#__PURE__*/Object.freeze({
23782
23810
  });
23783
23811
 
23784
23812
  var Page$9 = function (_a) {
23785
- var page = _a.page, propValuesStr = _a.propValuesStr;
23813
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23786
23814
  var router$1 = router.useRouter();
23787
23815
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23788
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23816
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23789
23817
  };
23790
23818
  var getStaticProps$8 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23791
23819
  var theme, provider;
@@ -23810,10 +23838,10 @@ var forgotPassword = /*#__PURE__*/Object.freeze({
23810
23838
  });
23811
23839
 
23812
23840
  var Page$a = function (_a) {
23813
- var page = _a.page, propValuesStr = _a.propValuesStr;
23841
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23814
23842
  var router$1 = router.useRouter();
23815
23843
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23816
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23844
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23817
23845
  };
23818
23846
  var getStaticProps$9 = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23819
23847
  var theme, provider;
@@ -23838,10 +23866,10 @@ var recoverPassword = /*#__PURE__*/Object.freeze({
23838
23866
  });
23839
23867
 
23840
23868
  var Page$b = function (_a) {
23841
- var page = _a.page, propValuesStr = _a.propValuesStr;
23869
+ var page = _a.page, propValuesStr = _a.propValuesStr, settingsStr = _a.settingsStr;
23842
23870
  var router$1 = router.useRouter();
23843
23871
  var propValues = IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23844
- return React.createElement(IkasPage, { page: page, propValues: propValues });
23872
+ return (React.createElement(IkasPage, { settingsStr: settingsStr, page: page, propValues: propValues }));
23845
23873
  };
23846
23874
  var getStaticProps$a = function (context) { return __awaiter(void 0, void 0, void 0, function () {
23847
23875
  var theme, provider;
@@ -23962,6 +23990,7 @@ exports.IkasThemeComponent = IkasThemeComponent;
23962
23990
  exports.IkasThemeComponentProp = IkasThemeComponentProp;
23963
23991
  exports.IkasThemePage = IkasThemePage;
23964
23992
  exports.IkasThemePageComponent = IkasThemePageComponent;
23993
+ exports.IkasThemeSettings = IkasThemeSettings;
23965
23994
  exports.IkasVariantType = IkasVariantType;
23966
23995
  exports.IkasVariantTypeAPI = IkasVariantTypeAPI;
23967
23996
  exports.IkasVariantValue = IkasVariantValue;
@@ -10,3 +10,4 @@ export { IkasProductListPropValue } from "./page/component/prop-value/product-li
10
10
  export { IkasProductDetailPropValue } from "./page/component/prop-value/product-detail";
11
11
  export { IkasCategoryPropValue } from "./page/component/prop-value/category";
12
12
  export { IkasCategoryListPropValue } from "./page/component/prop-value/category-list";
13
+ export { IkasThemeSettings } from "./settings/index";
@@ -0,0 +1,5 @@
1
+ import { IkasThemeColor } from "./prop/index";
2
+ export declare class IkasThemeSettings {
3
+ colors: IkasThemeColor[];
4
+ constructor(data?: Partial<IkasThemeSettings>);
5
+ }
@@ -0,0 +1,7 @@
1
+ export declare class IkasThemeColor {
2
+ id: string;
3
+ displayName: string;
4
+ key: string;
5
+ color: string;
6
+ constructor(data: Partial<IkasThemeColor>);
7
+ }
@@ -1,9 +1,11 @@
1
1
  import { IkasThemeComponent } from "./component/index";
2
2
  import { IkasThemePage } from "./page/index";
3
+ import { IkasThemeSettings } from "./settings/index";
3
4
  export declare class IkasTheme {
4
5
  name: string;
5
6
  components: IkasThemeComponent[];
6
7
  pages: IkasThemePage[];
8
+ settings: IkasThemeSettings;
7
9
  constructor(data?: Partial<IkasTheme>);
8
10
  get headerComponent(): IkasThemeComponent | undefined;
9
11
  get footerComponent(): IkasThemeComponent | undefined;
@@ -8,6 +8,7 @@ declare type Props = {
8
8
  pageSpecificDataStr: string;
9
9
  page: IkasThemePage;
10
10
  queryParams?: ParsedUrlQuery;
11
+ settingsStr: string;
11
12
  };
12
13
  declare const _default: React.FunctionComponent<Props>;
13
14
  export default _default;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../../../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../../../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -4,6 +4,7 @@ import { IkasThemePage } from "../../models/index";
4
4
  declare type Props = {
5
5
  propValuesStr: string;
6
6
  page: IkasThemePage;
7
+ settingsStr: string;
7
8
  };
8
9
  declare const Page: React.FC<Props>;
9
10
  export default Page;
@@ -12,6 +12,7 @@ export declare class IkasPageDataProvider {
12
12
  props: {
13
13
  propValuesStr: string;
14
14
  page: IkasThemePage | null;
15
+ settingsStr: string;
15
16
  };
16
17
  };
17
18
  get isStaticPage(): boolean | null | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/storefront",
3
- "version": "0.0.38",
3
+ "version": "0.0.39",
4
4
  "main": "./build/index.js",
5
5
  "module": "./build/index.es.js",
6
6
  "author": "Umut Ozan Yıldırım",