@ikas/storefront 0.0.160-alpha.9 → 0.0.161-alpha.1

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.
@@ -173,6 +173,7 @@ export declare enum PaymentGatewayTransactionFeeTypeEnum {
173
173
  * Payment Method Enum
174
174
  */
175
175
  export declare enum PaymentMethodEnum {
176
+ APP_PAYMENT = "APP_PAYMENT",
176
177
  BUY_ONLINE_PAY_AT_STORE = "BUY_ONLINE_PAY_AT_STORE",
177
178
  CASH = "CASH",
178
179
  CASH_ON_DELIVERY = "CASH_ON_DELIVERY",
@@ -529,6 +530,7 @@ export interface SaveMyCustomerInput {
529
530
  export interface SearchInput {
530
531
  brandId?: string | null;
531
532
  categoryIdList?: string[] | null;
533
+ facetList?: SearchInputFacetListInput[] | null;
532
534
  filterList?: SearchInputFilterListInput[] | null;
533
535
  order?: SearchInputOrderByInput[] | null;
534
536
  page?: number | null;
@@ -540,7 +542,13 @@ export interface SearchInput {
540
542
  showStockOption?: ProductSearchShowStockOptionEnum | null;
541
543
  slug?: string | null;
542
544
  }
545
+ export interface SearchInputFacetListInput {
546
+ displayType: ProductFilterDisplayTypeEnum;
547
+ id: string;
548
+ type: ProductFilterTypeEnum;
549
+ }
543
550
  export interface SearchInputFilterListInput {
551
+ displayType?: ProductFilterDisplayTypeEnum | null;
544
552
  id: string;
545
553
  type: ProductFilterTypeEnum;
546
554
  useAndFilter?: boolean | null;
@@ -181,7 +181,6 @@ export interface getCustomerOrders_getCustomerOrders {
181
181
  __typename: "Order";
182
182
  billingAddress: getCustomerOrders_getCustomerOrders_billingAddress | null;
183
183
  cancelledAt: any | null;
184
- orderedAt: any | null;
185
184
  cancelReason: CancelledReasonEnum | null;
186
185
  createdAt: any | null;
187
186
  currencyCode: string;
@@ -191,6 +190,7 @@ export interface getCustomerOrders_getCustomerOrders {
191
190
  id: string;
192
191
  merchantId: string;
193
192
  note: string | null;
193
+ orderedAt: any | null;
194
194
  orderAdjustments: getCustomerOrders_getCustomerOrders_orderAdjustments[] | null;
195
195
  orderLineItems: getCustomerOrders_getCustomerOrders_orderLineItems[];
196
196
  orderNumber: string | null;
@@ -20,6 +20,7 @@ export interface getProductFilterData_getProductFilterData_filters {
20
20
  displayType: ProductFilterDisplayTypeEnum;
21
21
  id: string;
22
22
  isMultiSelect: boolean;
23
+ isFacetFilter: boolean | null;
23
24
  key: string;
24
25
  name: string;
25
26
  order: number;
@@ -4,7 +4,7 @@ import * as SearchProductTypes from "./__generated__/searchProducts";
4
4
  import { IkasProductFilter } from "../../models/data/product-filter/index";
5
5
  import { IkasFilterCategory } from "../../models/data/category/index";
6
6
  export declare class IkasProductSearchAPI {
7
- static searchProducts(input: SearchInput): Promise<{
7
+ static searchProducts(input: SearchInput, useStockFilter?: boolean): Promise<{
8
8
  data: IkasProduct[];
9
9
  __typename: "ProductSearchResponse";
10
10
  count: number;
package/build/index.es.js CHANGED
@@ -7,6 +7,7 @@ import Link from 'next/link';
7
7
  import NextImage from 'next/image';
8
8
  import fs from 'fs';
9
9
  import getConfig from 'next/config';
10
+ import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
10
11
  import dynamic from 'next/dynamic';
11
12
  import Error$1 from 'next/error';
12
13
 
@@ -10906,6 +10907,7 @@ var IkasStorefrontConfig = /** @class */ (function () {
10906
10907
  gtmId: IkasStorefrontConfig.gtmId || null,
10907
10908
  fbpId: IkasStorefrontConfig.fbpId || null,
10908
10909
  favicon: JSON.parse(JSON.stringify(IkasStorefrontConfig.favicon)),
10910
+ stockPreference: IkasStorefrontConfig.stockPreference || null,
10909
10911
  };
10910
10912
  };
10911
10913
  IkasStorefrontConfig.components = {};
@@ -16987,7 +16989,7 @@ var IkasOrderLineItem = /** @class */ (function () {
16987
16989
  this.id = data.id || "";
16988
16990
  this.createdAt = data.createdAt || "";
16989
16991
  this.updatedAt = data.updatedAt || "";
16990
- this.orderedAt = data.orderedAt || "";
16992
+ this.orderedAt = data.orderedAt || 0;
16991
16993
  this.deleted = data.deleted || false;
16992
16994
  this.currencyCode = data.currencyCode || "";
16993
16995
  this.discount = data.discount
@@ -17008,9 +17010,8 @@ var IkasOrderLineItem = /** @class */ (function () {
17008
17010
  Object.defineProperty(IkasOrderLineItem.prototype, "orderedAtDays", {
17009
17011
  get: function () {
17010
17012
  try {
17011
- var orderedAt = moment(new Date(parseInt(this.orderedAt)));
17013
+ var orderedAt = moment(new Date(this.orderedAt));
17012
17014
  var now = moment();
17013
- console.log("diff", now.diff(orderedAt, "days"));
17014
17015
  return now.diff(orderedAt, "days");
17015
17016
  }
17016
17017
  catch (_a) {
@@ -24123,7 +24124,9 @@ var IkasOrder = /** @class */ (function () {
24123
24124
  ? new IkasOrderAddress(data.billingAddress)
24124
24125
  : null;
24125
24126
  this.orderLineItems = data.orderLineItems
24126
- ? data.orderLineItems.map(function (o) { return new IkasOrderLineItem(o); })
24127
+ ? data.orderLineItems.map(function (o) {
24128
+ return new IkasOrderLineItem(__assign(__assign({}, o), { orderedAt: data.orderedAt }));
24129
+ })
24127
24130
  : [];
24128
24131
  this.orderAdjustments = data.orderAdjustments;
24129
24132
  this.shippingLines = data.shippingLines;
@@ -24471,9 +24474,13 @@ var IkasProductVariantType = /** @class */ (function () {
24471
24474
  ? new IkasVariantType(data.variantType)
24472
24475
  : new IkasVariantType();
24473
24476
  this.variantValueIds = data.variantValueIds || [];
24474
- this.variantType.values = this.variantType.values.filter(function (v) {
24475
- return _this.variantValueIds.includes(v.id);
24477
+ var orderedVariantValues = [];
24478
+ this.variantValueIds.forEach(function (vvId) {
24479
+ var variantValue = _this.variantType.values.find(function (vv) { return vv.id === vvId; });
24480
+ if (variantValue)
24481
+ orderedVariantValues.push(variantValue);
24476
24482
  });
24483
+ this.variantType.values = orderedVariantValues;
24477
24484
  makeAutoObservable(this);
24478
24485
  }
24479
24486
  return IkasProductVariantType;
@@ -24570,6 +24577,7 @@ var IkasProductFilter = /** @class */ (function () {
24570
24577
  this.type = data.type || IkasProductFilterType.BRAND;
24571
24578
  this.displayType = data.displayType || IkasProductFilterDisplayType.BOX;
24572
24579
  this.isMultiSelect = data.isMultiSelect || false;
24580
+ this.isFacetFilter = data.isFacetFilter || false;
24573
24581
  this.values = data.values
24574
24582
  ? data.values.map(function (v) { return new IkasApplicableProductFilterValue(v); })
24575
24583
  : null;
@@ -24799,6 +24807,7 @@ var IkasProductFilterValue = /** @class */ (function () {
24799
24807
  function IkasProductFilterValue(data) {
24800
24808
  this.id = data.id;
24801
24809
  this.type = data.type;
24810
+ this.displayType = data.displayType;
24802
24811
  this.valueList = data.valueList;
24803
24812
  makeAutoObservable(this);
24804
24813
  }
@@ -25234,10 +25243,18 @@ var IkasThemeSettings = /** @class */ (function () {
25234
25243
  ? data.colors.map(function (c) { return new IkasThemeColor(c); })
25235
25244
  : [];
25236
25245
  this.favicon = ((_a = data.favicon) === null || _a === void 0 ? void 0 : _a.id) ? data.favicon : new IkasThemeFavicon();
25246
+ this.stockPreference =
25247
+ data.stockPreference || IkasThemeStockPreference.SHOW_ALL;
25237
25248
  makeAutoObservable(this);
25238
25249
  }
25239
25250
  return IkasThemeSettings;
25240
- }());
25251
+ }());
25252
+ var IkasThemeStockPreference;
25253
+ (function (IkasThemeStockPreference) {
25254
+ IkasThemeStockPreference["HIDE_OUT_OF_STOCK"] = "HIDE_OUT_OF_STOCK";
25255
+ IkasThemeStockPreference["SHOW_ALL"] = "SHOW_ALL";
25256
+ IkasThemeStockPreference["SHOW_OUT_OF_STOCK_AT_END"] = "SHOW_OUT_OF_STOCK_AT_END";
25257
+ })(IkasThemeStockPreference || (IkasThemeStockPreference = {}));
25241
25258
 
25242
25259
  var IkasTheme = /** @class */ (function () {
25243
25260
  function IkasTheme(data) {
@@ -27557,6 +27574,7 @@ var PaymentGatewayTransactionFeeTypeEnum;
27557
27574
  */
27558
27575
  var PaymentMethodEnum;
27559
27576
  (function (PaymentMethodEnum) {
27577
+ PaymentMethodEnum["APP_PAYMENT"] = "APP_PAYMENT";
27560
27578
  PaymentMethodEnum["BUY_ONLINE_PAY_AT_STORE"] = "BUY_ONLINE_PAY_AT_STORE";
27561
27579
  PaymentMethodEnum["CASH"] = "CASH";
27562
27580
  PaymentMethodEnum["CASH_ON_DELIVERY"] = "CASH_ON_DELIVERY";
@@ -28287,26 +28305,28 @@ var IkasProductList = /** @class */ (function () {
28287
28305
  IkasProductList.prototype.searchProducts = function (page, limit, productIdList) {
28288
28306
  var _a, _b, _c;
28289
28307
  return __awaiter(this, void 0, void 0, function () {
28290
- var filterList, selectedCategoryIds;
28308
+ var filterList, facetList, selectedCategoryIds;
28291
28309
  return __generator(this, function (_d) {
28292
28310
  switch (_d.label) {
28293
28311
  case 0:
28294
28312
  filterList = [];
28295
- if (this._filterBrandId) {
28296
- filterList.push(new IkasProductFilterValue({
28297
- id: this._filterBrandId,
28298
- type: IkasProductFilterType.BRAND,
28299
- valueList: [this._filterBrandId],
28300
- }));
28301
- }
28313
+ facetList = [];
28302
28314
  (_a = this.filters) === null || _a === void 0 ? void 0 : _a.forEach(function (filter) {
28303
28315
  if (filter.valueList.length) {
28304
28316
  filterList.push(new IkasProductFilterValue({
28305
28317
  id: filter.id,
28306
28318
  type: filter.type,
28319
+ displayType: filter.displayType,
28307
28320
  valueList: filter.valueList,
28308
28321
  }));
28309
28322
  }
28323
+ if (filter.isFacetFilter) {
28324
+ facetList.push({
28325
+ id: filter.id,
28326
+ type: filter.type,
28327
+ displayType: filter.displayType,
28328
+ });
28329
+ }
28310
28330
  });
28311
28331
  selectedCategoryIds = (_b = this._filterCategories) === null || _b === void 0 ? void 0 : _b.filter(function (fc) { return fc.isSelected; }).map(function (fc) { return fc.id; });
28312
28332
  return [4 /*yield*/, IkasProductSearchAPI.searchProducts({
@@ -28315,6 +28335,7 @@ var IkasProductList = /** @class */ (function () {
28315
28335
  productIdList: this.isStatic
28316
28336
  ? (_c = this._productListPropValue.productIds) === null || _c === void 0 ? void 0 : _c.map(function (p) { return p.productId; }) : productIdList,
28317
28337
  filterList: filterList,
28338
+ facetList: facetList,
28318
28339
  brandId: this._pageType === IkasThemePageType.BRAND &&
28319
28340
  this._type !== IkasProductListType.SEARCH
28320
28341
  ? this._filterBrandId
@@ -28328,7 +28349,7 @@ var IkasProductList = /** @class */ (function () {
28328
28349
  salesChannelId: IkasStorefrontConfig.salesChannelId,
28329
28350
  query: this._searchKeyword,
28330
28351
  order: [this.getSortParams()],
28331
- })];
28352
+ }, true)];
28332
28353
  case 1: return [2 /*return*/, _d.sent()];
28333
28354
  }
28334
28355
  });
@@ -32547,7 +32568,7 @@ var IkasPageDataProvider = /** @class */ (function () {
32547
32568
  };
32548
32569
  IkasPageDataProvider.prototype.getPageSpecificProduct = function () {
32549
32570
  return __awaiter(this, void 0, void 0, function () {
32550
- var slug, getProductMetaData, metaDataResponse, productsResponse, product, isMainProductSlug, selectedVariantValues, variantSlugPart, _i, _a, variant, values, slugPart;
32571
+ var slug, getProductMetaData, metaDataResponse, productsResponse, product, isMainProductSlug, selectedVariantValues, variantSlugPart, _i, _a, variant, values, slugPart, displayedVariantType, inStockVariant;
32551
32572
  var _this = this;
32552
32573
  return __generator(this, function (_b) {
32553
32574
  switch (_b.label) {
@@ -32610,6 +32631,19 @@ var IkasPageDataProvider = /** @class */ (function () {
32610
32631
  this.pageSpecificData = new IkasProductDetail(product, selectedVariantValues.length
32611
32632
  ? selectedVariantValues
32612
32633
  : product.variants[0].variantValues);
32634
+ // Select the first displayed in stock variant
32635
+ if (!selectedVariantValues.length &&
32636
+ this.pageSpecificData.displayedVariantTypes.length) {
32637
+ displayedVariantType = this.pageSpecificData
32638
+ .displayedVariantTypes[0];
32639
+ if (displayedVariantType.displayedVariantValues.length) {
32640
+ inStockVariant = displayedVariantType.displayedVariantValues.find(function (dvv) { return dvv.hasStock; });
32641
+ if (inStockVariant) {
32642
+ this.pageSpecificData.selectedVariantValues =
32643
+ inStockVariant.variant.variantValues;
32644
+ }
32645
+ }
32646
+ }
32613
32647
  this.pageType = IkasThemePageType.PRODUCT;
32614
32648
  this.setPageMetaData(metaDataResponse.metaData);
32615
32649
  return [2 /*return*/];
@@ -34573,7 +34607,7 @@ var IkasCustomerAPI = /** @class */ (function () {
34573
34607
  return __generator(this, function (_b) {
34574
34608
  switch (_b.label) {
34575
34609
  case 0:
34576
- QUERY = src(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n query getCustomerOrders($orderId: String) {\n getCustomerOrders(orderId: $orderId) {\n billingAddress {\n addressLine1\n addressLine2\n city {\n code\n id\n name\n }\n company\n country {\n name\n id\n code\n }\n district {\n name\n id\n code\n }\n firstName\n identityNumber\n isDefault\n lastName\n phone\n postalCode\n state {\n name\n id\n code\n }\n taxNumber\n taxOffice\n }\n cancelledAt\n orderedAt\n cancelReason\n createdAt\n currencyCode\n currencyRates {\n rate\n originalRate\n code\n }\n customer {\n lastName\n firstName\n email\n id\n }\n deleted\n id\n merchantId\n note\n orderedAt\n orderAdjustments {\n type\n order\n name\n amountType\n amount\n }\n orderLineItems {\n createdAt\n currencyCode\n deleted\n discount {\n reason\n amountType\n amount\n }\n discountPrice\n finalPrice\n id\n originalOrderLineItemId\n price\n quantity\n status\n statusUpdatedAt\n stockLocationId\n taxValue\n updatedAt\n variant {\n barcodeList\n id\n mainImageId\n name\n productId\n sku\n variantValues {\n variantValueName\n variantValueId\n variantTypeName\n variantTypeId\n order\n }\n }\n }\n orderNumber\n orderPackages {\n updatedAt\n trackingInfo {\n trackingNumber\n trackingLink\n isSendNotification\n cargoCompany\n }\n stockLocationId\n orderPackageNumber\n orderPackageFulfillStatus\n orderLineItemIds\n id\n deleted\n createdAt\n }\n orderPackageStatus\n orderPaymentStatus\n orderTagIds\n shippingAddress {\n taxOffice\n taxNumber\n state {\n name\n id\n code\n }\n postalCode\n phone\n lastName\n isDefault\n identityNumber\n firstName\n district {\n name\n id\n code\n }\n country {\n name\n id\n code\n }\n company\n city {\n id\n code\n name\n }\n addressLine2\n addressLine1\n }\n shippingLines {\n title\n taxValue\n price\n }\n shippingMethod\n status\n taxLines {\n rate\n price\n }\n totalFinalPrice\n totalPrice\n updatedAt\n }\n }\n "], ["\n query getCustomerOrders($orderId: String) {\n getCustomerOrders(orderId: $orderId) {\n billingAddress {\n addressLine1\n addressLine2\n city {\n code\n id\n name\n }\n company\n country {\n name\n id\n code\n }\n district {\n name\n id\n code\n }\n firstName\n identityNumber\n isDefault\n lastName\n phone\n postalCode\n state {\n name\n id\n code\n }\n taxNumber\n taxOffice\n }\n cancelledAt\n orderedAt\n cancelReason\n createdAt\n currencyCode\n currencyRates {\n rate\n originalRate\n code\n }\n customer {\n lastName\n firstName\n email\n id\n }\n deleted\n id\n merchantId\n note\n orderedAt\n orderAdjustments {\n type\n order\n name\n amountType\n amount\n }\n orderLineItems {\n createdAt\n currencyCode\n deleted\n discount {\n reason\n amountType\n amount\n }\n discountPrice\n finalPrice\n id\n originalOrderLineItemId\n price\n quantity\n status\n statusUpdatedAt\n stockLocationId\n taxValue\n updatedAt\n variant {\n barcodeList\n id\n mainImageId\n name\n productId\n sku\n variantValues {\n variantValueName\n variantValueId\n variantTypeName\n variantTypeId\n order\n }\n }\n }\n orderNumber\n orderPackages {\n updatedAt\n trackingInfo {\n trackingNumber\n trackingLink\n isSendNotification\n cargoCompany\n }\n stockLocationId\n orderPackageNumber\n orderPackageFulfillStatus\n orderLineItemIds\n id\n deleted\n createdAt\n }\n orderPackageStatus\n orderPaymentStatus\n orderTagIds\n shippingAddress {\n taxOffice\n taxNumber\n state {\n name\n id\n code\n }\n postalCode\n phone\n lastName\n isDefault\n identityNumber\n firstName\n district {\n name\n id\n code\n }\n country {\n name\n id\n code\n }\n company\n city {\n id\n code\n name\n }\n addressLine2\n addressLine1\n }\n shippingLines {\n title\n taxValue\n price\n }\n shippingMethod\n status\n taxLines {\n rate\n price\n }\n totalFinalPrice\n totalPrice\n updatedAt\n }\n }\n "])));
34610
+ QUERY = src(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n query getCustomerOrders($orderId: String) {\n getCustomerOrders(orderId: $orderId) {\n billingAddress {\n addressLine1\n addressLine2\n city {\n code\n id\n name\n }\n company\n country {\n name\n id\n code\n }\n district {\n name\n id\n code\n }\n firstName\n identityNumber\n isDefault\n lastName\n phone\n postalCode\n state {\n name\n id\n code\n }\n taxNumber\n taxOffice\n }\n cancelledAt\n cancelReason\n createdAt\n currencyCode\n currencyRates {\n rate\n originalRate\n code\n }\n customer {\n lastName\n firstName\n email\n id\n }\n deleted\n id\n merchantId\n note\n orderedAt\n orderAdjustments {\n type\n order\n name\n amountType\n amount\n }\n orderLineItems {\n createdAt\n currencyCode\n deleted\n discount {\n reason\n amountType\n amount\n }\n discountPrice\n finalPrice\n id\n originalOrderLineItemId\n price\n quantity\n status\n statusUpdatedAt\n stockLocationId\n taxValue\n updatedAt\n variant {\n barcodeList\n id\n mainImageId\n name\n productId\n sku\n variantValues {\n variantValueName\n variantValueId\n variantTypeName\n variantTypeId\n order\n }\n }\n }\n orderNumber\n orderPackages {\n updatedAt\n trackingInfo {\n trackingNumber\n trackingLink\n isSendNotification\n cargoCompany\n }\n stockLocationId\n orderPackageNumber\n orderPackageFulfillStatus\n orderLineItemIds\n id\n deleted\n createdAt\n }\n orderPackageStatus\n orderPaymentStatus\n orderTagIds\n shippingAddress {\n taxOffice\n taxNumber\n state {\n name\n id\n code\n }\n postalCode\n phone\n lastName\n isDefault\n identityNumber\n firstName\n district {\n name\n id\n code\n }\n country {\n name\n id\n code\n }\n company\n city {\n id\n code\n name\n }\n addressLine2\n addressLine1\n }\n shippingLines {\n title\n taxValue\n price\n }\n shippingMethod\n status\n taxLines {\n rate\n price\n }\n totalFinalPrice\n totalPrice\n updatedAt\n }\n }\n "], ["\n query getCustomerOrders($orderId: String) {\n getCustomerOrders(orderId: $orderId) {\n billingAddress {\n addressLine1\n addressLine2\n city {\n code\n id\n name\n }\n company\n country {\n name\n id\n code\n }\n district {\n name\n id\n code\n }\n firstName\n identityNumber\n isDefault\n lastName\n phone\n postalCode\n state {\n name\n id\n code\n }\n taxNumber\n taxOffice\n }\n cancelledAt\n cancelReason\n createdAt\n currencyCode\n currencyRates {\n rate\n originalRate\n code\n }\n customer {\n lastName\n firstName\n email\n id\n }\n deleted\n id\n merchantId\n note\n orderedAt\n orderAdjustments {\n type\n order\n name\n amountType\n amount\n }\n orderLineItems {\n createdAt\n currencyCode\n deleted\n discount {\n reason\n amountType\n amount\n }\n discountPrice\n finalPrice\n id\n originalOrderLineItemId\n price\n quantity\n status\n statusUpdatedAt\n stockLocationId\n taxValue\n updatedAt\n variant {\n barcodeList\n id\n mainImageId\n name\n productId\n sku\n variantValues {\n variantValueName\n variantValueId\n variantTypeName\n variantTypeId\n order\n }\n }\n }\n orderNumber\n orderPackages {\n updatedAt\n trackingInfo {\n trackingNumber\n trackingLink\n isSendNotification\n cargoCompany\n }\n stockLocationId\n orderPackageNumber\n orderPackageFulfillStatus\n orderLineItemIds\n id\n deleted\n createdAt\n }\n orderPackageStatus\n orderPaymentStatus\n orderTagIds\n shippingAddress {\n taxOffice\n taxNumber\n state {\n name\n id\n code\n }\n postalCode\n phone\n lastName\n isDefault\n identityNumber\n firstName\n district {\n name\n id\n code\n }\n country {\n name\n id\n code\n }\n company\n city {\n id\n code\n name\n }\n addressLine2\n addressLine1\n }\n shippingLines {\n title\n taxValue\n price\n }\n shippingMethod\n status\n taxLines {\n rate\n price\n }\n totalFinalPrice\n totalPrice\n updatedAt\n }\n }\n "])));
34577
34611
  _b.label = 1;
34578
34612
  case 1:
34579
34613
  _b.trys.push([1, 3, , 4]);
@@ -34986,7 +35020,8 @@ var IkasProductAttributeTableTemplate = /** @class */ (function () {
34986
35020
  var IkasProductSearchAPI = /** @class */ (function () {
34987
35021
  function IkasProductSearchAPI() {
34988
35022
  }
34989
- IkasProductSearchAPI.searchProducts = function (input) {
35023
+ IkasProductSearchAPI.searchProducts = function (input, useStockFilter) {
35024
+ if (useStockFilter === void 0) { useStockFilter = false; }
34990
35025
  return __awaiter(this, void 0, void 0, function () {
34991
35026
  var SEARCH_PRODUCTS, _a, data, errors, err_1;
34992
35027
  return __generator(this, function (_b) {
@@ -34999,7 +35034,9 @@ var IkasProductSearchAPI = /** @class */ (function () {
34999
35034
  .query({
35000
35035
  query: SEARCH_PRODUCTS,
35001
35036
  variables: {
35002
- input: input,
35037
+ input: __assign(__assign({}, input), { showStockOption: useStockFilter
35038
+ ? IkasStorefrontConfig.stockPreference
35039
+ : IkasThemeStockPreference.SHOW_ALL }),
35003
35040
  },
35004
35041
  })];
35005
35042
  case 1:
@@ -35027,7 +35064,7 @@ var IkasProductSearchAPI = /** @class */ (function () {
35027
35064
  switch (_b.label) {
35028
35065
  case 0:
35029
35066
  _b.trys.push([0, 2, , 3]);
35030
- QUERY = src(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n query getProductFilterData($categoryId: String) {\n getProductFilterData(categoryId: $categoryId) {\n filters {\n customValues\n displayType\n id\n isMultiSelect\n key\n name\n order\n type\n values {\n colorCode\n id\n key\n name\n thumbnailImageId\n }\n settings {\n showCollapsedOnDesktop\n showCollapsedOnMobile\n sortType\n useAndFilter\n }\n }\n categories {\n id\n name\n metaData {\n slug\n }\n }\n }\n }\n "], ["\n query getProductFilterData($categoryId: String) {\n getProductFilterData(categoryId: $categoryId) {\n filters {\n customValues\n displayType\n id\n isMultiSelect\n key\n name\n order\n type\n values {\n colorCode\n id\n key\n name\n thumbnailImageId\n }\n settings {\n showCollapsedOnDesktop\n showCollapsedOnMobile\n sortType\n useAndFilter\n }\n }\n categories {\n id\n name\n metaData {\n slug\n }\n }\n }\n }\n "])));
35067
+ QUERY = src(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n query getProductFilterData($categoryId: String) {\n getProductFilterData(categoryId: $categoryId) {\n filters {\n customValues\n displayType\n id\n isMultiSelect\n isFacetFilter\n key\n name\n order\n type\n values {\n colorCode\n id\n key\n name\n thumbnailImageId\n }\n settings {\n showCollapsedOnDesktop\n showCollapsedOnMobile\n sortType\n useAndFilter\n }\n }\n categories {\n id\n name\n metaData {\n slug\n }\n }\n }\n }\n "], ["\n query getProductFilterData($categoryId: String) {\n getProductFilterData(categoryId: $categoryId) {\n filters {\n customValues\n displayType\n id\n isMultiSelect\n isFacetFilter\n key\n name\n order\n type\n values {\n colorCode\n id\n key\n name\n thumbnailImageId\n }\n settings {\n showCollapsedOnDesktop\n showCollapsedOnMobile\n sortType\n useAndFilter\n }\n }\n categories {\n id\n name\n metaData {\n slug\n }\n }\n }\n }\n "])));
35031
35068
  return [4 /*yield*/, apollo
35032
35069
  .getClient()
35033
35070
  .query({
@@ -37866,10 +37903,11 @@ var SettingsHelper = /** @class */ (function () {
37866
37903
  id: storefront.salesChannelId,
37867
37904
  }),
37868
37905
  routing: storefront.routings.length
37869
- ? storefront.routings.find(function (r) { return !r.path && !r.domain; }) ||
37906
+ ? storefront.routings.find(function (r) { return r.locale === locale; }) || //storefront.routings.find((r) => !r.path && !r.domain) ||
37870
37907
  storefront.routings[0]
37871
37908
  : new IkasStorefrontRouting({}),
37872
37909
  favicon: localTheme.settings.favicon,
37910
+ stockPreference: localTheme.settings.stockPreference,
37873
37911
  });
37874
37912
  return [3 /*break*/, 5];
37875
37913
  case 3: return [4 /*yield*/, SettingsHelper.readSettingsFile()];
@@ -37897,12 +37935,14 @@ var SettingsHelper = /** @class */ (function () {
37897
37935
  var result = file.length ? JSON.parse(file.toString()) : {};
37898
37936
  var themeLocalization = new IkasStorefrontThemeLocalization(result);
37899
37937
  var favicon = themeLocalization.themeJson.settings.favicon;
37938
+ var stockPreference = themeLocalization.themeJson.settings.stockPreference;
37900
37939
  resolve({
37901
37940
  storefront: storefront_1,
37902
37941
  themeLocalization: themeLocalization,
37903
37942
  salesChannel: salesChannel_1,
37904
37943
  routing: routing_1,
37905
37944
  favicon: favicon,
37945
+ stockPreference: stockPreference,
37906
37946
  });
37907
37947
  });
37908
37948
  _a.label = 5;
@@ -37914,9 +37954,10 @@ var SettingsHelper = /** @class */ (function () {
37914
37954
  SettingsHelper.getPageData = function (context, isServer, pageType, possiblePageTypes) {
37915
37955
  var _a;
37916
37956
  return __awaiter(this, void 0, void 0, function () {
37917
- var isLocal, locale, settings, storefront, themeLocalization, salesChannel, routing, favicon, provider;
37918
- return __generator(this, function (_b) {
37919
- switch (_b.label) {
37957
+ var isLocal, locale, settings, storefront, themeLocalization, salesChannel, routing, favicon, stockPreference, provider, componentIds, components, componentDirs, _b, _c;
37958
+ var _d, _e;
37959
+ return __generator(this, function (_f) {
37960
+ switch (_f.label) {
37920
37961
  case 0:
37921
37962
  isLocal = process.env.NEXT_PUBLIC_ENV === "local";
37922
37963
  locale = isLocal ? "en" : context.locale;
@@ -37928,7 +37969,7 @@ var SettingsHelper = /** @class */ (function () {
37928
37969
  }
37929
37970
  return [4 /*yield*/, SettingsHelper.getSettings(locale)];
37930
37971
  case 1:
37931
- settings = _b.sent();
37972
+ settings = _f.sent();
37932
37973
  if (!settings ||
37933
37974
  !settings.storefront.mainStorefrontThemeId ||
37934
37975
  !settings.storefront.salesChannelId) {
@@ -37937,7 +37978,7 @@ var SettingsHelper = /** @class */ (function () {
37937
37978
  notFound: true,
37938
37979
  }];
37939
37980
  }
37940
- storefront = settings.storefront, themeLocalization = settings.themeLocalization, salesChannel = settings.salesChannel, routing = settings.routing, favicon = settings.favicon;
37981
+ storefront = settings.storefront, themeLocalization = settings.themeLocalization, salesChannel = settings.salesChannel, routing = settings.routing, favicon = settings.favicon, stockPreference = settings.stockPreference;
37941
37982
  IkasStorefrontConfig.storefrontId = storefront.id;
37942
37983
  IkasStorefrontConfig.storefrontRoutingId = routing.id;
37943
37984
  IkasStorefrontConfig.storefrontThemeId = storefront.mainStorefrontThemeId;
@@ -37949,24 +37990,36 @@ var SettingsHelper = /** @class */ (function () {
37949
37990
  IkasStorefrontConfig.gtmId = storefront.gtmId || undefined;
37950
37991
  IkasStorefrontConfig.fbpId = storefront.fbpId || undefined;
37951
37992
  IkasStorefrontConfig.favicon = favicon || null;
37993
+ IkasStorefrontConfig.stockPreference = stockPreference || null;
37952
37994
  provider = new IkasPageDataProvider(themeLocalization.themeJson, context.params, pageType);
37953
37995
  provider.possiblePageTypes = possiblePageTypes;
37954
37996
  return [4 /*yield*/, provider.getPageData()];
37955
37997
  case 2:
37956
- _b.sent();
37998
+ _f.sent();
37957
37999
  if (!provider.page) {
37958
38000
  return [2 /*return*/, {
37959
38001
  props: {},
37960
38002
  notFound: true,
37961
38003
  }];
37962
38004
  }
37963
- if (isServer)
37964
- return [2 /*return*/, provider.nextPageData];
37965
- else
37966
- return [2 /*return*/, {
37967
- props: provider.nextPageData.props,
37968
- revalidate: 60,
37969
- }];
38005
+ componentIds = provider.page.components.map(function (pc) { return pc.componentId; });
38006
+ components = themeLocalization.themeJson.components.filter(function (c) {
38007
+ return componentIds.includes(c.id);
38008
+ });
38009
+ componentDirs = __spreadArrays(["common"], components.map(function (c) { return c.dir; }));
38010
+ if (!isServer) return [3 /*break*/, 4];
38011
+ _d = {};
38012
+ _b = [{}];
38013
+ return [4 /*yield*/, serverSideTranslations(locale, componentDirs)];
38014
+ case 3: return [2 /*return*/, (_d.props = __assign.apply(void 0, [__assign.apply(void 0, _b.concat([(_f.sent())])), provider.nextPageData.props]),
38015
+ _d)];
38016
+ case 4:
38017
+ _e = {};
38018
+ _c = [{}];
38019
+ return [4 /*yield*/, serverSideTranslations(locale, componentDirs)];
38020
+ case 5: return [2 /*return*/, (_e.props = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_f.sent())])), provider.nextPageData.props]),
38021
+ _e.revalidate = 60,
38022
+ _e)];
37970
38023
  }
37971
38024
  });
37972
38025
  });
package/build/index.js CHANGED
@@ -11,6 +11,7 @@ var Link = require('next/link');
11
11
  var NextImage = require('next/image');
12
12
  var fs = require('fs');
13
13
  var getConfig = require('next/config');
14
+ var serverSideTranslations = require('next-i18next/serverSideTranslations');
14
15
  var dynamic = require('next/dynamic');
15
16
  var Error$1 = require('next/error');
16
17
 
@@ -10921,6 +10922,7 @@ var IkasStorefrontConfig = /** @class */ (function () {
10921
10922
  gtmId: IkasStorefrontConfig.gtmId || null,
10922
10923
  fbpId: IkasStorefrontConfig.fbpId || null,
10923
10924
  favicon: JSON.parse(JSON.stringify(IkasStorefrontConfig.favicon)),
10925
+ stockPreference: IkasStorefrontConfig.stockPreference || null,
10924
10926
  };
10925
10927
  };
10926
10928
  IkasStorefrontConfig.components = {};
@@ -17001,7 +17003,7 @@ var IkasOrderLineItem = /** @class */ (function () {
17001
17003
  this.id = data.id || "";
17002
17004
  this.createdAt = data.createdAt || "";
17003
17005
  this.updatedAt = data.updatedAt || "";
17004
- this.orderedAt = data.orderedAt || "";
17006
+ this.orderedAt = data.orderedAt || 0;
17005
17007
  this.deleted = data.deleted || false;
17006
17008
  this.currencyCode = data.currencyCode || "";
17007
17009
  this.discount = data.discount
@@ -17022,9 +17024,8 @@ var IkasOrderLineItem = /** @class */ (function () {
17022
17024
  Object.defineProperty(IkasOrderLineItem.prototype, "orderedAtDays", {
17023
17025
  get: function () {
17024
17026
  try {
17025
- var orderedAt = moment(new Date(parseInt(this.orderedAt)));
17027
+ var orderedAt = moment(new Date(this.orderedAt));
17026
17028
  var now = moment();
17027
- console.log("diff", now.diff(orderedAt, "days"));
17028
17029
  return now.diff(orderedAt, "days");
17029
17030
  }
17030
17031
  catch (_a) {
@@ -24129,7 +24130,9 @@ var IkasOrder = /** @class */ (function () {
24129
24130
  ? new IkasOrderAddress(data.billingAddress)
24130
24131
  : null;
24131
24132
  this.orderLineItems = data.orderLineItems
24132
- ? data.orderLineItems.map(function (o) { return new IkasOrderLineItem(o); })
24133
+ ? data.orderLineItems.map(function (o) {
24134
+ return new IkasOrderLineItem(__assign(__assign({}, o), { orderedAt: data.orderedAt }));
24135
+ })
24133
24136
  : [];
24134
24137
  this.orderAdjustments = data.orderAdjustments;
24135
24138
  this.shippingLines = data.shippingLines;
@@ -24467,9 +24470,13 @@ var IkasProductVariantType = /** @class */ (function () {
24467
24470
  ? new IkasVariantType(data.variantType)
24468
24471
  : new IkasVariantType();
24469
24472
  this.variantValueIds = data.variantValueIds || [];
24470
- this.variantType.values = this.variantType.values.filter(function (v) {
24471
- return _this.variantValueIds.includes(v.id);
24473
+ var orderedVariantValues = [];
24474
+ this.variantValueIds.forEach(function (vvId) {
24475
+ var variantValue = _this.variantType.values.find(function (vv) { return vv.id === vvId; });
24476
+ if (variantValue)
24477
+ orderedVariantValues.push(variantValue);
24472
24478
  });
24479
+ this.variantType.values = orderedVariantValues;
24473
24480
  mobx.makeAutoObservable(this);
24474
24481
  }
24475
24482
  return IkasProductVariantType;
@@ -24565,6 +24572,7 @@ var IkasProductFilter = /** @class */ (function () {
24565
24572
  this.type = data.type || exports.IkasProductFilterType.BRAND;
24566
24573
  this.displayType = data.displayType || exports.IkasProductFilterDisplayType.BOX;
24567
24574
  this.isMultiSelect = data.isMultiSelect || false;
24575
+ this.isFacetFilter = data.isFacetFilter || false;
24568
24576
  this.values = data.values
24569
24577
  ? data.values.map(function (v) { return new IkasApplicableProductFilterValue(v); })
24570
24578
  : null;
@@ -24794,6 +24802,7 @@ var IkasProductFilterValue = /** @class */ (function () {
24794
24802
  function IkasProductFilterValue(data) {
24795
24803
  this.id = data.id;
24796
24804
  this.type = data.type;
24805
+ this.displayType = data.displayType;
24797
24806
  this.valueList = data.valueList;
24798
24807
  mobx.makeAutoObservable(this);
24799
24808
  }
@@ -25222,10 +25231,18 @@ var IkasThemeSettings = /** @class */ (function () {
25222
25231
  ? data.colors.map(function (c) { return new IkasThemeColor(c); })
25223
25232
  : [];
25224
25233
  this.favicon = ((_a = data.favicon) === null || _a === void 0 ? void 0 : _a.id) ? data.favicon : new IkasThemeFavicon();
25234
+ this.stockPreference =
25235
+ data.stockPreference || IkasThemeStockPreference.SHOW_ALL;
25225
25236
  mobx.makeAutoObservable(this);
25226
25237
  }
25227
25238
  return IkasThemeSettings;
25228
- }());
25239
+ }());
25240
+ var IkasThemeStockPreference;
25241
+ (function (IkasThemeStockPreference) {
25242
+ IkasThemeStockPreference["HIDE_OUT_OF_STOCK"] = "HIDE_OUT_OF_STOCK";
25243
+ IkasThemeStockPreference["SHOW_ALL"] = "SHOW_ALL";
25244
+ IkasThemeStockPreference["SHOW_OUT_OF_STOCK_AT_END"] = "SHOW_OUT_OF_STOCK_AT_END";
25245
+ })(IkasThemeStockPreference || (IkasThemeStockPreference = {}));
25229
25246
 
25230
25247
  var IkasTheme = /** @class */ (function () {
25231
25248
  function IkasTheme(data) {
@@ -27538,6 +27555,7 @@ var PaymentGatewayTransactionFeeTypeEnum;
27538
27555
  */
27539
27556
  var PaymentMethodEnum;
27540
27557
  (function (PaymentMethodEnum) {
27558
+ PaymentMethodEnum["APP_PAYMENT"] = "APP_PAYMENT";
27541
27559
  PaymentMethodEnum["BUY_ONLINE_PAY_AT_STORE"] = "BUY_ONLINE_PAY_AT_STORE";
27542
27560
  PaymentMethodEnum["CASH"] = "CASH";
27543
27561
  PaymentMethodEnum["CASH_ON_DELIVERY"] = "CASH_ON_DELIVERY";
@@ -28268,26 +28286,28 @@ var IkasProductList = /** @class */ (function () {
28268
28286
  IkasProductList.prototype.searchProducts = function (page, limit, productIdList) {
28269
28287
  var _a, _b, _c;
28270
28288
  return __awaiter(this, void 0, void 0, function () {
28271
- var filterList, selectedCategoryIds;
28289
+ var filterList, facetList, selectedCategoryIds;
28272
28290
  return __generator(this, function (_d) {
28273
28291
  switch (_d.label) {
28274
28292
  case 0:
28275
28293
  filterList = [];
28276
- if (this._filterBrandId) {
28277
- filterList.push(new IkasProductFilterValue({
28278
- id: this._filterBrandId,
28279
- type: exports.IkasProductFilterType.BRAND,
28280
- valueList: [this._filterBrandId],
28281
- }));
28282
- }
28294
+ facetList = [];
28283
28295
  (_a = this.filters) === null || _a === void 0 ? void 0 : _a.forEach(function (filter) {
28284
28296
  if (filter.valueList.length) {
28285
28297
  filterList.push(new IkasProductFilterValue({
28286
28298
  id: filter.id,
28287
28299
  type: filter.type,
28300
+ displayType: filter.displayType,
28288
28301
  valueList: filter.valueList,
28289
28302
  }));
28290
28303
  }
28304
+ if (filter.isFacetFilter) {
28305
+ facetList.push({
28306
+ id: filter.id,
28307
+ type: filter.type,
28308
+ displayType: filter.displayType,
28309
+ });
28310
+ }
28291
28311
  });
28292
28312
  selectedCategoryIds = (_b = this._filterCategories) === null || _b === void 0 ? void 0 : _b.filter(function (fc) { return fc.isSelected; }).map(function (fc) { return fc.id; });
28293
28313
  return [4 /*yield*/, IkasProductSearchAPI.searchProducts({
@@ -28296,6 +28316,7 @@ var IkasProductList = /** @class */ (function () {
28296
28316
  productIdList: this.isStatic
28297
28317
  ? (_c = this._productListPropValue.productIds) === null || _c === void 0 ? void 0 : _c.map(function (p) { return p.productId; }) : productIdList,
28298
28318
  filterList: filterList,
28319
+ facetList: facetList,
28299
28320
  brandId: this._pageType === exports.IkasThemePageType.BRAND &&
28300
28321
  this._type !== exports.IkasProductListType.SEARCH
28301
28322
  ? this._filterBrandId
@@ -28309,7 +28330,7 @@ var IkasProductList = /** @class */ (function () {
28309
28330
  salesChannelId: IkasStorefrontConfig.salesChannelId,
28310
28331
  query: this._searchKeyword,
28311
28332
  order: [this.getSortParams()],
28312
- })];
28333
+ }, true)];
28313
28334
  case 1: return [2 /*return*/, _d.sent()];
28314
28335
  }
28315
28336
  });
@@ -32525,7 +32546,7 @@ var IkasPageDataProvider = /** @class */ (function () {
32525
32546
  };
32526
32547
  IkasPageDataProvider.prototype.getPageSpecificProduct = function () {
32527
32548
  return __awaiter(this, void 0, void 0, function () {
32528
- var slug, getProductMetaData, metaDataResponse, productsResponse, product, isMainProductSlug, selectedVariantValues, variantSlugPart, _i, _a, variant, values, slugPart;
32549
+ var slug, getProductMetaData, metaDataResponse, productsResponse, product, isMainProductSlug, selectedVariantValues, variantSlugPart, _i, _a, variant, values, slugPart, displayedVariantType, inStockVariant;
32529
32550
  var _this = this;
32530
32551
  return __generator(this, function (_b) {
32531
32552
  switch (_b.label) {
@@ -32588,6 +32609,19 @@ var IkasPageDataProvider = /** @class */ (function () {
32588
32609
  this.pageSpecificData = new IkasProductDetail(product, selectedVariantValues.length
32589
32610
  ? selectedVariantValues
32590
32611
  : product.variants[0].variantValues);
32612
+ // Select the first displayed in stock variant
32613
+ if (!selectedVariantValues.length &&
32614
+ this.pageSpecificData.displayedVariantTypes.length) {
32615
+ displayedVariantType = this.pageSpecificData
32616
+ .displayedVariantTypes[0];
32617
+ if (displayedVariantType.displayedVariantValues.length) {
32618
+ inStockVariant = displayedVariantType.displayedVariantValues.find(function (dvv) { return dvv.hasStock; });
32619
+ if (inStockVariant) {
32620
+ this.pageSpecificData.selectedVariantValues =
32621
+ inStockVariant.variant.variantValues;
32622
+ }
32623
+ }
32624
+ }
32591
32625
  this.pageType = exports.IkasThemePageType.PRODUCT;
32592
32626
  this.setPageMetaData(metaDataResponse.metaData);
32593
32627
  return [2 /*return*/];
@@ -34550,7 +34584,7 @@ var IkasCustomerAPI = /** @class */ (function () {
34550
34584
  return __generator(this, function (_b) {
34551
34585
  switch (_b.label) {
34552
34586
  case 0:
34553
- QUERY = src(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n query getCustomerOrders($orderId: String) {\n getCustomerOrders(orderId: $orderId) {\n billingAddress {\n addressLine1\n addressLine2\n city {\n code\n id\n name\n }\n company\n country {\n name\n id\n code\n }\n district {\n name\n id\n code\n }\n firstName\n identityNumber\n isDefault\n lastName\n phone\n postalCode\n state {\n name\n id\n code\n }\n taxNumber\n taxOffice\n }\n cancelledAt\n orderedAt\n cancelReason\n createdAt\n currencyCode\n currencyRates {\n rate\n originalRate\n code\n }\n customer {\n lastName\n firstName\n email\n id\n }\n deleted\n id\n merchantId\n note\n orderedAt\n orderAdjustments {\n type\n order\n name\n amountType\n amount\n }\n orderLineItems {\n createdAt\n currencyCode\n deleted\n discount {\n reason\n amountType\n amount\n }\n discountPrice\n finalPrice\n id\n originalOrderLineItemId\n price\n quantity\n status\n statusUpdatedAt\n stockLocationId\n taxValue\n updatedAt\n variant {\n barcodeList\n id\n mainImageId\n name\n productId\n sku\n variantValues {\n variantValueName\n variantValueId\n variantTypeName\n variantTypeId\n order\n }\n }\n }\n orderNumber\n orderPackages {\n updatedAt\n trackingInfo {\n trackingNumber\n trackingLink\n isSendNotification\n cargoCompany\n }\n stockLocationId\n orderPackageNumber\n orderPackageFulfillStatus\n orderLineItemIds\n id\n deleted\n createdAt\n }\n orderPackageStatus\n orderPaymentStatus\n orderTagIds\n shippingAddress {\n taxOffice\n taxNumber\n state {\n name\n id\n code\n }\n postalCode\n phone\n lastName\n isDefault\n identityNumber\n firstName\n district {\n name\n id\n code\n }\n country {\n name\n id\n code\n }\n company\n city {\n id\n code\n name\n }\n addressLine2\n addressLine1\n }\n shippingLines {\n title\n taxValue\n price\n }\n shippingMethod\n status\n taxLines {\n rate\n price\n }\n totalFinalPrice\n totalPrice\n updatedAt\n }\n }\n "], ["\n query getCustomerOrders($orderId: String) {\n getCustomerOrders(orderId: $orderId) {\n billingAddress {\n addressLine1\n addressLine2\n city {\n code\n id\n name\n }\n company\n country {\n name\n id\n code\n }\n district {\n name\n id\n code\n }\n firstName\n identityNumber\n isDefault\n lastName\n phone\n postalCode\n state {\n name\n id\n code\n }\n taxNumber\n taxOffice\n }\n cancelledAt\n orderedAt\n cancelReason\n createdAt\n currencyCode\n currencyRates {\n rate\n originalRate\n code\n }\n customer {\n lastName\n firstName\n email\n id\n }\n deleted\n id\n merchantId\n note\n orderedAt\n orderAdjustments {\n type\n order\n name\n amountType\n amount\n }\n orderLineItems {\n createdAt\n currencyCode\n deleted\n discount {\n reason\n amountType\n amount\n }\n discountPrice\n finalPrice\n id\n originalOrderLineItemId\n price\n quantity\n status\n statusUpdatedAt\n stockLocationId\n taxValue\n updatedAt\n variant {\n barcodeList\n id\n mainImageId\n name\n productId\n sku\n variantValues {\n variantValueName\n variantValueId\n variantTypeName\n variantTypeId\n order\n }\n }\n }\n orderNumber\n orderPackages {\n updatedAt\n trackingInfo {\n trackingNumber\n trackingLink\n isSendNotification\n cargoCompany\n }\n stockLocationId\n orderPackageNumber\n orderPackageFulfillStatus\n orderLineItemIds\n id\n deleted\n createdAt\n }\n orderPackageStatus\n orderPaymentStatus\n orderTagIds\n shippingAddress {\n taxOffice\n taxNumber\n state {\n name\n id\n code\n }\n postalCode\n phone\n lastName\n isDefault\n identityNumber\n firstName\n district {\n name\n id\n code\n }\n country {\n name\n id\n code\n }\n company\n city {\n id\n code\n name\n }\n addressLine2\n addressLine1\n }\n shippingLines {\n title\n taxValue\n price\n }\n shippingMethod\n status\n taxLines {\n rate\n price\n }\n totalFinalPrice\n totalPrice\n updatedAt\n }\n }\n "])));
34587
+ QUERY = src(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n query getCustomerOrders($orderId: String) {\n getCustomerOrders(orderId: $orderId) {\n billingAddress {\n addressLine1\n addressLine2\n city {\n code\n id\n name\n }\n company\n country {\n name\n id\n code\n }\n district {\n name\n id\n code\n }\n firstName\n identityNumber\n isDefault\n lastName\n phone\n postalCode\n state {\n name\n id\n code\n }\n taxNumber\n taxOffice\n }\n cancelledAt\n cancelReason\n createdAt\n currencyCode\n currencyRates {\n rate\n originalRate\n code\n }\n customer {\n lastName\n firstName\n email\n id\n }\n deleted\n id\n merchantId\n note\n orderedAt\n orderAdjustments {\n type\n order\n name\n amountType\n amount\n }\n orderLineItems {\n createdAt\n currencyCode\n deleted\n discount {\n reason\n amountType\n amount\n }\n discountPrice\n finalPrice\n id\n originalOrderLineItemId\n price\n quantity\n status\n statusUpdatedAt\n stockLocationId\n taxValue\n updatedAt\n variant {\n barcodeList\n id\n mainImageId\n name\n productId\n sku\n variantValues {\n variantValueName\n variantValueId\n variantTypeName\n variantTypeId\n order\n }\n }\n }\n orderNumber\n orderPackages {\n updatedAt\n trackingInfo {\n trackingNumber\n trackingLink\n isSendNotification\n cargoCompany\n }\n stockLocationId\n orderPackageNumber\n orderPackageFulfillStatus\n orderLineItemIds\n id\n deleted\n createdAt\n }\n orderPackageStatus\n orderPaymentStatus\n orderTagIds\n shippingAddress {\n taxOffice\n taxNumber\n state {\n name\n id\n code\n }\n postalCode\n phone\n lastName\n isDefault\n identityNumber\n firstName\n district {\n name\n id\n code\n }\n country {\n name\n id\n code\n }\n company\n city {\n id\n code\n name\n }\n addressLine2\n addressLine1\n }\n shippingLines {\n title\n taxValue\n price\n }\n shippingMethod\n status\n taxLines {\n rate\n price\n }\n totalFinalPrice\n totalPrice\n updatedAt\n }\n }\n "], ["\n query getCustomerOrders($orderId: String) {\n getCustomerOrders(orderId: $orderId) {\n billingAddress {\n addressLine1\n addressLine2\n city {\n code\n id\n name\n }\n company\n country {\n name\n id\n code\n }\n district {\n name\n id\n code\n }\n firstName\n identityNumber\n isDefault\n lastName\n phone\n postalCode\n state {\n name\n id\n code\n }\n taxNumber\n taxOffice\n }\n cancelledAt\n cancelReason\n createdAt\n currencyCode\n currencyRates {\n rate\n originalRate\n code\n }\n customer {\n lastName\n firstName\n email\n id\n }\n deleted\n id\n merchantId\n note\n orderedAt\n orderAdjustments {\n type\n order\n name\n amountType\n amount\n }\n orderLineItems {\n createdAt\n currencyCode\n deleted\n discount {\n reason\n amountType\n amount\n }\n discountPrice\n finalPrice\n id\n originalOrderLineItemId\n price\n quantity\n status\n statusUpdatedAt\n stockLocationId\n taxValue\n updatedAt\n variant {\n barcodeList\n id\n mainImageId\n name\n productId\n sku\n variantValues {\n variantValueName\n variantValueId\n variantTypeName\n variantTypeId\n order\n }\n }\n }\n orderNumber\n orderPackages {\n updatedAt\n trackingInfo {\n trackingNumber\n trackingLink\n isSendNotification\n cargoCompany\n }\n stockLocationId\n orderPackageNumber\n orderPackageFulfillStatus\n orderLineItemIds\n id\n deleted\n createdAt\n }\n orderPackageStatus\n orderPaymentStatus\n orderTagIds\n shippingAddress {\n taxOffice\n taxNumber\n state {\n name\n id\n code\n }\n postalCode\n phone\n lastName\n isDefault\n identityNumber\n firstName\n district {\n name\n id\n code\n }\n country {\n name\n id\n code\n }\n company\n city {\n id\n code\n name\n }\n addressLine2\n addressLine1\n }\n shippingLines {\n title\n taxValue\n price\n }\n shippingMethod\n status\n taxLines {\n rate\n price\n }\n totalFinalPrice\n totalPrice\n updatedAt\n }\n }\n "])));
34554
34588
  _b.label = 1;
34555
34589
  case 1:
34556
34590
  _b.trys.push([1, 3, , 4]);
@@ -34963,7 +34997,8 @@ var IkasProductAttributeTableTemplate = /** @class */ (function () {
34963
34997
  var IkasProductSearchAPI = /** @class */ (function () {
34964
34998
  function IkasProductSearchAPI() {
34965
34999
  }
34966
- IkasProductSearchAPI.searchProducts = function (input) {
35000
+ IkasProductSearchAPI.searchProducts = function (input, useStockFilter) {
35001
+ if (useStockFilter === void 0) { useStockFilter = false; }
34967
35002
  return __awaiter(this, void 0, void 0, function () {
34968
35003
  var SEARCH_PRODUCTS, _a, data, errors, err_1;
34969
35004
  return __generator(this, function (_b) {
@@ -34976,7 +35011,9 @@ var IkasProductSearchAPI = /** @class */ (function () {
34976
35011
  .query({
34977
35012
  query: SEARCH_PRODUCTS,
34978
35013
  variables: {
34979
- input: input,
35014
+ input: __assign(__assign({}, input), { showStockOption: useStockFilter
35015
+ ? IkasStorefrontConfig.stockPreference
35016
+ : IkasThemeStockPreference.SHOW_ALL }),
34980
35017
  },
34981
35018
  })];
34982
35019
  case 1:
@@ -35004,7 +35041,7 @@ var IkasProductSearchAPI = /** @class */ (function () {
35004
35041
  switch (_b.label) {
35005
35042
  case 0:
35006
35043
  _b.trys.push([0, 2, , 3]);
35007
- QUERY = src(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n query getProductFilterData($categoryId: String) {\n getProductFilterData(categoryId: $categoryId) {\n filters {\n customValues\n displayType\n id\n isMultiSelect\n key\n name\n order\n type\n values {\n colorCode\n id\n key\n name\n thumbnailImageId\n }\n settings {\n showCollapsedOnDesktop\n showCollapsedOnMobile\n sortType\n useAndFilter\n }\n }\n categories {\n id\n name\n metaData {\n slug\n }\n }\n }\n }\n "], ["\n query getProductFilterData($categoryId: String) {\n getProductFilterData(categoryId: $categoryId) {\n filters {\n customValues\n displayType\n id\n isMultiSelect\n key\n name\n order\n type\n values {\n colorCode\n id\n key\n name\n thumbnailImageId\n }\n settings {\n showCollapsedOnDesktop\n showCollapsedOnMobile\n sortType\n useAndFilter\n }\n }\n categories {\n id\n name\n metaData {\n slug\n }\n }\n }\n }\n "])));
35044
+ QUERY = src(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n query getProductFilterData($categoryId: String) {\n getProductFilterData(categoryId: $categoryId) {\n filters {\n customValues\n displayType\n id\n isMultiSelect\n isFacetFilter\n key\n name\n order\n type\n values {\n colorCode\n id\n key\n name\n thumbnailImageId\n }\n settings {\n showCollapsedOnDesktop\n showCollapsedOnMobile\n sortType\n useAndFilter\n }\n }\n categories {\n id\n name\n metaData {\n slug\n }\n }\n }\n }\n "], ["\n query getProductFilterData($categoryId: String) {\n getProductFilterData(categoryId: $categoryId) {\n filters {\n customValues\n displayType\n id\n isMultiSelect\n isFacetFilter\n key\n name\n order\n type\n values {\n colorCode\n id\n key\n name\n thumbnailImageId\n }\n settings {\n showCollapsedOnDesktop\n showCollapsedOnMobile\n sortType\n useAndFilter\n }\n }\n categories {\n id\n name\n metaData {\n slug\n }\n }\n }\n }\n "])));
35008
35045
  return [4 /*yield*/, apollo
35009
35046
  .getClient()
35010
35047
  .query({
@@ -37843,10 +37880,11 @@ var SettingsHelper = /** @class */ (function () {
37843
37880
  id: storefront.salesChannelId,
37844
37881
  }),
37845
37882
  routing: storefront.routings.length
37846
- ? storefront.routings.find(function (r) { return !r.path && !r.domain; }) ||
37883
+ ? storefront.routings.find(function (r) { return r.locale === locale; }) || //storefront.routings.find((r) => !r.path && !r.domain) ||
37847
37884
  storefront.routings[0]
37848
37885
  : new IkasStorefrontRouting({}),
37849
37886
  favicon: localTheme.settings.favicon,
37887
+ stockPreference: localTheme.settings.stockPreference,
37850
37888
  });
37851
37889
  return [3 /*break*/, 5];
37852
37890
  case 3: return [4 /*yield*/, SettingsHelper.readSettingsFile()];
@@ -37874,12 +37912,14 @@ var SettingsHelper = /** @class */ (function () {
37874
37912
  var result = file.length ? JSON.parse(file.toString()) : {};
37875
37913
  var themeLocalization = new IkasStorefrontThemeLocalization(result);
37876
37914
  var favicon = themeLocalization.themeJson.settings.favicon;
37915
+ var stockPreference = themeLocalization.themeJson.settings.stockPreference;
37877
37916
  resolve({
37878
37917
  storefront: storefront_1,
37879
37918
  themeLocalization: themeLocalization,
37880
37919
  salesChannel: salesChannel_1,
37881
37920
  routing: routing_1,
37882
37921
  favicon: favicon,
37922
+ stockPreference: stockPreference,
37883
37923
  });
37884
37924
  });
37885
37925
  _a.label = 5;
@@ -37891,9 +37931,10 @@ var SettingsHelper = /** @class */ (function () {
37891
37931
  SettingsHelper.getPageData = function (context, isServer, pageType, possiblePageTypes) {
37892
37932
  var _a;
37893
37933
  return __awaiter(this, void 0, void 0, function () {
37894
- var isLocal, locale, settings, storefront, themeLocalization, salesChannel, routing, favicon, provider;
37895
- return __generator(this, function (_b) {
37896
- switch (_b.label) {
37934
+ var isLocal, locale, settings, storefront, themeLocalization, salesChannel, routing, favicon, stockPreference, provider, componentIds, components, componentDirs, _b, _c;
37935
+ var _d, _e;
37936
+ return __generator(this, function (_f) {
37937
+ switch (_f.label) {
37897
37938
  case 0:
37898
37939
  isLocal = process.env.NEXT_PUBLIC_ENV === "local";
37899
37940
  locale = isLocal ? "en" : context.locale;
@@ -37905,7 +37946,7 @@ var SettingsHelper = /** @class */ (function () {
37905
37946
  }
37906
37947
  return [4 /*yield*/, SettingsHelper.getSettings(locale)];
37907
37948
  case 1:
37908
- settings = _b.sent();
37949
+ settings = _f.sent();
37909
37950
  if (!settings ||
37910
37951
  !settings.storefront.mainStorefrontThemeId ||
37911
37952
  !settings.storefront.salesChannelId) {
@@ -37914,7 +37955,7 @@ var SettingsHelper = /** @class */ (function () {
37914
37955
  notFound: true,
37915
37956
  }];
37916
37957
  }
37917
- storefront = settings.storefront, themeLocalization = settings.themeLocalization, salesChannel = settings.salesChannel, routing = settings.routing, favicon = settings.favicon;
37958
+ storefront = settings.storefront, themeLocalization = settings.themeLocalization, salesChannel = settings.salesChannel, routing = settings.routing, favicon = settings.favicon, stockPreference = settings.stockPreference;
37918
37959
  IkasStorefrontConfig.storefrontId = storefront.id;
37919
37960
  IkasStorefrontConfig.storefrontRoutingId = routing.id;
37920
37961
  IkasStorefrontConfig.storefrontThemeId = storefront.mainStorefrontThemeId;
@@ -37926,24 +37967,36 @@ var SettingsHelper = /** @class */ (function () {
37926
37967
  IkasStorefrontConfig.gtmId = storefront.gtmId || undefined;
37927
37968
  IkasStorefrontConfig.fbpId = storefront.fbpId || undefined;
37928
37969
  IkasStorefrontConfig.favicon = favicon || null;
37970
+ IkasStorefrontConfig.stockPreference = stockPreference || null;
37929
37971
  provider = new IkasPageDataProvider(themeLocalization.themeJson, context.params, pageType);
37930
37972
  provider.possiblePageTypes = possiblePageTypes;
37931
37973
  return [4 /*yield*/, provider.getPageData()];
37932
37974
  case 2:
37933
- _b.sent();
37975
+ _f.sent();
37934
37976
  if (!provider.page) {
37935
37977
  return [2 /*return*/, {
37936
37978
  props: {},
37937
37979
  notFound: true,
37938
37980
  }];
37939
37981
  }
37940
- if (isServer)
37941
- return [2 /*return*/, provider.nextPageData];
37942
- else
37943
- return [2 /*return*/, {
37944
- props: provider.nextPageData.props,
37945
- revalidate: 60,
37946
- }];
37982
+ componentIds = provider.page.components.map(function (pc) { return pc.componentId; });
37983
+ components = themeLocalization.themeJson.components.filter(function (c) {
37984
+ return componentIds.includes(c.id);
37985
+ });
37986
+ componentDirs = __spreadArrays(["common"], components.map(function (c) { return c.dir; }));
37987
+ if (!isServer) return [3 /*break*/, 4];
37988
+ _d = {};
37989
+ _b = [{}];
37990
+ return [4 /*yield*/, serverSideTranslations.serverSideTranslations(locale, componentDirs)];
37991
+ case 3: return [2 /*return*/, (_d.props = __assign.apply(void 0, [__assign.apply(void 0, _b.concat([(_f.sent())])), provider.nextPageData.props]),
37992
+ _d)];
37993
+ case 4:
37994
+ _e = {};
37995
+ _c = [{}];
37996
+ return [4 /*yield*/, serverSideTranslations.serverSideTranslations(locale, componentDirs)];
37997
+ case 5: return [2 /*return*/, (_e.props = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_f.sent())])), provider.nextPageData.props]),
37998
+ _e.revalidate = 60,
37999
+ _e)];
37947
38000
  }
37948
38001
  });
37949
38002
  });
@@ -4,7 +4,7 @@ export declare class IkasOrderLineItem {
4
4
  id: string;
5
5
  createdAt: string;
6
6
  updatedAt: string;
7
- orderedAt: string;
7
+ orderedAt: number;
8
8
  deleted: boolean;
9
9
  currencyCode: string;
10
10
  discount?: IkasOrderLineDiscount | null;
@@ -9,6 +9,7 @@ export declare class IkasProductFilter {
9
9
  type: IkasProductFilterType;
10
10
  displayType: IkasProductFilterDisplayType;
11
11
  isMultiSelect: boolean;
12
+ isFacetFilter: boolean | null;
12
13
  values?: IkasApplicableProductFilterValue[] | null;
13
14
  customValues?: string[] | null;
14
15
  settings?: IkasProductFilterSettings | null;
@@ -49,6 +50,7 @@ export declare class IkasApplicableProductFilterValue {
49
50
  export declare class IkasProductFilterValue {
50
51
  id: string;
51
52
  type: IkasProductFilterType;
53
+ displayType: IkasProductFilterDisplayType;
52
54
  valueList: string[];
53
55
  constructor(data: IkasProductFilterValue);
54
56
  }
@@ -59,6 +61,11 @@ export declare class IkasProductFilterSettings {
59
61
  sortType: IkasProductFilterSortType;
60
62
  constructor(data: Partial<IkasProductFilterSettings>);
61
63
  }
64
+ export declare type IkasProductFacetInput = {
65
+ id: string;
66
+ type: IkasProductFilterType;
67
+ displayType: IkasProductFilterDisplayType;
68
+ };
62
69
  export declare enum IkasProductFilterType {
63
70
  ATTRIBUTE = "ATTRIBUTE",
64
71
  BRAND = "BRAND",
@@ -3,5 +3,11 @@ import { IkasThemeFavicon } from "./prop/favicon/index";
3
3
  export declare class IkasThemeSettings {
4
4
  colors: IkasThemeColor[];
5
5
  favicon: IkasThemeFavicon;
6
+ stockPreference: IkasThemeStockPreference;
6
7
  constructor(data?: Partial<IkasThemeSettings>);
7
8
  }
9
+ export declare enum IkasThemeStockPreference {
10
+ HIDE_OUT_OF_STOCK = "HIDE_OUT_OF_STOCK",
11
+ SHOW_ALL = "SHOW_ALL",
12
+ SHOW_OUT_OF_STOCK_AT_END = "SHOW_OUT_OF_STOCK_AT_END"
13
+ }
@@ -1,5 +1,6 @@
1
1
  import { IkasSalesChannelPaymentGateway } from "../models/data/sales-channel/index";
2
2
  import { IkasStorefrontRouting } from "../models/data/storefront/routing/index";
3
+ import { IkasThemeStockPreference } from "../models/theme/settings/index";
3
4
  import { IkasThemeFavicon } from "../models/theme/settings/prop/favicon/index";
4
5
  import { IkasBaseStore } from "../store/index";
5
6
  export declare class IkasStorefrontConfig {
@@ -18,6 +19,7 @@ export declare class IkasStorefrontConfig {
18
19
  static gtmId?: string;
19
20
  static fbpId?: string;
20
21
  static favicon: IkasThemeFavicon;
22
+ static stockPreference: IkasThemeStockPreference;
21
23
  static init(store: IkasBaseStore, components: any, config: Record<string, any>, apiUrlOverride?: string): void;
22
24
  static initWithJson(json: Record<string, any>): void;
23
25
  static getJson(): {
@@ -32,5 +34,6 @@ export declare class IkasStorefrontConfig {
32
34
  gtmId: string | null;
33
35
  fbpId: string | null;
34
36
  favicon: any;
37
+ stockPreference: IkasThemeStockPreference;
35
38
  };
36
39
  }
@@ -36,6 +36,7 @@ export declare class IkasPageDataProvider {
36
36
  gtmId: string | null;
37
37
  fbpId: string | null;
38
38
  favicon: any;
39
+ stockPreference: import("../../models/theme/settings/index").IkasThemeStockPreference;
39
40
  };
40
41
  };
41
42
  };
@@ -7,11 +7,16 @@ import { IkasSalesChannel } from "../models/data/sales-channel/index";
7
7
  import { IkasStorefrontRouting } from "../models/data/storefront/routing/index";
8
8
  import { IkasStorefrontThemeLocalization } from "../models/data/storefront/theme-localization/index";
9
9
  import { IkasThemeFavicon } from "../models/theme/settings/prop/favicon/index";
10
+ import { IkasThemeStockPreference } from "../models/theme/settings/index";
10
11
  export declare class SettingsHelper {
11
12
  static readLocalTheme(): Promise<IkasTheme>;
12
13
  static readSettingsFile(): Promise<any>;
13
14
  static getSettings(locale: string): Promise<SettingsData | null>;
14
15
  static getPageData(context: GetStaticPropsContext<ParsedUrlQuery> | GetServerSidePropsContext<ParsedUrlQuery>, isServer: boolean, pageType?: IkasThemePageType, possiblePageTypes?: IkasThemePageType[]): Promise<{
16
+ props: {};
17
+ notFound: boolean;
18
+ revalidate?: undefined;
19
+ } | {
15
20
  props: {
16
21
  propValuesStr: string;
17
22
  pageSpecificDataStr: string;
@@ -30,11 +35,15 @@ export declare class SettingsHelper {
30
35
  gtmId: string | null;
31
36
  fbpId: string | null;
32
37
  favicon: any;
38
+ stockPreference: IkasThemeStockPreference;
39
+ };
40
+ _nextI18Next: {
41
+ initialI18nStore: any;
42
+ initialLocale: string;
43
+ userConfig: import("next-i18next").UserConfig | null;
33
44
  };
34
45
  };
35
- } | {
36
- props: {};
37
- notFound: boolean;
46
+ notFound?: undefined;
38
47
  revalidate?: undefined;
39
48
  } | {
40
49
  props: {
@@ -55,12 +64,22 @@ export declare class SettingsHelper {
55
64
  gtmId: string | null;
56
65
  fbpId: string | null;
57
66
  favicon: any;
67
+ stockPreference: IkasThemeStockPreference;
68
+ };
69
+ _nextI18Next: {
70
+ initialI18nStore: any;
71
+ initialLocale: string;
72
+ userConfig: import("next-i18next").UserConfig | null;
58
73
  };
59
74
  };
60
75
  revalidate: number;
61
76
  notFound?: undefined;
62
77
  }>;
63
78
  static getStaticProps(context: GetStaticPropsContext<ParsedUrlQuery>, pageType?: IkasThemePageType, possiblePageTypes?: IkasThemePageType[]): Promise<{
79
+ props: {};
80
+ notFound: boolean;
81
+ revalidate?: undefined;
82
+ } | {
64
83
  props: {
65
84
  propValuesStr: string;
66
85
  pageSpecificDataStr: string;
@@ -79,11 +98,15 @@ export declare class SettingsHelper {
79
98
  gtmId: string | null;
80
99
  fbpId: string | null;
81
100
  favicon: any;
101
+ stockPreference: IkasThemeStockPreference;
102
+ };
103
+ _nextI18Next: {
104
+ initialI18nStore: any;
105
+ initialLocale: string;
106
+ userConfig: import("next-i18next").UserConfig | null;
82
107
  };
83
108
  };
84
- } | {
85
- props: {};
86
- notFound: boolean;
109
+ notFound?: undefined;
87
110
  revalidate?: undefined;
88
111
  } | {
89
112
  props: {
@@ -104,12 +127,22 @@ export declare class SettingsHelper {
104
127
  gtmId: string | null;
105
128
  fbpId: string | null;
106
129
  favicon: any;
130
+ stockPreference: IkasThemeStockPreference;
131
+ };
132
+ _nextI18Next: {
133
+ initialI18nStore: any;
134
+ initialLocale: string;
135
+ userConfig: import("next-i18next").UserConfig | null;
107
136
  };
108
137
  };
109
138
  revalidate: number;
110
139
  notFound?: undefined;
111
140
  }>;
112
141
  static getServerSideProps(context: GetServerSidePropsContext<ParsedUrlQuery>, pageType?: IkasThemePageType): Promise<{
142
+ props: {};
143
+ notFound: boolean;
144
+ revalidate?: undefined;
145
+ } | {
113
146
  props: {
114
147
  propValuesStr: string;
115
148
  pageSpecificDataStr: string;
@@ -128,11 +161,15 @@ export declare class SettingsHelper {
128
161
  gtmId: string | null;
129
162
  fbpId: string | null;
130
163
  favicon: any;
164
+ stockPreference: IkasThemeStockPreference;
165
+ };
166
+ _nextI18Next: {
167
+ initialI18nStore: any;
168
+ initialLocale: string;
169
+ userConfig: import("next-i18next").UserConfig | null;
131
170
  };
132
171
  };
133
- } | {
134
- props: {};
135
- notFound: boolean;
172
+ notFound?: undefined;
136
173
  revalidate?: undefined;
137
174
  } | {
138
175
  props: {
@@ -153,6 +190,12 @@ export declare class SettingsHelper {
153
190
  gtmId: string | null;
154
191
  fbpId: string | null;
155
192
  favicon: any;
193
+ stockPreference: IkasThemeStockPreference;
194
+ };
195
+ _nextI18Next: {
196
+ initialI18nStore: any;
197
+ initialLocale: string;
198
+ userConfig: import("next-i18next").UserConfig | null;
156
199
  };
157
200
  };
158
201
  revalidate: number;
@@ -165,4 +208,5 @@ export declare type SettingsData = {
165
208
  salesChannel: IkasSalesChannel;
166
209
  routing: IkasStorefrontRouting;
167
210
  favicon: IkasThemeFavicon;
211
+ stockPreference: IkasThemeStockPreference;
168
212
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/storefront",
3
- "version": "0.0.160-alpha.9",
3
+ "version": "0.0.161-alpha.1",
4
4
  "main": "./build/index.js",
5
5
  "module": "./build/index.es.js",
6
6
  "author": "Umut Ozan Yıldırım",
@@ -19,6 +19,7 @@
19
19
  "mobx": "^6.1.3",
20
20
  "mobx-react-lite": "^3.1.5",
21
21
  "next": "10.0.6",
22
+ "next-i18next": "^8.5.5",
22
23
  "react": "17.0.1",
23
24
  "react-dom": "17.0.1"
24
25
  },
@@ -70,6 +71,7 @@
70
71
  "mobx": "^6.1.3",
71
72
  "mobx-react-lite": "^3.1.5",
72
73
  "next": "10.0.6",
74
+ "next-i18next": "^8.5.5",
73
75
  "node-sass": "^5.0.0",
74
76
  "postcss": "^8.2.4",
75
77
  "prettier": "^2.2.1",