@ikas/storefront 4.2.0-beta.1 → 4.2.0-beta.10

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.
Files changed (76) hide show
  1. package/build/analytics/analytics.js +1 -1
  2. package/build/analytics/googleAnalytics.js +1 -1
  3. package/build/analytics/googleTagManager.js +1 -1
  4. package/build/analytics/googleUniversal.js +1 -1
  5. package/build/analytics/ikas.js +1 -1
  6. package/build/components/checkout/components/address-form/index.js +1 -1
  7. package/build/components/checkout/components/address-form/model.d.ts +8 -8
  8. package/build/components/checkout/components/address-form/model.js +1 -1
  9. package/build/components/checkout/components/cart-summary/cart-item/index.js +1 -1
  10. package/build/components/checkout/components/cart-summary/index.d.ts +4 -0
  11. package/build/components/checkout/components/cart-summary/index.js +1 -1
  12. package/build/components/checkout/components/customer-addresses/model.d.ts +5 -5
  13. package/build/components/checkout/components/customer-addresses/model.js +1 -1
  14. package/build/components/checkout/components/offer-product/index.js +1 -1
  15. package/build/components/checkout/components/phone-number-input/style.module.scss.js +1 -1
  16. package/build/components/checkout/components/quick-registration/model.js +1 -1
  17. package/build/components/checkout/index.js +1 -1
  18. package/build/components/checkout/model.d.ts +4 -4
  19. package/build/components/checkout/model.js +1 -1
  20. package/build/components/checkout/steps/step-payment/payment-gateways/index.js +1 -1
  21. package/build/components/checkout/steps/step-success/index.js +1 -1
  22. package/build/components/page/head.js +1 -1
  23. package/build/components/page/index.js +1 -1
  24. package/build/components/page-editor/ThemeComponentEditor.js +1 -1
  25. package/build/components/page-editor/model.js +1 -1
  26. package/build/hooks/useStore.js +1 -1
  27. package/build/index.js +1 -1
  28. package/build/models/data/checkout/country-settings-model.d.ts +154 -0
  29. package/build/models/data/checkout/country-settings-model.js +1 -0
  30. package/build/models/data/checkout/index.d.ts +4 -4
  31. package/build/models/data/checkout/index.js +1 -1
  32. package/build/models/data/customer/address/ikas-localize-customer-address.d.ts +63 -0
  33. package/build/models/data/customer/address/ikas-localize-customer-address.js +1 -0
  34. package/build/models/data/image/index.d.ts +1 -0
  35. package/build/models/data/image/index.js +1 -1
  36. package/build/models/data/index.d.ts +3 -0
  37. package/build/models/data/order/address/ikas-localize-order-address.d.ts +47 -0
  38. package/build/models/data/order/address/ikas-localize-order-address.js +1 -0
  39. package/build/models/data/product/index.d.ts +3 -0
  40. package/build/models/data/product/index.js +1 -1
  41. package/build/models/data/product/stock-location/index.d.ts +8 -0
  42. package/build/models/data/product/stock-location/index.js +1 -0
  43. package/build/models/data/theme-json/component/index.d.ts +3 -0
  44. package/build/models/data/theme-json/component/index.js +1 -1
  45. package/build/models/ui/blog-category-list/index.js +1 -1
  46. package/build/models/ui/brand-list/index.js +1 -1
  47. package/build/models/ui/category-list/index.js +1 -1
  48. package/build/models/ui/customer-review-list/index.js +1 -1
  49. package/build/models/ui/customer-review-summary-list/index.js +1 -1
  50. package/build/models/ui/index.d.ts +1 -0
  51. package/build/models/ui/product-list/index.d.ts +1 -0
  52. package/build/models/ui/product-list/index.js +1 -1
  53. package/build/models/ui/raffle-list/index.js +1 -1
  54. package/build/models/ui/validator/form/account-info.js +1 -1
  55. package/build/models/ui/validator/form/address.js +1 -1
  56. package/build/models/ui/validator/form/ikas-address.d.ts +136 -0
  57. package/build/models/ui/validator/form/ikas-address.js +1 -0
  58. package/build/page-data-init/index.js +1 -1
  59. package/build/pages/checkout.js +1 -1
  60. package/build/store/blog/index.js +1 -1
  61. package/build/store/brand/index.js +1 -1
  62. package/build/store/category/index.js +1 -1
  63. package/build/store/checkout/index.js +1 -1
  64. package/build/store/customer/api.js +1 -1
  65. package/build/store/customer/index.js +1 -1
  66. package/build/store/html-meta-data/index.js +1 -1
  67. package/build/store/location/index.js +1 -1
  68. package/build/store/product/index.d.ts +11 -1
  69. package/build/store/product/index.js +1 -1
  70. package/build/utils/constants.d.ts +1 -0
  71. package/build/utils/constants.js +1 -1
  72. package/package.json +11 -11
  73. package/build/components/checkout/country-settings-model.d.ts +0 -114
  74. package/build/components/checkout/country-settings-model.js +0 -1
  75. package/build/models/data/checkout/ikas-checkout-address.d.ts +0 -47
  76. package/build/models/data/checkout/ikas-checkout-address.js +0 -1
@@ -1 +1 @@
1
- import{__awaiter as t,__generator as e,__assign as i}from'./../../ext/tslib/tslib.es6.js';import{makeAutoObservable as r}from"mobx";import o from"lodash/xorBy";import s from"lodash/cloneDeep";import n from"./api.js";import{IkasCustomer as a}from"../../models/data/customer/index.js";import"../../models/data/blog/category/index.js";import"../../models/data/blog/content/index.js";import"../../models/data/blog/meta-data/index.js";import"../../models/data/blog/tag/index.js";import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import{IkasCustomerEmailSubscriptionStatus as c}from"@ikas/storefront-models";import"../../models/data/campaign-offer/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/path-item/index.js";import"../../models/data/category/index.js";import"../../models/data/checkout/index.js";import"../../models/data/checkout-settings/index.js";import"../../models/data/city/index.js";import"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/attribute/index.js";import"../../models/data/customer/review/summary/index.js";import"../../models/data/customer/review/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/filter-category/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/variant/value/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/payment-gateway/index.js";import"../../models/data/product/attribute-value/index.js";import"../../models/data/product/filter/index.js";import"../../models/data/product/option-set/option/index.js";import"../../models/data/product/option-set/index.js";import"../../models/data/product/variant/price/index.js";import"../../models/data/product/variant/index.js";import"../../models/data/variant-type/index.js";import"../../models/data/product/index.js";import{IkasRaffleParticipant as d}from"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/theme-json/index.js";import"../../models/data/theme-json/custom-data/index.js";import"../../models/data/variant-type/variant-value/index.js";import u from"../raffle/index.js";import'./../../ext/@ikas/fe-api-client/build/utils/api.js';import'./../../ext/axios/index.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_defineProperty.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_baseGetTag.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_stringToPath.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_baseToString.js';import l from"../product/index.js";import{Analytics as h}from"../../analytics/analytics.js";import"../../analytics/head/index.js";import{IkasStorefrontConfig as m}from"@ikas/storefront-config";import{SaveMyCustomerInput as p}from"@ikas/storefront-api";import{populateRaffleParticipantProducts as f}from"@ikas/storefront-providers";var v="undefined"==typeof localStorage,g=function(){function g(o){var a=this;this.customer=null,this.token=null,this.tokenExpiry=null,this.baseStore=null,this._initialized=!1,this._visitorSubscribedEmail=!1,this._lastViewedProducts=[],this._customerConsentGranted=!1,this._refundSettings=null,this._captchaToken=null,this._savedLastViewedProducts=[],this._savedLastViewedProductsResponse=null,this.toAnalyticsCustomer=function(t){return i(i({},t),{consentGranted:a._customerConsentGranted})},this.login=function(i,r){return t(a,void 0,void 0,(function(){var t,o;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.login({email:i,password:r,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),t&&t.isSuccess&&t.data?(o=t.data,this.setToken(o.token,o.tokenExpiry),o.customer&&this.setCustomer(o.customer),this.customer&&h.customerLogin(),this.saveLocalLastViewedProducts(),[2,!0]):[2,!1]}}))}))},this.logout=function(){var t;a.clearLocalData(),null===(t=a.baseStore)||void 0===t||t.cartStore.removeCart(),h.customerLogout()},this.register=function(i,r,o,s,c,d){return t(a,void 0,void 0,(function(){var t,a;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.register({email:o,password:s,firstName:i,lastName:r,isAcceptMarketing:c,attributes:d,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),t&&t.isSuccess&&(null===(a=t.data)||void 0===a?void 0:a.customer)?(this.setToken(t.data.token,t.data.tokenExpiry),this.setCustomer(t.data.customer),this.saveLocalLastViewedProducts(),h.completeRegistration(this.toAnalyticsCustomer(this.customer)),[2,!0]):[2,!1]}}))}))},this.saveContactForm=function(r){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return h.contactForm(r),[4,this.getCaptcha()];case 1:return e.sent(),[4,n.sendContactFormToMerchant(i(i({},r),{captchaToken:this._captchaToken}))];case 2:return t=e.sent(),this.clearCaptchaToken(),[2,t.isSuccess]}}))}))},this.checkEmail=function(i){return t(a,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.checkEmail({email:i,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),[2,!!t.isSuccess&&!!(null===(r=t.data)||void 0===r?void 0:r.exists)]}}))}))},this.forgotPassword=function(i){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.forgotPassword({email:i,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),[2,t.isSuccess]}}))}))},this.recoverPassword=function(i,r,o){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.recoverPassword({password:i,passwordAgain:r,token:o,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),[2,t.isSuccess]}}))}))},this.saveCustomer=function(i){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,n.saveCustomer({input:new p(i)})];case 1:return(t=e.sent()).isSuccess&&t.data?(this.setCustomer(t.data),[2,!0]):[2,!1]}}))}))},this.getOrders=function(){return t(a,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,n.getOrders({})];case 1:return[2,t.sent().data||[]]}}))}))},this.getOrder=function(i){return t(a,void 0,void 0,(function(){var t,r,o;return e(this,(function(e){switch(e.label){case 0:return[4,n.getOrders({orderId:i})];case 1:return(t=e.sent()).isSuccess&&(null===(o=t.data)||void 0===o?void 0:o.length)?(r=t.data[0],[4,this.getOrderRefundSettings()]):[2,null];case 2:return e.sent(),r.refundSettings=this._refundSettings,[2,r]}}))}))},this.getOrderByEmail=function(i,r){return t(a,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,n.getOrderByEmail({email:i,orderNumber:r})];case 1:return[2,t.sent().data||null]}}))}))},this.getOrderTransactions=function(i){return void 0===i&&(i={}),t(a,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,n.listOrderTransactions({checkoutId:{eq:i.checkoutId},id:{eq:i.checkoutId},orderId:{eq:i.orderId}})];case 1:return[2,t.sent().data||[]]}}))}))},this.getFavoriteProductsIds=function(){return t(a,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.customer?[4,n.listFavoriteProducts()]:[2,[]];case 1:return[2,t.sent().data||[]]}}))}))},this.getFavoriteProducts=function(){return t(a,void 0,void 0,(function(){var t,i,r,o,s,a;return e(this,(function(e){switch(e.label){case 0:return this.customer?[4,n.listFavoriteProducts()]:[2,[]];case 1:return(t=e.sent()).isSuccess&&(null===(r=t.data)||void 0===r?void 0:r.length)?[4,l.searchProducts({input:{productIdList:t.data.map((function(t){return t.productId})),priceListId:m.getPriceListId(),salesChannelId:m.getSalesChannelId()}})]:[2,[]];case 2:return i=e.sent(),null===(s=null===(o=i.data)||void 0===o?void 0:o.data)||void 0===s||s.forEach((function(t){t.selectedVariantValues=t.variants[0].variantValues})),[2,(null===(a=null==i?void 0:i.data)||void 0===a?void 0:a.data)||[]]}}))}))},this.addProductToFavorites=function(i){return t(a,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:if(!(null===(r=this.customer)||void 0===r?void 0:r.id))throw Error("Unauthorized");return[4,n.saveFavoriteProduct({isFavorite:!0,productId:i})];case 1:return t=e.sent(),h.addToWishlist(i),[2,t.data||!1]}}))}))},this.removeProductFromFavorites=function(i){return t(a,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:if(!(null===(r=this.customer)||void 0===r?void 0:r.id))throw Error("Unauthorized");return[4,n.saveFavoriteProduct({isFavorite:!1,productId:i})];case 1:return t=e.sent(),h.addToWishlist(i),[2,t.data||!1]}}))}))},this.isProductFavorite=function(i){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!(null===(t=this.customer)||void 0===t?void 0:t.id))throw Error("Unauthorized");return[4,n.isFavoriteProduct({productId:i})];case 1:return[2,e.sent().data||!1]}}))}))},this.createEmailSubscription=function(i){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.subscribeToMarketingNotifications({input:{email:i,captchaToken:this._captchaToken}})];case 2:return(t=e.sent()).isSuccess&&(window.localStorage.setItem("customerEmailSubscription","true"),this.customer?(this.customer.subscriptionStatus,c.SUBSCRIBED):this._visitorSubscribedEmail=!0,h.createEmailSubscripition(i)),[2,t.isSuccess]}}))}))},this.sendReview=function(r){return t(a,void 0,void 0,(function(){var t,o,s,a;return e(this,(function(e){switch(e.label){case 0:if(t=m.getCustomerReviewSettings(),o=m.getSalesChannelId(),!t)return[2];if(!(s=null===(a=this.customer)||void 0===a?void 0:a.id)&&t.customerLoginRequired)throw Error("Unauthorized");return[4,n.createCustomerReview({input:i(i({},r),{customerId:t.customerLoginRequired?s:void 0,salesChannelId:o||""})})];case 1:return[2,e.sent().data]}}))}))},this.onCustomerConsentGrant=function(){a.saveCustomerConsent()},this.waitUntilInitialized=function(){return new Promise((function(t){var e=setInterval((function(){a.initialized&&(clearInterval(e),t(null))}),100)}))},this.waitUntilCaptchaTokenInitialized=function(){return new Promise((function(t){var e=setInterval((function(){a._captchaToken&&(clearInterval(e),t(null))}),100)}))},this.getRaffles=function(){return t(a,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return[4,u.listRaffleParticipants()];case 1:return(t=e.sent())&&t.data?[4,f(t.data)]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2,null===(i=t.data)||void 0===i?void 0:i.map((function(t){return new d(t)}))]}}))}))},this.getCustomerAttributes=function(){return t(a,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return[4,n.listCustomerAttribute()];case 1:return t=e.sent(),this.customer&&(null===(i=this.customer.attributes)||void 0===i||i.forEach((function(e){var i,r,o;e.customerAttribute=(null===(i=t.data)||void 0===i?void 0:i.find((function(t){return t.id===e.customerAttributeId})))||null,e.customerAttributeOptionId&&(e.customerAttributeOption=(null===(o=null===(r=e.customerAttribute)||void 0===r?void 0:r.options)||void 0===o?void 0:o.find((function(t){return t.id===e.customerAttributeOptionId})))||null)}))),[2,t.data||[]]}}))}))},this.getOrderRefundSettings=function(){return t(a,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return this._refundSettings?[3,2]:[4,n.listOrderRefundSettings({})];case 1:(t=e.sent()).isSuccess&&(null===(i=t.data)||void 0===i?void 0:i.length)&&(this._refundSettings=t.data[0]),e.label=2;case 2:return[2]}}))}))},this.setSavedLastViewedProductsResponse=function(t){a._savedLastViewedProducts=s(a._lastViewedProducts),a._savedLastViewedProductsResponse=t},this.setCaptchaToken=function(t){a._captchaToken=t},this.baseStore=o,r(this)}return Object.defineProperty(g.prototype,"initialized",{get:function(){return this._initialized},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"canCreateEmailSubscription",{get:function(){var t;return!((null===(t=this.customer)||void 0===t?void 0:t.isSubscribed)||v||this._visitorSubscribedEmail)&&!window.localStorage.getItem("customerEmailSubscription")},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"customerConsentGranted",{get:function(){return this._customerConsentGranted},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"isCaptchaRequired",{get:function(){var t;return(null===(t=m.getCustomerSettings())||void 0===t?void 0:t.requireCaptchaValidation)||!1},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"useLastViewedProductResponse",{get:function(){var t;return(null===(t=this._savedLastViewedProducts)||void 0===t?void 0:t.length)&&this._savedLastViewedProductsResponse&&0===o(this._lastViewedProducts,this._savedLastViewedProducts,"productId").length},enumerable:!1,configurable:!0}),g.prototype.socialLogin=function(i){return t(this,void 0,void 0,(function(){var t,r,o;return e(this,(function(e){switch(e.label){case 0:return"undefined"==typeof window?[2]:(t=new URLSearchParams(window.location.search).get("redirect")||"",r="".concat(process.env.NEXT_PUBLIC_BASE_URL,"/ms/").concat(i,"/login/authenticate?redirect=").concat(t),[4,fetch(r,{headers:{"x-api-key":m.getApiKey()||"","x-sfid":m.getStorefrontId()||"","x-sfrid":m.getStorefrontRoutingId()||""}})]);case 1:return[4,e.sent().json()];case 2:return o=e.sent(),window.location.href=o.redirectUrl,[2]}}))}))},g.prototype.socialLoginToken=function(i){var r;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,n.socialLogin({code:i})];case 1:return(null==(t=e.sent())?void 0:t.isSuccess)&&(null===(r=t.data)||void 0===r?void 0:r.customer)?(this.setToken(t.data.token,t.data.tokenExpiry),this.setCustomer(t.data.customer),this.customer&&h.customerLogin(),[2,!0]):[2,!1]}}))}))},g.prototype.refundOrder=function(i){return t(this,void 0,void 0,(function(){var t,r,o=this;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),t=[],i.orderLineItems.map((function(e){null!==e.refundQuantity&&(null==t||t.push({orderLineItemId:e.id,quantity:e.refundQuantity?e.refundQuantity:0}))})),[4,n.createOrderRefundRequest({input:{orderId:i.id,orderLineItems:t}})];case 1:return(r=e.sent()).isSuccess&&r.data?(Object.entries(r.data).forEach((function(t){var e=t[0],i=t[1];o[e]=i})),[2,!0]):[3,3];case 2:return e.sent(),[3,3];case 3:return[2,!1]}}))}))},g.prototype.init=function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.loadToken(),this.loadLastViewedProducts(),this.loadCustomerConsent(),[4,this.refreshToken()];case 1:return t.sent(),[4,this.getCustomer()];case 2:return t.sent(),this._initialized=!0,this.customer&&h.customerVisit(),[2]}}))}))},g.prototype.routeChangeInit=function(){this.customer||(this.loadToken(),this.getCustomer())},g.prototype.getCustomer=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return v||!this.token?[2]:[4,n.getCustomer()];case 1:return(t=e.sent()).data&&this.setCustomer(t.data),[2]}}))}))},g.prototype.refreshToken=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.token?[4,n.refreshToken({token:this.token})]:[2];case 1:return(t=e.sent()).isSuccess&&t.data?this.setToken(t.data.token,t.data.tokenExpiry):(this.token=null,this.tokenExpiry=null,this.clearLocalData()),[2]}}))}))},g.prototype.setCustomer=function(t){this.customer=new a(t)},g.prototype.getLastViewedProducts=function(){var i;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.customer?[4,n.getLastViewedProducts({customerId:this.customer.id})]:[3,2];case 1:return t=e.sent(),this._lastViewedProducts=(null===(i=s(t.data))||void 0===i?void 0:i.reverse())||[],[3,3];case 2:this.loadLastViewedProducts(),e.label=3;case 3:return[2,this._lastViewedProducts]}}))}))},g.prototype.saveLastViewedProducts=function(){v||window.localStorage.setItem("lastViewedProducts",JSON.stringify(this._lastViewedProducts))},g.prototype.loadLastViewedProducts=function(){v||(this._lastViewedProducts=this.getLocalLastViewedProducts(),this._lastViewedProducts=s(this._lastViewedProducts).reverse())},g.prototype.getLocalLastViewedProducts=function(){if(v)return[];try{var t=window.localStorage.getItem("lastViewedProducts");if(t)return JSON.parse(t)}catch(t){}return[]},g.prototype.removeLastViewedProducts=function(){v||window.localStorage.removeItem("lastViewedProducts")},g.prototype.onProductView=function(i,r){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.customer?this._lastViewedProducts.find((function(t){return t.productId===i}))?[2]:[4,n.saveLastViewedProducts({input:{customerId:this.customer.id,products:[{productId:i,variantId:r}]}})]:[3,2];case 1:return t.sent()&&this._lastViewedProducts.push({productId:i,variantId:r}),[3,3];case 2:this._lastViewedProducts=this.getLocalLastViewedProducts(),this._lastViewedProducts=this._lastViewedProducts.filter((function(t){return t.productId!==i})),this._lastViewedProducts.push({productId:i,variantId:r}),this._lastViewedProducts=this._lastViewedProducts.slice(-20),this.saveLastViewedProducts(),t.label=3;case 3:return[2]}}))}))},g.prototype.saveLocalLastViewedProducts=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(v)return[2];e.label=1;case 1:return e.trys.push([1,4,,5]),(t=this.getLocalLastViewedProducts()).length?[4,n.saveLastViewedProducts({input:{customerId:this.customer.id,products:t}})]:[3,3];case 2:e.sent()&&this.removeLastViewedProducts(),e.label=3;case 3:return[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}}))}))},g.prototype.saveCustomerConsent=function(){v||(this._customerConsentGranted=!0,window.localStorage.setItem("customerConsent","true"))},g.prototype.loadCustomerConsent=function(){v||(this._customerConsentGranted=!!window.localStorage.getItem("customerConsent"))},g.prototype.removeCustomerConsent=function(){v||window.localStorage.removeItem("customerConsent")},g.prototype.setToken=function(t,e){v||(this.token=t,this.tokenExpiry=e,localStorage.setItem("customerToken",t),localStorage.setItem("customerTokenExpiry",e+""),m.init({customerToken:t}))},g.prototype.loadToken=function(){if(!v){var t=localStorage.getItem("customerToken"),e=localStorage.getItem("customerTokenExpiry");t&&e&&this.setToken(t,parseInt(e))}},g.prototype.clearLocalTokenData=function(){localStorage.removeItem("customerToken"),localStorage.removeItem("customerTokenExpiry"),this.token=void 0,this.tokenExpiry=void 0},g.prototype.clearLocalData=function(){this.clearLocalTokenData(),this.customer=void 0,m.init({customerToken:""}),this.clearCaptchaToken()},g.prototype.clearCaptchaToken=function(){this._captchaToken=null},g.prototype.getCaptcha=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),this.isCaptchaRequired?(window.grecaptcha.execute(),[4,this.waitUntilCaptchaTokenInitialized()]):[3,2];case 1:e.sent(),window.grecaptcha.reset(),e.label=2;case 2:return[3,4];case 3:return t=e.sent(),console.log("Get captcha error",t),[3,4];case 4:return[2]}}))}))},g}();export{g as IkasCustomerStore};
1
+ import{__awaiter as t,__generator as e,__assign as i}from'./../../ext/tslib/tslib.es6.js';import{makeAutoObservable as r}from"mobx";import o from"lodash/xorBy";import s from"lodash/cloneDeep";import n from"./api.js";import{IkasCustomer as a}from"../../models/data/customer/index.js";import"../../models/data/blog/category/index.js";import"../../models/data/blog/content/index.js";import"../../models/data/blog/meta-data/index.js";import"../../models/data/blog/tag/index.js";import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import{IkasCustomerEmailSubscriptionStatus as c}from"@ikas/storefront-models";import"../../models/data/campaign-offer/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/path-item/index.js";import"../../models/data/category/index.js";import"../../models/data/checkout/index.js";import"../../models/data/checkout/country-settings-model.js";import"../../models/data/checkout-settings/index.js";import"../../models/data/city/index.js";import"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/address/ikas-localize-customer-address.js";import"../../models/data/customer/attribute/index.js";import"../../models/data/customer/review/summary/index.js";import"../../models/data/customer/review/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/filter-category/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/variant/value/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/payment-gateway/index.js";import"../../models/data/product/attribute-value/index.js";import"../../models/data/product/filter/index.js";import"../../models/data/product/option-set/option/index.js";import"../../models/data/product/option-set/index.js";import"../../models/data/product/stock-location/index.js";import"../../models/data/product/variant/price/index.js";import"../../models/data/product/variant/index.js";import"../../models/data/variant-type/index.js";import"../../models/data/product/index.js";import{IkasRaffleParticipant as d}from"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/theme-json/index.js";import"../../models/data/theme-json/custom-data/index.js";import"../../models/data/variant-type/variant-value/index.js";import u from"../raffle/index.js";import'./../../ext/@ikas/fe-api-client/build/utils/api.js';import'./../../ext/axios/index.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_defineProperty.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_baseGetTag.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_stringToPath.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_baseToString.js';import l from"../product/index.js";import{Analytics as h}from"../../analytics/analytics.js";import"../../analytics/head/index.js";import{IkasStorefrontConfig as m}from"@ikas/storefront-config";import{SaveMyCustomerInput as p}from"@ikas/storefront-api";import{populateRaffleParticipantProducts as f}from"@ikas/storefront-providers";var v="undefined"==typeof localStorage,g=function(){function g(o){var a=this;this.customer=null,this.token=null,this.tokenExpiry=null,this.baseStore=null,this._initialized=!1,this._visitorSubscribedEmail=!1,this._lastViewedProducts=[],this._customerConsentGranted=!1,this._refundSettings=null,this._captchaToken=null,this._savedLastViewedProducts=[],this._savedLastViewedProductsResponse=null,this.toAnalyticsCustomer=function(t){return i(i({},t),{consentGranted:a._customerConsentGranted})},this.login=function(i,r){return t(a,void 0,void 0,(function(){var t,o;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.login({email:i,password:r,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),t&&t.isSuccess&&t.data?(o=t.data,this.setToken(o.token,o.tokenExpiry),o.customer&&this.setCustomer(o.customer),this.customer&&h.customerLogin(),this.saveLocalLastViewedProducts(),[2,!0]):[2,!1]}}))}))},this.logout=function(){var t;a.clearLocalData(),null===(t=a.baseStore)||void 0===t||t.cartStore.removeCart(),h.customerLogout()},this.register=function(i,r,o,s,c,d){return t(a,void 0,void 0,(function(){var t,a;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.register({email:o,password:s,firstName:i,lastName:r,isAcceptMarketing:c,attributes:d,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),t&&t.isSuccess&&(null===(a=t.data)||void 0===a?void 0:a.customer)?(this.setToken(t.data.token,t.data.tokenExpiry),this.setCustomer(t.data.customer),this.saveLocalLastViewedProducts(),h.completeRegistration(this.toAnalyticsCustomer(this.customer)),[2,!0]):[2,!1]}}))}))},this.saveContactForm=function(r){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return h.contactForm(r),[4,this.getCaptcha()];case 1:return e.sent(),[4,n.sendContactFormToMerchant(i(i({},r),{captchaToken:this._captchaToken}))];case 2:return t=e.sent(),this.clearCaptchaToken(),[2,t.isSuccess]}}))}))},this.checkEmail=function(i){return t(a,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.checkEmail({email:i,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),[2,!!t.isSuccess&&!!(null===(r=t.data)||void 0===r?void 0:r.exists)]}}))}))},this.forgotPassword=function(i){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.forgotPassword({email:i,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),[2,t.isSuccess]}}))}))},this.recoverPassword=function(i,r,o){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.recoverPassword({password:i,passwordAgain:r,token:o,captchaToken:this._captchaToken})];case 2:return t=e.sent(),this.clearCaptchaToken(),[2,t.isSuccess]}}))}))},this.saveCustomer=function(i){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,n.saveCustomer({input:new p(i)})];case 1:return(t=e.sent()).isSuccess&&t.data?(this.setCustomer(t.data),[2,!0]):[2,!1]}}))}))},this.getOrders=function(){return t(a,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,n.getOrders({})];case 1:return[2,t.sent().data||[]]}}))}))},this.getOrder=function(i){return t(a,void 0,void 0,(function(){var t,r,o;return e(this,(function(e){switch(e.label){case 0:return[4,n.getOrders({orderId:i})];case 1:return(t=e.sent()).isSuccess&&(null===(o=t.data)||void 0===o?void 0:o.length)?(r=t.data[0],[4,this.getOrderRefundSettings()]):[2,null];case 2:return e.sent(),r.refundSettings=this._refundSettings,[2,r]}}))}))},this.getOrderByEmail=function(i,r){return t(a,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,n.getOrderByEmail({email:i,orderNumber:r})];case 1:return[2,t.sent().data||null]}}))}))},this.getOrderTransactions=function(i){return void 0===i&&(i={}),t(a,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,n.listOrderTransactions({checkoutId:{eq:i.checkoutId},id:{eq:i.checkoutId},orderId:{eq:i.orderId}})];case 1:return[2,t.sent().data||[]]}}))}))},this.getFavoriteProductsIds=function(){return t(a,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.customer?[4,n.listFavoriteProducts()]:[2,[]];case 1:return[2,t.sent().data||[]]}}))}))},this.getFavoriteProducts=function(){return t(a,void 0,void 0,(function(){var t,i,r,o,s,a;return e(this,(function(e){switch(e.label){case 0:return this.customer?[4,n.listFavoriteProducts()]:[2,[]];case 1:return(t=e.sent()).isSuccess&&(null===(r=t.data)||void 0===r?void 0:r.length)?[4,l.searchProducts({input:{productIdList:t.data.map((function(t){return t.productId})),priceListId:m.getPriceListId(),salesChannelId:m.getSalesChannelId()}})]:[2,[]];case 2:return i=e.sent(),null===(s=null===(o=i.data)||void 0===o?void 0:o.data)||void 0===s||s.forEach((function(t){t.selectedVariantValues=t.variants[0].variantValues})),[2,(null===(a=null==i?void 0:i.data)||void 0===a?void 0:a.data)||[]]}}))}))},this.addProductToFavorites=function(i){return t(a,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:if(!(null===(r=this.customer)||void 0===r?void 0:r.id))throw Error("Unauthorized");return[4,n.saveFavoriteProduct({isFavorite:!0,productId:i})];case 1:return t=e.sent(),h.addToWishlist(i),[2,t.data||!1]}}))}))},this.removeProductFromFavorites=function(i){return t(a,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:if(!(null===(r=this.customer)||void 0===r?void 0:r.id))throw Error("Unauthorized");return[4,n.saveFavoriteProduct({isFavorite:!1,productId:i})];case 1:return t=e.sent(),h.addToWishlist(i),[2,t.data||!1]}}))}))},this.isProductFavorite=function(i){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!(null===(t=this.customer)||void 0===t?void 0:t.id))throw Error("Unauthorized");return[4,n.isFavoriteProduct({productId:i})];case 1:return[2,e.sent().data||!1]}}))}))},this.createEmailSubscription=function(i){return t(a,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,this.getCaptcha()];case 1:return e.sent(),[4,n.subscribeToMarketingNotifications({input:{email:i,captchaToken:this._captchaToken}})];case 2:return(t=e.sent()).isSuccess&&(window.localStorage.setItem("customerEmailSubscription","true"),this.customer?(this.customer.subscriptionStatus,c.SUBSCRIBED):this._visitorSubscribedEmail=!0,h.createEmailSubscripition(i)),[2,t.isSuccess]}}))}))},this.sendReview=function(r){return t(a,void 0,void 0,(function(){var t,o,s,a;return e(this,(function(e){switch(e.label){case 0:if(t=m.getCustomerReviewSettings(),o=m.getSalesChannelId(),!t)return[2];if(!(s=null===(a=this.customer)||void 0===a?void 0:a.id)&&t.customerLoginRequired)throw Error("Unauthorized");return[4,n.createCustomerReview({input:i(i({},r),{customerId:t.customerLoginRequired?s:void 0,salesChannelId:o||""})})];case 1:return[2,e.sent().data]}}))}))},this.onCustomerConsentGrant=function(){a.saveCustomerConsent()},this.waitUntilInitialized=function(){return new Promise((function(t){var e=setInterval((function(){a.initialized&&(clearInterval(e),t(null))}),100)}))},this.waitUntilCaptchaTokenInitialized=function(){return new Promise((function(t){var e=setInterval((function(){a._captchaToken&&(clearInterval(e),t(null))}),100)}))},this.getRaffles=function(){return t(a,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return[4,u.listRaffleParticipants()];case 1:return(t=e.sent())&&t.data?[4,f(t.data)]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2,null===(i=t.data)||void 0===i?void 0:i.map((function(t){return new d(t)}))]}}))}))},this.getCustomerAttributes=function(){return t(a,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return[4,n.listCustomerAttribute()];case 1:return t=e.sent(),this.customer&&(null===(i=this.customer.attributes)||void 0===i||i.forEach((function(e){var i,r,o;e.customerAttribute=(null===(i=t.data)||void 0===i?void 0:i.find((function(t){return t.id===e.customerAttributeId})))||null,e.customerAttributeOptionId&&(e.customerAttributeOption=(null===(o=null===(r=e.customerAttribute)||void 0===r?void 0:r.options)||void 0===o?void 0:o.find((function(t){return t.id===e.customerAttributeOptionId})))||null)}))),[2,t.data||[]]}}))}))},this.getOrderRefundSettings=function(){return t(a,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return this._refundSettings?[3,2]:[4,n.listOrderRefundSettings({})];case 1:(t=e.sent()).isSuccess&&(null===(i=t.data)||void 0===i?void 0:i.length)&&(this._refundSettings=t.data[0]),e.label=2;case 2:return[2]}}))}))},this.setSavedLastViewedProductsResponse=function(t){a._savedLastViewedProducts=s(a._lastViewedProducts),a._savedLastViewedProductsResponse=t},this.setCaptchaToken=function(t){a._captchaToken=t},this.baseStore=o,r(this)}return Object.defineProperty(g.prototype,"initialized",{get:function(){return this._initialized},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"canCreateEmailSubscription",{get:function(){var t;return!((null===(t=this.customer)||void 0===t?void 0:t.isSubscribed)||v||this._visitorSubscribedEmail)&&!window.localStorage.getItem("customerEmailSubscription")},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"customerConsentGranted",{get:function(){return this._customerConsentGranted},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"isCaptchaRequired",{get:function(){var t;return(null===(t=m.getCustomerSettings())||void 0===t?void 0:t.requireCaptchaValidation)||!1},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"useLastViewedProductResponse",{get:function(){var t;return(null===(t=this._savedLastViewedProducts)||void 0===t?void 0:t.length)&&this._savedLastViewedProductsResponse&&0===o(this._lastViewedProducts,this._savedLastViewedProducts,"productId").length},enumerable:!1,configurable:!0}),g.prototype.socialLogin=function(i){return t(this,void 0,void 0,(function(){var t,r,o;return e(this,(function(e){switch(e.label){case 0:return"undefined"==typeof window?[2]:(t=new URLSearchParams(window.location.search).get("redirect")||"",r="".concat(process.env.NEXT_PUBLIC_BASE_URL,"/ms/").concat(i,"/login/authenticate?redirect=").concat(t),[4,fetch(r,{headers:{"x-api-key":m.getApiKey()||"","x-sfid":m.getStorefrontId()||"","x-sfrid":m.getStorefrontRoutingId()||""}})]);case 1:return[4,e.sent().json()];case 2:return o=e.sent(),window.location.href=o.redirectUrl,[2]}}))}))},g.prototype.socialLoginToken=function(i){var r;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,n.socialLogin({code:i})];case 1:return(null==(t=e.sent())?void 0:t.isSuccess)&&(null===(r=t.data)||void 0===r?void 0:r.customer)?(this.setToken(t.data.token,t.data.tokenExpiry),this.setCustomer(t.data.customer),this.customer&&h.customerLogin(),[2,!0]):[2,!1]}}))}))},g.prototype.refundOrder=function(i){return t(this,void 0,void 0,(function(){var t,r,o=this;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),t=[],i.orderLineItems.map((function(e){null!==e.refundQuantity&&(null==t||t.push({orderLineItemId:e.id,quantity:e.refundQuantity?e.refundQuantity:0}))})),[4,n.createOrderRefundRequest({input:{orderId:i.id,orderLineItems:t}})];case 1:return(r=e.sent()).isSuccess&&r.data?(Object.entries(r.data).forEach((function(t){var e=t[0],i=t[1];o[e]=i})),[2,!0]):[3,3];case 2:return e.sent(),[3,3];case 3:return[2,!1]}}))}))},g.prototype.init=function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.loadToken(),this.loadLastViewedProducts(),this.loadCustomerConsent(),[4,this.refreshToken()];case 1:return t.sent(),[4,this.getCustomer()];case 2:return t.sent(),this._initialized=!0,this.customer&&h.customerVisit(),[2]}}))}))},g.prototype.routeChangeInit=function(){this.customer||(this.loadToken(),this.getCustomer())},g.prototype.getCustomer=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return v||!this.token?[2]:[4,n.getCustomer()];case 1:return(t=e.sent()).data&&this.setCustomer(t.data),[2]}}))}))},g.prototype.refreshToken=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.token?[4,n.refreshToken({token:this.token})]:[2];case 1:return(t=e.sent()).isSuccess&&t.data?this.setToken(t.data.token,t.data.tokenExpiry):(this.token=null,this.tokenExpiry=null,this.clearLocalData()),[2]}}))}))},g.prototype.setCustomer=function(t){this.customer=new a(t)},g.prototype.getLastViewedProducts=function(){var i;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.customer?[4,n.getLastViewedProducts({customerId:this.customer.id})]:[3,2];case 1:return t=e.sent(),this._lastViewedProducts=(null===(i=s(t.data))||void 0===i?void 0:i.reverse())||[],[3,3];case 2:this.loadLastViewedProducts(),e.label=3;case 3:return[2,this._lastViewedProducts]}}))}))},g.prototype.saveLastViewedProducts=function(){v||window.localStorage.setItem("lastViewedProducts",JSON.stringify(this._lastViewedProducts))},g.prototype.loadLastViewedProducts=function(){v||(this._lastViewedProducts=this.getLocalLastViewedProducts(),this._lastViewedProducts=s(this._lastViewedProducts).reverse())},g.prototype.getLocalLastViewedProducts=function(){if(v)return[];try{var t=window.localStorage.getItem("lastViewedProducts");if(t)return JSON.parse(t)}catch(t){}return[]},g.prototype.removeLastViewedProducts=function(){v||window.localStorage.removeItem("lastViewedProducts")},g.prototype.onProductView=function(i,r){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.customer?this._lastViewedProducts.find((function(t){return t.productId===i}))?[2]:[4,n.saveLastViewedProducts({input:{customerId:this.customer.id,products:[{productId:i,variantId:r}]}})]:[3,2];case 1:return t.sent()&&this._lastViewedProducts.push({productId:i,variantId:r}),[3,3];case 2:this._lastViewedProducts=this.getLocalLastViewedProducts(),this._lastViewedProducts=this._lastViewedProducts.filter((function(t){return t.productId!==i})),this._lastViewedProducts.push({productId:i,variantId:r}),this._lastViewedProducts=this._lastViewedProducts.slice(-20),this.saveLastViewedProducts(),t.label=3;case 3:return[2]}}))}))},g.prototype.saveLocalLastViewedProducts=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(v)return[2];e.label=1;case 1:return e.trys.push([1,4,,5]),(t=this.getLocalLastViewedProducts()).length?[4,n.saveLastViewedProducts({input:{customerId:this.customer.id,products:t}})]:[3,3];case 2:e.sent()&&this.removeLastViewedProducts(),e.label=3;case 3:return[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}}))}))},g.prototype.saveCustomerConsent=function(){v||(this._customerConsentGranted=!0,window.localStorage.setItem("customerConsent","true"))},g.prototype.loadCustomerConsent=function(){v||(this._customerConsentGranted=!!window.localStorage.getItem("customerConsent"))},g.prototype.removeCustomerConsent=function(){v||window.localStorage.removeItem("customerConsent")},g.prototype.setToken=function(t,e){v||(this.token=t,this.tokenExpiry=e,localStorage.setItem("customerToken",t),localStorage.setItem("customerTokenExpiry",e+""),m.init({customerToken:t}))},g.prototype.loadToken=function(){if(!v){var t=localStorage.getItem("customerToken"),e=localStorage.getItem("customerTokenExpiry");t&&e&&this.setToken(t,parseInt(e))}},g.prototype.clearLocalTokenData=function(){localStorage.removeItem("customerToken"),localStorage.removeItem("customerTokenExpiry"),this.token=void 0,this.tokenExpiry=void 0},g.prototype.clearLocalData=function(){this.clearLocalTokenData(),this.customer=void 0,m.init({customerToken:""}),this.clearCaptchaToken()},g.prototype.clearCaptchaToken=function(){this._captchaToken=null},g.prototype.getCaptcha=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),this.isCaptchaRequired?(window.grecaptcha.execute(),[4,this.waitUntilCaptchaTokenInitialized()]):[3,2];case 1:e.sent(),window.grecaptcha.reset(),e.label=2;case 2:return[3,4];case 3:return t=e.sent(),console.log("Get captcha error",t),[3,4];case 4:return[2]}}))}))},g}();export{g as IkasCustomerStore};
@@ -1 +1 @@
1
- import{__awaiter as t,__generator as e}from'./../../ext/tslib/tslib.es6.js';import{APIResponse as d}from'./../../ext/@ikas/fe-api-client/build/utils/api.js';import'./../../ext/axios/index.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_defineProperty.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_baseGetTag.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_stringToPath.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_baseToString.js';import{listHTMLMetaData as o}from"@ikas/storefront-api";import"../../models/data/blog/category/index.js";import"../../models/data/blog/content/index.js";import"../../models/data/blog/meta-data/index.js";import"../../models/data/blog/tag/index.js";import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import"@ikas/storefront-models";import"mobx";import"../../models/data/campaign-offer/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/path-item/index.js";import"../../models/data/category/index.js";import"../../models/data/checkout/index.js";import"../../models/data/checkout-settings/index.js";import"../../models/data/city/index.js";import"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/attribute/index.js";import"../../models/data/customer/review/summary/index.js";import"../../models/data/customer/review/index.js";import"../../models/data/customer/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/filter-category/index.js";import{IkasHTMLMetaData as a}from"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/variant/value/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/payment-gateway/index.js";import"../../models/data/product/attribute-value/index.js";import"../../models/data/product/filter/index.js";import"../../models/data/product/option-set/option/index.js";import"../../models/data/product/option-set/index.js";import"../../models/data/product/variant/price/index.js";import"../../models/data/product/variant/index.js";import"../../models/data/variant-type/index.js";import"../../models/data/product/index.js";import"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/theme-json/index.js";import"../../models/data/theme-json/custom-data/index.js";import"../../models/data/variant-type/variant-value/index.js";var i=function(){function i(){}return i.listHTMLMetaData=function(i){var s;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,o(i)];case 1:return t=e.sent(),[2,new d(null===(s=t.data)||void 0===s?void 0:s.map((function(t){return new a(t)})),t.graphQLErrors)]}}))}))},i}();export{i as default};
1
+ import{__awaiter as t,__generator as e}from'./../../ext/tslib/tslib.es6.js';import{APIResponse as o}from'./../../ext/@ikas/fe-api-client/build/utils/api.js';import'./../../ext/axios/index.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_defineProperty.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_baseGetTag.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_stringToPath.js';import'./../../ext/@ikas/fe-api-client/build/ext/lodash/_baseToString.js';import{listHTMLMetaData as d}from"@ikas/storefront-api";import"../../models/data/blog/category/index.js";import"../../models/data/blog/content/index.js";import"../../models/data/blog/meta-data/index.js";import"../../models/data/blog/tag/index.js";import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import"@ikas/storefront-models";import"mobx";import"../../models/data/campaign-offer/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/path-item/index.js";import"../../models/data/category/index.js";import"../../models/data/checkout/index.js";import"../../models/data/checkout/country-settings-model.js";import"../../models/data/checkout-settings/index.js";import"../../models/data/city/index.js";import"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/address/ikas-localize-customer-address.js";import"../../models/data/customer/attribute/index.js";import"../../models/data/customer/review/summary/index.js";import"../../models/data/customer/review/index.js";import"../../models/data/customer/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/filter-category/index.js";import{IkasHTMLMetaData as a}from"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/variant/value/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/payment-gateway/index.js";import"../../models/data/product/attribute-value/index.js";import"../../models/data/product/filter/index.js";import"../../models/data/product/option-set/option/index.js";import"../../models/data/product/option-set/index.js";import"../../models/data/product/stock-location/index.js";import"../../models/data/product/variant/price/index.js";import"../../models/data/product/variant/index.js";import"../../models/data/variant-type/index.js";import"../../models/data/product/index.js";import"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/theme-json/index.js";import"../../models/data/theme-json/custom-data/index.js";import"../../models/data/variant-type/variant-value/index.js";var i=function(){function i(){}return i.listHTMLMetaData=function(i){var s;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,d(i)];case 1:return t=e.sent(),[2,new o(null===(s=t.data)||void 0===s?void 0:s.map((function(t){return new a(t)})),t.graphQLErrors)]}}))}))},i}();export{i as default};
@@ -1 +1 @@
1
- import{__awaiter as t,__generator as e}from'./../../ext/tslib/tslib.es6.js';import{getMyCountry as o,APIResponse as i,listCountry as r,listCity as a,listDistrict as d,listState as s}from"@ikas/storefront-api";import"../../models/data/blog/category/index.js";import"../../models/data/blog/content/index.js";import"../../models/data/blog/meta-data/index.js";import"../../models/data/blog/tag/index.js";import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import"@ikas/storefront-models";import"mobx";import"../../models/data/campaign-offer/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/path-item/index.js";import"../../models/data/category/index.js";import"../../models/data/checkout/index.js";import"../../models/data/checkout-settings/index.js";import{IkasCity as n}from"../../models/data/city/index.js";import{IkasCountry as m}from"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/attribute/index.js";import"../../models/data/customer/review/summary/index.js";import"../../models/data/customer/review/index.js";import"../../models/data/customer/index.js";import{IkasDistrict as l}from"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/filter-category/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/variant/value/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/payment-gateway/index.js";import"../../models/data/product/attribute-value/index.js";import"../../models/data/product/filter/index.js";import"../../models/data/product/option-set/option/index.js";import"../../models/data/product/option-set/index.js";import"../../models/data/product/variant/price/index.js";import"../../models/data/product/variant/index.js";import"../../models/data/variant-type/index.js";import"../../models/data/product/index.js";import"../../models/data/raffle/index.js";import{IkasState as p}from"../../models/data/state/index.js";import"../../models/data/theme-json/index.js";import"../../models/data/theme-json/custom-data/index.js";import"../../models/data/variant-type/variant-value/index.js";var u=function(){function u(){}return u.getMyCountry=function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,o()];case 1:return[2,t.sent()]}}))}))},u.listCountry=function(o){var a;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,r(o)];case 1:return t=e.sent(),[2,new i(null===(a=t.data)||void 0===a?void 0:a.map((function(t){return new m(t)})),t.graphQLErrors)]}}))}))},u.listCity=function(o){var r;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a(o)];case 1:return t=e.sent(),[2,new i(null===(r=t.data)||void 0===r?void 0:r.map((function(t){return new n(t)})),t.graphQLErrors)]}}))}))},u.listDistrict=function(o){var r;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,d(o)];case 1:return t=e.sent(),[2,new i(null===(r=t.data)||void 0===r?void 0:r.map((function(t){return new l(t)})),t.graphQLErrors)]}}))}))},u.listState=function(o){var r;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,s(o)];case 1:return t=e.sent(),[2,new i(null===(r=t.data)||void 0===r?void 0:r.map((function(t){return new p(t)})),t.graphQLErrors)]}}))}))},u}();export{u as default};
1
+ import{__awaiter as t,__generator as e}from'./../../ext/tslib/tslib.es6.js';import{getMyCountry as o,APIResponse as r,listCountry as i,listCity as a,listDistrict as d,listState as s}from"@ikas/storefront-api";import"../../models/data/blog/category/index.js";import"../../models/data/blog/content/index.js";import"../../models/data/blog/meta-data/index.js";import"../../models/data/blog/tag/index.js";import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import"@ikas/storefront-models";import"mobx";import"../../models/data/campaign-offer/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/path-item/index.js";import"../../models/data/category/index.js";import"../../models/data/checkout/index.js";import"../../models/data/checkout/country-settings-model.js";import"../../models/data/checkout-settings/index.js";import{IkasCity as n}from"../../models/data/city/index.js";import{IkasCountry as m}from"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/address/ikas-localize-customer-address.js";import"../../models/data/customer/attribute/index.js";import"../../models/data/customer/review/summary/index.js";import"../../models/data/customer/review/index.js";import"../../models/data/customer/index.js";import{IkasDistrict as l}from"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/filter-category/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/variant/value/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/payment-gateway/index.js";import"../../models/data/product/attribute-value/index.js";import"../../models/data/product/filter/index.js";import"../../models/data/product/option-set/option/index.js";import"../../models/data/product/option-set/index.js";import"../../models/data/product/stock-location/index.js";import"../../models/data/product/variant/price/index.js";import"../../models/data/product/variant/index.js";import"../../models/data/variant-type/index.js";import"../../models/data/product/index.js";import"../../models/data/raffle/index.js";import{IkasState as p}from"../../models/data/state/index.js";import"../../models/data/theme-json/index.js";import"../../models/data/theme-json/custom-data/index.js";import"../../models/data/variant-type/variant-value/index.js";var u=function(){function u(){}return u.getMyCountry=function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,o()];case 1:return[2,t.sent()]}}))}))},u.listCountry=function(o){var a;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,i(o)];case 1:return t=e.sent(),[2,new r(null===(a=t.data)||void 0===a?void 0:a.map((function(t){return new m(t)})),t.graphQLErrors)]}}))}))},u.listCity=function(o){var i;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a(o)];case 1:return t=e.sent(),[2,new r(null===(i=t.data)||void 0===i?void 0:i.map((function(t){return new n(t)})),t.graphQLErrors)]}}))}))},u.listDistrict=function(o){var i;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,d(o)];case 1:return t=e.sent(),[2,new r(null===(i=t.data)||void 0===i?void 0:i.map((function(t){return new l(t)})),t.graphQLErrors)]}}))}))},u.listState=function(o){var i;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,s(o)];case 1:return t=e.sent(),[2,new r(null===(i=t.data)||void 0===i?void 0:i.map((function(t){return new p(t)})),t.graphQLErrors)]}}))}))},u}();export{u as default};
@@ -1,10 +1,11 @@
1
- import { APIResponse, GetOrderLineFileQueryParams, GetProductCampaignsQueryParams, GetProductFilterDataQueryParams, GetRelatedProductsQueryParams, ListProductAttributeQueryParams, ListProductBackInStockRemindQueryParams, ListProductOptionSetQueryParams, SaveProductBackInStockRemindQueryParams, SearchProductsQueryParams } from "@ikas/storefront-api";
1
+ import { APIResponse, GetOrderLineFileQueryParams, GetProductCampaignsQueryParams, GetProductFilterDataQueryParams, GetRelatedProductsQueryParams, GetSuggestedProductsQueryParams, ListProductAttributeQueryParams, ListProductBackInStockRemindQueryParams, ListProductOptionSetQueryParams, SaveProductBackInStockRemindQueryParams, SearchProductsQueryParams, GetVariantStockLocationsQueryParams } from "@ikas/storefront-api";
2
2
  import { IkasProduct } from "../../models/data/product";
3
3
  import { IkasProductAttribute } from "../../models/data/product/attribute";
4
4
  import { IkasProductCampaign } from "../../models/data/product/campaign";
5
5
  import { IkasProductFilter } from "../../models/data/product/filter";
6
6
  import { IkasProductOptionSet } from "../../models/data/product/option-set";
7
7
  import { IkasFilterCategory } from "../../models/data/filter-category";
8
+ import { IkasProductStockLocations } from "../../models/data/product/stock-location";
8
9
  export default class ProductStore {
9
10
  static listProductBackInStockRemind(params: ListProductBackInStockRemindQueryParams): Promise<APIResponse<import("@ikas/storefront-api/build/__api/types").ProductBackInStockRemind[]> | APIResponse<undefined>>;
10
11
  static saveProductBackInStockRemind(params: SaveProductBackInStockRemindQueryParams): Promise<APIResponse<undefined> | APIResponse<import("@ikas/storefront-api/build/__api/types").ProductBackInStockRemind>>;
@@ -30,8 +31,17 @@ export default class ProductStore {
30
31
  page?: number | undefined;
31
32
  totalCount?: any;
32
33
  }>>;
34
+ static getSuggestedProducts(params: GetSuggestedProductsQueryParams): Promise<APIResponse<{
35
+ data: IkasProduct[] | undefined;
36
+ count?: number | undefined;
37
+ facets?: null | undefined;
38
+ limit?: number | undefined;
39
+ page?: number | undefined;
40
+ totalCount?: number | undefined;
41
+ }>>;
33
42
  static listProductAttribute(params: ListProductAttributeQueryParams): Promise<APIResponse<IkasProductAttribute[]>>;
34
43
  static getProductCampaigns(params: GetProductCampaignsQueryParams): Promise<APIResponse<IkasProductCampaign[]>>;
44
+ static getVariantStockLocations(params: GetVariantStockLocationsQueryParams): Promise<APIResponse<IkasProductStockLocations[]>>;
35
45
  static getOrderLineFile(params: GetOrderLineFileQueryParams): Promise<APIResponse<undefined> | APIResponse<string>>;
36
46
  static listProductOptionSet(params: ListProductOptionSetQueryParams): Promise<APIResponse<IkasProductOptionSet[]>>;
37
47
  }
@@ -1 +1 @@
1
- import{__awaiter as t,__generator as r,__assign as n}from'./../../ext/tslib/tslib.es6.js';import{listProductBackInStockRemind as e,saveProductBackInStockRemind as i,APIResponse as o,searchProducts as a,getProductFilterData as u,getRelatedProducts as s,listProductAttribute as c,getProductCampaigns as d,getOrderLineFile as l,listProductOptionSet as f}from"@ikas/storefront-api";import{IkasProduct as v}from"../../models/data/product/index.js";import{IkasProductAttribute as m}from"../../models/data/product/attribute/index.js";import{IkasProductCampaign as h}from"../../models/data/product/campaign/index.js";import{IkasProductFilter as p}from"../../models/data/product/filter/index.js";import{IkasProductOptionSet as w}from"../../models/data/product/option-set/index.js";import{IkasFilterCategory as g}from"../../models/data/filter-category/index.js";import{IkasStorefrontConfig as b}from"@ikas/storefront-config";var P=function(){function P(){}return P.listProductBackInStockRemind=function(n){return t(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return[4,e(n)];case 1:return[2,t.sent()]}}))}))},P.saveProductBackInStockRemind=function(n){return t(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return[4,i(n)];case 1:return[2,t.sent()]}}))}))},P.searchProducts=function(e){var i,u;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,a(e)];case 1:return t=r.sent(),[2,new o(n(n({locale:b.getCurrentLocale()},t.data),{data:null===(u=null===(i=t.data)||void 0===i?void 0:i.data)||void 0===u?void 0:u.map((function(t){return new v(t)}))}))]}}))}))},P.getProductFilterData=function(n){var e;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,u(n)];case 1:return t=r.sent(),[2,new o(t.data?{filters:t.data.filters.map((function(t){return new p(t)})),categories:null===(e=t.data.categories)||void 0===e?void 0:e.map((function(t){return new g(t)}))}:null,t.graphQLErrors)]}}))}))},P.getRelatedProducts=function(e){var i,a;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,s(e)];case 1:return t=r.sent(),[2,new o(n(n({},t.data),{data:null===(a=null===(i=t.data)||void 0===i?void 0:i.data)||void 0===a?void 0:a.map((function(t){return new v(t)}))}),t.graphQLErrors)]}}))}))},P.listProductAttribute=function(n){var e;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,c(n)];case 1:return t=r.sent(),[2,new o(null===(e=t.data)||void 0===e?void 0:e.map((function(t){return new m(t)})),t.graphQLErrors)]}}))}))},P.getProductCampaigns=function(n){var e;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,d(n)];case 1:return t=r.sent(),[2,new o(null===(e=t.data)||void 0===e?void 0:e.map((function(t){return new h(t)})),t.graphQLErrors)]}}))}))},P.getOrderLineFile=function(n){return t(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return[4,l(n)];case 1:return[2,t.sent()]}}))}))},P.listProductOptionSet=function(n){var e;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,f(n)];case 1:return t=r.sent(),[2,new o(null===(e=t.data)||void 0===e?void 0:e.map((function(t){return new w(t)})),t.graphQLErrors)]}}))}))},P}();export{P as default};
1
+ import{__awaiter as t,__generator as r,__assign as n}from'./../../ext/tslib/tslib.es6.js';import{listProductBackInStockRemind as e,saveProductBackInStockRemind as i,APIResponse as o,searchProducts as a,getProductFilterData as u,getRelatedProducts as s,getSuggestedProducts as c,listProductAttribute as d,getProductCampaigns as l,getVariantStockLocations as f,getOrderLineFile as v,listProductOptionSet as h}from"@ikas/storefront-api";import{IkasProduct as m}from"../../models/data/product/index.js";import{IkasProductAttribute as p}from"../../models/data/product/attribute/index.js";import{IkasProductCampaign as w}from"../../models/data/product/campaign/index.js";import{IkasProductFilter as g}from"../../models/data/product/filter/index.js";import{IkasProductOptionSet as b}from"../../models/data/product/option-set/index.js";import{IkasFilterCategory as L}from"../../models/data/filter-category/index.js";import{IkasStorefrontConfig as P}from"@ikas/storefront-config";import{IkasProductStockLocations as j}from"../../models/data/product/stock-location/index.js";var k=function(){function k(){}return k.listProductBackInStockRemind=function(n){return t(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return[4,e(n)];case 1:return[2,t.sent()]}}))}))},k.saveProductBackInStockRemind=function(n){return t(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return[4,i(n)];case 1:return[2,t.sent()]}}))}))},k.searchProducts=function(e){var i,u;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,a(e)];case 1:return t=r.sent(),[2,new o(n(n({locale:P.getCurrentLocale()},t.data),{data:null===(u=null===(i=t.data)||void 0===i?void 0:i.data)||void 0===u?void 0:u.map((function(t){return new m(t)}))}))]}}))}))},k.getProductFilterData=function(n){var e;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,u(n)];case 1:return t=r.sent(),[2,new o(t.data?{filters:t.data.filters.map((function(t){return new g(t)})),categories:null===(e=t.data.categories)||void 0===e?void 0:e.map((function(t){return new L(t)}))}:null,t.graphQLErrors)]}}))}))},k.getRelatedProducts=function(e){var i,a;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,s(e)];case 1:return t=r.sent(),[2,new o(n(n({},t.data),{data:null===(a=null===(i=t.data)||void 0===i?void 0:i.data)||void 0===a?void 0:a.map((function(t){return new m(t)}))}),t.graphQLErrors)]}}))}))},k.getSuggestedProducts=function(e){var i,a;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,c(e)];case 1:return t=r.sent(),[2,new o(n(n({},t.data),{data:null===(a=null===(i=t.data)||void 0===i?void 0:i.data)||void 0===a?void 0:a.map((function(t){return new m(t)}))}),t.graphQLErrors)]}}))}))},k.listProductAttribute=function(n){var e;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,d(n)];case 1:return t=r.sent(),[2,new o(null===(e=t.data)||void 0===e?void 0:e.map((function(t){return new p(t)})),t.graphQLErrors)]}}))}))},k.getProductCampaigns=function(n){var e;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,l(n)];case 1:return t=r.sent(),[2,new o(null===(e=t.data)||void 0===e?void 0:e.map((function(t){return new w(t)})),t.graphQLErrors)]}}))}))},k.getVariantStockLocations=function(n){var e;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,f(n)];case 1:return t=r.sent(),[2,new o(null===(e=t.data)||void 0===e?void 0:e.map((function(t){return new j(t)})),t.graphQLErrors)]}}))}))},k.getOrderLineFile=function(n){return t(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return[4,v(n)];case 1:return[2,t.sent()]}}))}))},k.listProductOptionSet=function(n){var e;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){switch(r.label){case 0:return[4,h(n)];case 1:return t=r.sent(),[2,new o(null===(e=t.data)||void 0===e?void 0:e.map((function(t){return new b(t)})),t.graphQLErrors)]}}))}))},k}();export{k as default};
@@ -1,2 +1,3 @@
1
1
  export declare const FREE_TEXT_CITY_COUNTRY_LIST: string[];
2
2
  export declare const DISTRICT_HIDDEN_COUNTRY_LIST: string[];
3
+ export declare const COUNTRY_FORMS_LOCALES: string[];
@@ -1 +1 @@
1
- var r=["DE","US","AT"],S=["US"];export{S as DISTRICT_HIDDEN_COUNTRY_LIST,r as FREE_TEXT_CITY_COUNTRY_LIST};
1
+ var r=["DE","US","AT"],e=["US"],t=["tr","de","en","it","es","fr","ru"];export{t as COUNTRY_FORMS_LOCALES,e as DISTRICT_HIDDEN_COUNTRY_LIST,r as FREE_TEXT_CITY_COUNTRY_LIST};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/storefront",
3
- "version": "4.2.0-beta.1",
3
+ "version": "4.2.0-beta.10",
4
4
  "description": "Storefront functionality for ikas storefront themes.",
5
5
  "author": "ikas",
6
6
  "license": "ISC",
@@ -18,11 +18,11 @@
18
18
  },
19
19
  "dependencies": {},
20
20
  "devDependencies": {
21
- "@ikas/storefront-api": "^4.2.0-beta.1",
22
- "@ikas/storefront-config": "^4.2.0-beta.1",
23
- "@ikas/storefront-model-functions": "^4.2.0-beta.1",
24
- "@ikas/storefront-models": "^4.2.0-beta.1",
25
- "@ikas/storefront-providers": "^4.2.0-beta.1",
21
+ "@ikas/storefront-api": "^4.2.0-beta.10",
22
+ "@ikas/storefront-config": "^4.2.0-beta.10",
23
+ "@ikas/storefront-model-functions": "^4.2.0-beta.10",
24
+ "@ikas/storefront-models": "^4.2.0-beta.10",
25
+ "@ikas/storefront-providers": "^4.2.0-beta.10",
26
26
  "@rollup/plugin-commonjs": "^22.0.0",
27
27
  "@rollup/plugin-json": "^4.1.0",
28
28
  "@rollup/plugin-node-resolve": "^13.3.0",
@@ -52,11 +52,11 @@
52
52
  "libphonenumber-js": "^1.10.6"
53
53
  },
54
54
  "peerDependencies": {
55
- "@ikas/storefront-api": "^4.2.0-beta.1",
56
- "@ikas/storefront-config": "^4.2.0-beta.1",
57
- "@ikas/storefront-model-functions": "^4.2.0-beta.1",
58
- "@ikas/storefront-models": "^4.2.0-beta.1",
59
- "@ikas/storefront-providers": "^4.2.0-beta.1",
55
+ "@ikas/storefront-api": "^4.2.0-beta.10",
56
+ "@ikas/storefront-config": "^4.2.0-beta.10",
57
+ "@ikas/storefront-model-functions": "^4.2.0-beta.10",
58
+ "@ikas/storefront-models": "^4.2.0-beta.10",
59
+ "@ikas/storefront-providers": "^4.2.0-beta.10",
60
60
  "mobx": "^6.1.3",
61
61
  "mobx-react-lite": "^3.1.5",
62
62
  "next": "12.2.0",
@@ -1,114 +0,0 @@
1
- import { IkasCheckoutRequirement, IkasCheckoutSettings, IkasOrderAddress } from "@ikas/storefront-models";
2
- export interface AddressFormViewModelParams {
3
- checkoutSettings?: IkasCheckoutSettings;
4
- }
5
- export default class CountrySettingsModel {
6
- private _initialized;
7
- private _addressFormCountrySettings;
8
- private _addressFormCountryLabels;
9
- private checkoutSettings?;
10
- constructor(data: AddressFormViewModelParams);
11
- init: () => Promise<void>;
12
- get initialized(): boolean;
13
- waitUntilInitialized: () => Promise<unknown>;
14
- getCountrySettings: (country: string) => IkasAddressFormCountrySettings;
15
- getCountryLabels: (country: string) => IkasAddressFormCountryLabels;
16
- getFieldSettings: (country: string) => IkasAddressFormFields;
17
- getFieldLabels: (country: string) => {
18
- firstName?: string | undefined;
19
- lastName?: string | undefined;
20
- identityNumber?: string | undefined;
21
- addressLine1?: string | undefined;
22
- addressLine2?: string | undefined;
23
- postalCode?: string | undefined;
24
- country?: string | undefined;
25
- state?: string | undefined;
26
- city?: string | undefined;
27
- district?: string | undefined;
28
- phone?: string | undefined;
29
- companyName?: string | undefined;
30
- taxOffice?: string | undefined;
31
- taxNumber?: string | undefined;
32
- } | undefined;
33
- getAddressFormatView: (addressFormat: string) => string[][];
34
- getBillingFormatView: (billingFormat: string) => string[][];
35
- getAddressFormat: (country: string) => string[][];
36
- getBillingFormat: (country: string) => string[][];
37
- getAddressFormatIgnoreCountry: (country: string) => string[][];
38
- getValidationResult: (address: IkasOrderAddress) => {
39
- firstName: boolean;
40
- lastName: boolean;
41
- addressLine1: boolean;
42
- country: boolean;
43
- state: boolean;
44
- city: boolean;
45
- district: boolean;
46
- phone: boolean;
47
- postalCode: boolean;
48
- identityNumber: boolean;
49
- } | undefined;
50
- isValidAddress(address: IkasOrderAddress): boolean;
51
- isValidField: (field: string, fieldSettings: AddressFormField | undefined, checkoutRequirement?: IkasCheckoutRequirement | null) => boolean;
52
- isFreeTextCity(country: string): boolean | undefined;
53
- isFreeTextDistrict(country: string): boolean | undefined;
54
- getAddressFormCountrySettings: () => Promise<void>;
55
- getAddressFormCountryLabels: () => Promise<void>;
56
- }
57
- export declare const countryFormsLocales: string[];
58
- export declare type IkasAddressFormCountrySettings = {
59
- id: string;
60
- addressFormat: string;
61
- billingFormat: string;
62
- code: string;
63
- iso2: string;
64
- iso3: string;
65
- phoneCode: string;
66
- fields: IkasAddressFormFields;
67
- };
68
- export declare type IkasAddressFormFields = {
69
- firstName?: AddressFormField;
70
- lastName?: AddressFormField;
71
- identityNumber?: AddressFormField;
72
- addressLine1?: AddressFormField;
73
- addressLine2?: AddressFormField;
74
- postalCode?: AddressFormField;
75
- country?: AddressFormField;
76
- state?: AddressFormField;
77
- city?: AddressFormField;
78
- district?: AddressFormField;
79
- phone?: AddressFormField;
80
- };
81
- declare type AddressFormField = {
82
- required?: boolean;
83
- type?: IkasAddressFormInputType;
84
- regex?: string;
85
- };
86
- declare enum IkasAddressFormInputType {
87
- TEXT = "text",
88
- DROPDOWN = "dropdown"
89
- }
90
- export declare type IkasAddressFormCountryLabels = {
91
- name: string;
92
- fields: AddressFormFieldsType;
93
- };
94
- declare type AddressFormFieldsType = {
95
- firstName?: AddressFormLabelType;
96
- lastName?: AddressFormLabelType;
97
- identityNumber?: AddressFormLabelType;
98
- addressLine1?: AddressFormLabelType;
99
- addressLine2?: AddressFormLabelType;
100
- postalCode?: AddressFormLabelType;
101
- country?: AddressFormLabelType;
102
- state?: AddressFormLabelType;
103
- city?: AddressFormLabelType;
104
- district?: AddressFormLabelType;
105
- phone?: AddressFormLabelType;
106
- companyName?: AddressFormLabelType;
107
- taxOffice?: AddressFormLabelType;
108
- taxNumber?: AddressFormLabelType;
109
- };
110
- declare type AddressFormLabelType = {
111
- placeholder?: string;
112
- label?: string;
113
- };
114
- export {};
@@ -1 +0,0 @@
1
- import{__awaiter as t,__generator as e}from'./../../ext/tslib/tslib.es6.js';import{makeAutoObservable as i}from"mobx";import{IkasStorefrontConfig as n}from"@ikas/storefront-config";import{IkasCheckoutRequirement as r}from"@ikas/storefront-models";import s from"lodash/difference";import o from"lodash/mapValues";import{validatePhoneNumber as u,validateByRegexString as d}from"@ikas/storefront-model-functions/src/utils/helper";var a,l=function(){function l(a){var l=this;this._initialized=!1,this.init=function(){return t(l,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,this.getAddressFormCountrySettings()];case 1:return t.sent(),[4,this.getAddressFormCountryLabels()];case 2:return t.sent(),this._initialized=!0,[2]}}))}))},this.waitUntilInitialized=function(){return new Promise((function(t){var e=setInterval((function(){l.initialized&&(clearInterval(e),t(null))}),100)}))},this.getCountrySettings=function(t){return l._addressFormCountrySettings.countrySettings[t]},this.getCountryLabels=function(t){return l._addressFormCountryLabels.countryLabels[t]},this.getFieldSettings=function(t){return l.getCountrySettings(t).fields},this.getFieldLabels=function(t){var e=l.getCountryLabels(t);if(e)return o(e.fields,(function(t,e){return null==t?void 0:t.label}))},this.getAddressFormatView=function(t){return l._addressFormCountrySettings.addressFormats[t]},this.getBillingFormatView=function(t){return l._addressFormCountrySettings.billingFormats[t]},this.getAddressFormat=function(t){var e=l.getCountrySettings(t),i=l.getAddressFormatView(e.addressFormat);if(l.checkoutSettings&&i){var n=[];return l.checkoutSettings.identityNumberRequirement===r.INVISIBLE&&n.push("identityNumber"),l.checkoutSettings.postalCodeRequirement===r.INVISIBLE&&n.push("postalCode"),l.checkoutSettings.phoneRequirement===r.INVISIBLE&&n.push("phone"),i.map((function(t){return s(t,n)}))||[]}return i},this.getBillingFormat=function(t){var e=l.getCountrySettings(t);return l.getBillingFormatView(e.billingFormat)},this.getAddressFormatIgnoreCountry=function(t){return l.getAddressFormat(t).map((function(t){return s(t,["country"])}))},this.getValidationResult=function(t){var e,i,n,s,o,d,a=l.getFieldSettings((null===(e=t.country)||void 0===e?void 0:e.iso2)||"TR");if(l.checkoutSettings&&a){var c=!!t.phone&&t.phone.length>=10&&u(t.phone);return{firstName:l.isValidField(t.firstName,a.firstName),lastName:l.isValidField(t.lastName,a.lastName),addressLine1:l.isValidField(t.addressLine1,a.addressLine1),country:l.isValidField((null===(i=t.country)||void 0===i?void 0:i.name)||"",a.country),state:l.isValidField((null===(n=t.state)||void 0===n?void 0:n.name)||"",a.state),city:l.isValidField((null===(s=t.city)||void 0===s?void 0:s.name)||"",a.city),district:l.isValidField((null===(o=t.district)||void 0===o?void 0:o.name)||"",a.district),phone:(null===(d=a.phone)||void 0===d?void 0:d.regex)?l.isValidField(t.phone||"",a.phone,l.checkoutSettings.phoneRequirement):!(l.checkoutSettings.phoneRequirement===r.MANDATORY||l.checkoutSettings.phoneRequirement===r.OPTIONAL&&t.phone)||c,postalCode:l.isValidField(t.postalCode||"",a.postalCode,l.checkoutSettings.postalCodeRequirement),identityNumber:l.isValidField(t.identityNumber||"",a.identityNumber,l.checkoutSettings.identityNumberRequirement)}}},this.isValidField=function(t,e,i){var n=!0,s=i?i===r.MANDATORY:(null==e?void 0:e.required)||!1,o=!!(null==e?void 0:e.regex)||!1;return s&&!o&&(n=!!t),s&&o&&(n=!!t||d(t,e.regex)),!s&&o&&t&&(n=d(t,e.regex)),n},this.getAddressFormCountrySettings=function(){return t(l,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return"https://cdn.myikas.com/sf/static/location/settings.json",[4,fetch("https://cdn.myikas.com/sf/static/location/settings.json")];case 1:return[4,e.sent().json()];case 2:return t=e.sent(),this._addressFormCountrySettings=t,[2]}}))}))},this.getAddressFormCountryLabels=function(){return t(l,void 0,void 0,(function(){var t,i,r;return e(this,(function(e){switch(e.label){case 0:return t=n.getCurrentLocale(),c.find((function(e){return e===t}))||(t="en"),i="https://cdn.myikas.com/sf/static/location/".concat(t,".json"),[4,fetch(i)];case 1:return[4,e.sent().json()];case 2:return r=e.sent(),this._addressFormCountryLabels=r,[2]}}))}))},this.checkoutSettings=a.checkoutSettings,this.init(),i(this)}return Object.defineProperty(l.prototype,"initialized",{get:function(){return this._initialized},enumerable:!1,configurable:!0}),l.prototype.isValidAddress=function(t){var e=this.getValidationResult(t);return!!e&&Object.values(e).every((function(t){return t}))},l.prototype.isFreeTextCity=function(t){var e=this.getFieldSettings(t);return e&&e.city&&e.city.type===a.TEXT},l.prototype.isFreeTextDistrict=function(t){var e=this.getFieldSettings(t);return e&&e.district&&e.district.type===a.TEXT},l}(),c=["tr","de","en","it","es","fr","ru"];!function(t){t.TEXT="text",t.DROPDOWN="dropdown"}(a||(a={}));export{c as countryFormsLocales,l as default};
@@ -1,47 +0,0 @@
1
- import CountrySettingsModel from "../../../components/checkout/country-settings-model";
2
- import { IkasOrderAddress } from "../order/address";
3
- declare type IkasCheckoutAddressConstructorData = {
4
- countrySettings?: CountrySettingsModel | null;
5
- title?: string | null;
6
- } & IkasOrderAddress;
7
- export default class IkasCheckoutAddress extends IkasOrderAddress {
8
- countrySettings: CountrySettingsModel | null;
9
- title: string | null;
10
- constructor(data?: Partial<IkasCheckoutAddressConstructorData>);
11
- get addressFormat(): string[][] | undefined;
12
- get addressFormatIgnoreCountry(): string[][] | undefined;
13
- get billingFormat(): string[][] | undefined;
14
- get countryCode(): string;
15
- get validationResult(): {
16
- firstName: boolean;
17
- lastName: boolean;
18
- addressLine1: boolean;
19
- country: boolean;
20
- state: boolean;
21
- city: boolean;
22
- district: boolean;
23
- phone: boolean;
24
- postalCode: boolean;
25
- identityNumber: boolean;
26
- } | undefined;
27
- get isValidAddress(): boolean | undefined;
28
- get fieldLabels(): {
29
- firstName?: string | undefined;
30
- lastName?: string | undefined;
31
- identityNumber?: string | undefined;
32
- addressLine1?: string | undefined;
33
- addressLine2?: string | undefined;
34
- postalCode?: string | undefined;
35
- country?: string | undefined;
36
- state?: string | undefined;
37
- city?: string | undefined;
38
- district?: string | undefined;
39
- phone?: string | undefined;
40
- companyName?: string | undefined;
41
- taxOffice?: string | undefined;
42
- taxNumber?: string | undefined;
43
- } | undefined;
44
- get isFreeTextCity(): boolean | undefined;
45
- get isFreeTextDistrict(): boolean | undefined;
46
- }
47
- export {};
@@ -1 +0,0 @@
1
- import{__extends as t}from'./../../../ext/tslib/tslib.es6.js';import{makeObservable as e,observable as r}from"mobx";import{IkasOrderAddress as i}from"../order/address/index.js";var n=function(i){function n(t){void 0===t&&(t={});var n=i.call(this,t)||this;return n.countrySettings=t.countrySettings||null,n.title=t.title||null,e(n,{countrySettings:r,title:r}),n}return t(n,i),Object.defineProperty(n.prototype,"addressFormat",{get:function(){if(this.countrySettings)return this.countrySettings.getAddressFormat(this.countryCode)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"addressFormatIgnoreCountry",{get:function(){if(this.countrySettings)return this.countrySettings.getAddressFormatIgnoreCountry(this.countryCode)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"billingFormat",{get:function(){if(this.countrySettings)return this.countrySettings.getBillingFormat(this.countryCode)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"countryCode",{get:function(){var t;return(null===(t=this.country)||void 0===t?void 0:t.iso2)||"TR"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"validationResult",{get:function(){if(this.countrySettings)return this.countrySettings.getValidationResult(this)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"isValidAddress",{get:function(){if(this.countrySettings)return this.countrySettings.isValidAddress(this)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"fieldLabels",{get:function(){if(this.countrySettings)return this.countrySettings.getFieldLabels(this.countryCode)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"isFreeTextCity",{get:function(){if(this.countrySettings)return this.countrySettings.isFreeTextCity(this.countryCode)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"isFreeTextDistrict",{get:function(){if(this.countrySettings)return this.countrySettings.isFreeTextDistrict(this.countryCode)},enumerable:!1,configurable:!0}),n}(i);export{n as default};