@ikas/storefront 3.0.0-alpha.26 → 3.0.0-alpha.27

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 (178) hide show
  1. package/build/__api/models/BlogMetadata.d.ts +2 -0
  2. package/build/__api/models/BlogMetadata.js +1 -1
  3. package/build/__api/models/BlogMetadataTargetTypeEnumFilter.d.ts +1 -1
  4. package/build/__api/models/CreateCustomerReviewInput.d.ts +3 -0
  5. package/build/__api/models/CreateSaleTransactionMasterPassPaymentMethodDetail.d.ts +10 -0
  6. package/build/__api/models/CreateSaleTransactionWithCartInput.d.ts +2 -0
  7. package/build/__api/models/CreateSaleTransactionWithCheckoutInput.d.ts +2 -0
  8. package/build/__api/models/CustomerReview.d.ts +3 -0
  9. package/build/__api/models/CustomerReview.js +1 -1
  10. package/build/__api/models/DateFilterInput.d.ts +1 -1
  11. package/build/__api/models/GetProductOptionFileUrl.d.ts +11 -0
  12. package/build/__api/models/HTMLMetaData.d.ts +2 -0
  13. package/build/__api/models/HTMLMetaData.js +1 -1
  14. package/build/__api/models/HTMLMetaDataTargetTypeEnumFilter.d.ts +1 -1
  15. package/build/__api/models/MasterpassTokenResponse.d.ts +7 -5
  16. package/build/__api/models/MerchantSettings.d.ts +2 -0
  17. package/build/__api/models/MerchantSettings.js +1 -1
  18. package/build/__api/models/MerchantSettingsCurrencyFormat.d.ts +15 -0
  19. package/build/__api/models/MerchantSettingsCurrencyFormat.js +1 -0
  20. package/build/__api/models/OrderShippingLine.d.ts +1 -0
  21. package/build/__api/models/OrderShippingLine.js +1 -1
  22. package/build/__api/models/PaymentGateway.d.ts +1 -1
  23. package/build/__api/models/PaymentGateway.js +1 -1
  24. package/build/__api/models/RaffleMetadata.d.ts +2 -0
  25. package/build/__api/models/RaffleMetadataTargetTypeEnumFilter.d.ts +1 -1
  26. package/build/__api/models/SearchHTMLMetaData.d.ts +2 -0
  27. package/build/__api/models/Storefront.d.ts +1 -0
  28. package/build/__api/mutations/addCouponCodeToCheckout.d.ts +1 -0
  29. package/build/__api/mutations/addItemToCart.d.ts +1 -0
  30. package/build/__api/mutations/addItemToCart.js +1 -1
  31. package/build/__api/mutations/createCustomerReview.d.ts +3 -0
  32. package/build/__api/mutations/createCustomerReview.js +1 -1
  33. package/build/__api/mutations/createOrderRefundRequest.d.ts +1 -0
  34. package/build/__api/mutations/createOrderRefundRequest.js +1 -1
  35. package/build/__api/mutations/saveCart.d.ts +1 -0
  36. package/build/__api/mutations/saveCart.js +1 -1
  37. package/build/__api/mutations/saveCartCouponCode.d.ts +1 -0
  38. package/build/__api/mutations/saveCartCouponCode.js +1 -1
  39. package/build/__api/mutations/saveCheckout.d.ts +1 -0
  40. package/build/__api/queries/getCartById.d.ts +1 -0
  41. package/build/__api/queries/getCartById.js +1 -1
  42. package/build/__api/queries/getCheckoutByCartId.d.ts +1 -0
  43. package/build/__api/queries/getCheckoutById.d.ts +1 -0
  44. package/build/__api/queries/getCustomerOrders.d.ts +1 -0
  45. package/build/__api/queries/getCustomerOrders.js +1 -1
  46. package/build/__api/queries/getMasterpassRequestToken.d.ts +6 -3
  47. package/build/__api/queries/getOrder.d.ts +1 -0
  48. package/build/__api/queries/getOrderByEmail.d.ts +1 -0
  49. package/build/__api/queries/getOrderByEmail.js +1 -1
  50. package/build/__api/queries/getProductFilterData.d.ts +8 -0
  51. package/build/__api/queries/getProductFilterData.js +1 -1
  52. package/build/__api/queries/getProductOptionFileUrl.d.ts +14 -0
  53. package/build/__api/queries/getRafflesByCustomerId.d.ts +2 -0
  54. package/build/__api/queries/getRafflesByCustomerId.js +1 -1
  55. package/build/__api/queries/getStorefront.d.ts +1 -0
  56. package/build/__api/queries/getStorefront.js +1 -1
  57. package/build/__api/queries/listBlog.d.ts +4 -0
  58. package/build/__api/queries/listBlog.js +1 -1
  59. package/build/__api/queries/listBlogCategory.d.ts +2 -0
  60. package/build/__api/queries/listBlogCategory.js +1 -1
  61. package/build/__api/queries/listBlogMetadata.d.ts +2 -0
  62. package/build/__api/queries/listBlogMetadata.js +1 -1
  63. package/build/__api/queries/listCategory.d.ts +4 -0
  64. package/build/__api/queries/listCategory.js +1 -1
  65. package/build/__api/queries/listCustomerReviews.d.ts +3 -0
  66. package/build/__api/queries/listCustomerReviews.js +1 -1
  67. package/build/__api/queries/listHTMLMetaData.d.ts +2 -0
  68. package/build/__api/queries/listHTMLMetaData.js +1 -1
  69. package/build/__api/queries/listMerchantSettings.d.ts +6 -0
  70. package/build/__api/queries/listMerchantSettings.js +1 -1
  71. package/build/__api/queries/listPaymentGateway.d.ts +1 -1
  72. package/build/__api/queries/listPaymentGateway.js +1 -1
  73. package/build/__api/queries/listProduct.d.ts +2 -0
  74. package/build/__api/queries/listProductBrand.d.ts +2 -0
  75. package/build/__api/queries/listProductBrand.js +1 -1
  76. package/build/__api/queries/listRaffle.d.ts +2 -0
  77. package/build/__api/queries/listRaffle.js +1 -1
  78. package/build/__api/queries/listRaffleMetadata.d.ts +2 -0
  79. package/build/__api/queries/listRaffleMetadata.js +1 -1
  80. package/build/__api/queries/searchProducts.d.ts +2 -0
  81. package/build/__api/queries/searchProducts.js +1 -1
  82. package/build/__api/types/index.d.ts +57 -6
  83. package/build/__api/types/index.js +1 -1
  84. package/build/_virtual/index.js_commonjs-proxy13.js +1 -1
  85. package/build/_virtual/index.js_commonjs-proxy14.js +1 -1
  86. package/build/_virtual/index.js_commonjs-proxy2.js +1 -1
  87. package/build/_virtual/index.js_commonjs-proxy3.js +1 -1
  88. package/build/_virtual/index.js_commonjs-proxy4.js +1 -1
  89. package/build/analytics/analytics.d.ts +3 -2
  90. package/build/analytics/analytics.js +1 -1
  91. package/build/analytics/events.d.ts +2 -1
  92. package/build/analytics/events.js +1 -1
  93. package/build/analytics/googleTagManager.js +1 -1
  94. package/build/analytics/head/index.js +1 -1
  95. package/build/analytics/tiktokPixel.d.ts +14 -0
  96. package/build/analytics/tiktokPixel.js +1 -0
  97. package/build/assets/translations/checkout/en.js +1 -1
  98. package/build/assets/translations/checkout/tr.js +1 -1
  99. package/build/components/checkout/components/address-form/index.js +1 -1
  100. package/build/components/checkout/components/address-form/model.d.ts +1 -0
  101. package/build/components/checkout/components/address-form/model.js +1 -1
  102. package/build/components/checkout/components/cart-summary/index.js +1 -1
  103. package/build/components/checkout/components/cart-summary/style.module.scss.js +1 -1
  104. package/build/components/checkout/index.d.ts +1 -0
  105. package/build/components/checkout/index.js +1 -1
  106. package/build/components/checkout/model.d.ts +6 -4
  107. package/build/components/checkout/model.js +1 -1
  108. package/build/components/checkout/steps/step-success/index.js +1 -1
  109. package/build/components/index.d.ts +1 -0
  110. package/build/components/link/index.d.ts +4 -0
  111. package/build/components/link/index.js +1 -0
  112. package/build/components/page/head.d.ts +2 -0
  113. package/build/components/page/head.js +1 -1
  114. package/build/components/page/index.d.ts +2 -0
  115. package/build/components/page/index.js +1 -1
  116. package/build/ikas.cjs +1 -1
  117. package/build/index.d.ts +1 -0
  118. package/build/index.js +1 -1
  119. package/build/models/data/merchant-settings/index.js +1 -1
  120. package/build/models/data/order/line-item/variant/index.d.ts +8 -0
  121. package/build/models/data/order/line-item/variant/index.js +1 -1
  122. package/build/models/data/product/index.d.ts +1 -1
  123. package/build/models/data/product/index.js +1 -1
  124. package/build/models/data/product/variant/index.d.ts +1 -0
  125. package/build/models/data/product/variant/index.js +1 -1
  126. package/build/models/data/raffle/index.d.ts +2 -0
  127. package/build/models/data/raffle/index.js +1 -1
  128. package/build/models/data/storefront/index.d.ts +1 -0
  129. package/build/models/data/storefront/index.js +1 -1
  130. package/build/models/theme/page/index.d.ts +2 -0
  131. package/build/models/theme/page/index.js +1 -1
  132. package/build/models/theme/theme.js +1 -1
  133. package/build/models/ui/product-detail/index.d.ts +2 -0
  134. package/build/models/ui/product-detail/index.js +1 -1
  135. package/build/models/ui/product-list/index.js +1 -1
  136. package/build/models/ui/validator/form/account-info.d.ts +2 -0
  137. package/build/models/ui/validator/form/account-info.js +1 -1
  138. package/build/models/ui/validator/form/register.js +1 -1
  139. package/build/pages/404.js +1 -1
  140. package/build/pages/_slug_/index.js +1 -1
  141. package/build/pages/account/addresses.js +1 -1
  142. package/build/pages/account/favorite-products.js +1 -1
  143. package/build/pages/account/forgot-password.js +1 -1
  144. package/build/pages/account/index.js +1 -1
  145. package/build/pages/account/login.js +1 -1
  146. package/build/pages/account/orders/_id_.js +1 -1
  147. package/build/pages/account/orders/index.js +1 -1
  148. package/build/pages/account/raffles.js +1 -1
  149. package/build/pages/account/recover-password.js +1 -1
  150. package/build/pages/account/register.js +1 -1
  151. package/build/pages/blog/_slug_.js +1 -1
  152. package/build/pages/blog/index.js +1 -1
  153. package/build/pages/cart.js +1 -1
  154. package/build/pages/checkout.js +1 -1
  155. package/build/pages/editor.js +1 -1
  156. package/build/pages/home.js +1 -1
  157. package/build/pages/pages/_slug_.js +1 -1
  158. package/build/pages/raffle/_slug_.js +1 -1
  159. package/build/pages/raffle/index.js +1 -1
  160. package/build/pages/search.js +1 -1
  161. package/build/providers/page-data-get.d.ts +3 -0
  162. package/build/providers/page-data-get.js +1 -1
  163. package/build/providers/page-data-next.d.ts +18 -0
  164. package/build/providers/page-data-next.js +1 -1
  165. package/build/scripts/generators/config/content.js +1 -1
  166. package/build/scripts/generators/config/index.js +1 -1
  167. package/build/store/base.d.ts +1 -0
  168. package/build/store/base.js +1 -1
  169. package/build/store/cart/index.js +1 -1
  170. package/build/store/customer/index.js +1 -1
  171. package/build/storefront/index.d.ts +6 -2
  172. package/build/storefront/index.js +1 -1
  173. package/build/utils/constants.d.ts +1 -0
  174. package/build/utils/constants.js +1 -1
  175. package/build/utils/currency.d.ts +2 -2
  176. package/build/utils/currency.js +1 -1
  177. package/build/utils/helper.js +1 -1
  178. package/package.json +1 -1
@@ -1 +1 @@
1
- import{__awaiter as t,__generator as e,__assign as i}from'../../ext/tslib/tslib.es6.js';import{makeAutoObservable as s}from"mobx";import n from'../../ext/lodash/cloneDeep.js';import r from'../../ext/lodash/sortBy.js';import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/index.js";import"../../models/data/city/index.js";import"../../models/data/country/index.js";import{IkasCustomerAddress as o}from"../../models/data/customer/address/index.js";import"../../models/data/customer/attribute-value/index.js";import"../../models/data/customer/index.js";import"../../models/data/customer-attribute/customer-attribute-option/index.js";import"../../models/data/customer-attribute/customer-attribute-sales-channel/index.js";import"../../models/data/customer-attribute/index.js";import"../../models/data/customer-review/index.js";import"../../models/data/customer-review-summary/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/merchant-settings/index.js";import{IkasOrderAddress as a}from"../../models/data/order/address/index.js";import"../../models/data/order/adjustment/index.js";import{IkasOrderCustomer as d}from"../../models/data/order/customer/index.js";import"../../models/data/order/gift-line/index.js";import"../../models/data/order/invoice/index.js";import"../../models/data/order/line-item/discount/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/option/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/tracking-info/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/payment-method/index.js";import"../../models/data/order/refund/line-item/index.js";import"../../models/data/order/shipping-line/index.js";import"../../models/data/order/tax-line/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/product/attribute-value/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/product-attribute/index.js";import"../../models/data/product-filter/index.js";import"../../models/data/product-campaign/campaign/index.js";import"../../models/data/product-campaign/filter/index.js";import"../../models/data/product-option-set/index.js";import"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/variant-type/variant-value/index.js";import"../../models/theme/theme.js";import"../../models/theme/page/index.js";import"../../models/theme/component/prop/index.js";import"../../models/theme/page/component/prop-value/link.js";import"../../models/ui/brand-list/index.js";import"../../models/ui/blog-list/index.js";import"../../models/ui/blog-category-list/index.js";import"../../models/ui/category-list/index.js";import"../../models/ui/product-detail/index.js";import"../../models/ui/product-list/index.js";import"../../models/ui/product-attribute-detail/index.js";import"../../models/ui/product-attribute-list/index.js";import"../../models/ui/customer-review-list/index.js";import"../../models/ui/customer-review-summary-list/index.js";import"../../models/ui/validator/index.js";import"../../models/ui/validator/rules/index.js";import"../../models/ui/validator/form/login.js";import"../../models/ui/validator/form/address.js";import"../../models/ui/validator/form/register.js";import"../../models/ui/validator/form/contact-form.js";import"../../models/ui/validator/form/forgot-password.js";import"../../models/ui/validator/form/recover-password.js";import"../../models/ui/validator/form/account-info.js";import"../../models/ui/validator/form/raffle-form.js";import"../../models/ui/validator/form/customer-review.js";import"../../models/ui/raffle-list/index.js";import"../../models/theme/settings/index.js";import"../../models/theme/custom-data/index.js";import"../../models/data/payment-gateway/index.js";import c from"./components/credit-card-form/model.js";import{IkasStorefrontConfig as l}from"../../storefront/index.js";import{IkasCheckoutSettings as u}from"../../models/data/checkout-settings/index.js";import{Analytics as h}from"../../analytics/analytics.js";import"../../analytics/head/index.js";import p from"../../models/data/checkout/index.js";import m from"../../store/customer/api.js";import v from"../../store/merchant/index.js";import f from"../../store/checkout/index.js";import{CheckStocksLineInput as g}from"../../__api/models/CheckStocksLineInput.js";import y from"../../store/cart/api.js";import{SaveCartInput as S}from"../../__api/models/SaveCartInput.js";import{PaymentMethodEnum as k,PaymentGatewayTypeEnum as b,TransactionStatusEnum as I}from"../../__api/types/index.js";import C from'../../ext/uuid/dist/esm-node/v4.js';var A,P,j=/^\d+$/,w="undefined"==typeof localStorage,R=function(){function j(j,R,E,O,T,D,L,G){var _=this;this.checkout=new p,this.checkoutSettings=new u,this.storefront=null,this.store=l.store,this.isCheckoutLoaded=!1,this.isErrorsVisible=!1,this.isStepLoading=!1,this.isTermsAndConditionsChecked=!1,this.isChangingShippingMethod=!1,this.isContactModalVisible=!1,this.step=A.INFO,this.cardData=null,this.paymentGateways=[],this.installmentInfo=null,this.useDifferentAddress=!1,this.shouldSaveAddress=!1,this.addressTitle="",this.shippingCountryIds=null,this.selectedShippingAddressId="-1",this.selectedBillingAddressId="-1",this.stockLocations=[],this.availableStockLocations=[],this.deliveryMethod="address",this.policyModalTitle="",this.policyModalText="",this.error=null,this.init=function(){return t(_,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,this.store.customerStore.waitUntilInitialized()];case 1:return t.sent(),this.createCustomer(),this.createShippingAddress(),this.createBillingAddress(),[4,this.getMerchantSettings()];case 2:return t.sent(),[4,this.initStep()];case 3:return t.sent(),[2]}}))}))},this.initStep=function(){return t(_,void 0,void 0,(function(){var t,i,s,n,r,o,a,d,c;return e(this,(function(e){switch(e.label){case 0:if(l.isEditor)return this.step=A.INFO,this.isCheckoutLoaded=!0,[2];if(t=new URLSearchParams(window.location.search),i=t.get("step"),s=t.get("failed"),n=t.get("error"),i){if(this.step=i,this.step===A.SHIPPING&&!this.canProceedToShipping)return[2,this.changeStep(A.INFO)];if(this.step!==A.PAYMENT||this.canProceedToPayment){if(![A.INFO,A.SUCCESS,A.SHIPPING,A.PAYMENT].includes(this.step))return[2,this.changeStep(A.INFO)]}else{if(!this.isInStoreDelivery)return[2,this.changeStep(A.INFO)];this.deliveryMethod="in-store"}}return s&&(this.error={type:P.PAYMENT_ERROR,data:n||null}),this.step!==A.INFO?[3,4]:[4,this.getShippingCountries()];case 1:return e.sent(),this.checkShippingCountries(),[4,this.getStockLocations()];case 2:return e.sent(),[4,this.getAvailableStockLocations()];case 3:e.sent(),this.isInStoreDelivery&&(this.deliveryMethod="in-store"),e.label=4;case 4:return this.step!==A.SHIPPING||1!==(null===(a=this.checkout.availableShippingMethods)||void 0===a?void 0:a.length)||this.checkoutSettings.isGiftPackageEnabled||(this.step=A.PAYMENT,this.router.replace("/checkout?id=".concat(this.checkout.id,"&step=").concat(this.step),void 0,{shallow:!0})),this.step!==A.SHIPPING||(null===(d=this.checkout.availableShippingMethods)||void 0===d?void 0:d.length)?this.step!==A.PAYMENT&&this.step!==A.SUCCESS?[3,8]:[4,this.listPaymentGateways()]:(this.error={type:P.NO_SHIPPING_ERROR},this.isCheckoutLoaded=!0,[2]);case 5:return e.sent(),this.isInStoreDelivery?(this.deliveryMethod="in-store",[4,this.getStockLocations()]):[3,7];case 6:e.sent(),e.label=7;case 7:if(!this.paymentGateways.length)return this.error={type:P.NO_SHIPPING_ERROR},this.isCheckoutLoaded=!0,[2];e.label=8;case 8:return this.step===A.SUCCESS?[3,12]:this.checkout.isComplete?[2,this.changeStep(A.SUCCESS)]:[3,9];case 9:return[4,this.initialStockCheck()];case 10:e.sent(),e.label=11;case 11:return[3,14];case 12:return[4,m.listOrderTransactions({orderId:{eq:this.checkout.id}})];case 13:r=e.sent(),this.successTransaction=r.isSuccess&&(null===(c=r.data)||void 0===c?void 0:c.length)?r.data[0]:void 0,this.successTransaction&&(o=this.successTransaction.paymentGatewayId,this.checkout.selectedPaymentGateway=this.paymentGateways.find((function(t){return t.id===o}))),e.label=14;case 14:return this.isCheckoutLoaded=!0,h.checkoutStep(this.checkout,this.step),[2]}}))}))},this.getMerchantSettings=function(){return t(_,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.merchantSettings?[3,2]:[4,v.listMerchantSettings({})];case 1:t=e.sent(),this.merchantSettings=t.data||void 0,e.label=2;case 2:return[2]}}))}))},this.saveCart=function(){return t(_,void 0,void 0,(function(){var t,i,s,n;return e(this,(function(e){switch(e.label){case 0:return(t=new S(this.checkout)).cartId=this.checkout.id,"in-store"!==this.deliveryMethod?[3,2]:[4,this.inStockDeliveryInputData(t)];case 1:t=e.sent(),e.label=2;case 2:return[4,y.saveCart({input:t})];case 3:if((null==(i=e.sent())?void 0:i.graphQLErrors)&&i.graphQLErrors.length)throw s=i.graphQLErrors[0],"CUSTOMER_LOGIN_REQUIRED"===(null===(n=s.extensions)||void 0===n?void 0:n.code)?{type:P.CUSTOMER_LOGIN_REQUIRED_ERROR}:{type:P.API_ERROR};return[2,i.data]}}))}))},this.inStockDeliveryInputData=function(i){return t(_,void 0,void 0,(function(){var t,s,n=this;return e(this,(function(e){return t=i,(s=this.stockLocations.find((function(t){return t.id===n.checkout.stockLocationId})))&&t.shippingAddress&&s.address&&(t.shippingAddress.country=s.address.country,t.shippingAddress.city=s.address.city,t.shippingAddress.state=s.address.state,t.shippingAddress.district=s.address.district,t.shippingAddress.postalCode=s.address.postalCode,t.shippingAddress.addressLine1=s.address.address||"",t.shippingAddress.addressLine2=null),t.billingAddress=null,[2,t]}))}))},this.checkStocks=function(){return t(_,void 0,void 0,(function(){var t,i,s,n,r,o,a,d,c,u,h,p;return e(this,(function(e){switch(e.label){case 0:return t=this.checkout.items.map((function(t){return{quantity:t.quantity,variantId:t.variant.id,productId:t.variant.productId}})),[4,f.checkStocks({lines:t.map((function(t){return new g(t)})),stockLocationIdList:l.stockLocationIds||[]})];case 1:if(!(i=e.sent()).isSuccess)throw{type:P.API_ERROR};if(null==(s=null===(h=null===(u=i.data)||void 0===u?void 0:u.lines)||void 0===h?void 0:h.filter((function(t){return!t.isAvailable})))?void 0:s.length){for(n=[],r=function(t){var e=null===(p=o.store.cartStore.cart)||void 0===p?void 0:p.items.find((function(e){return e.variant.id===t.variantId}));e&&n.push(e)},o=this,a=0,d=s;a<d.length;a++)c=d[a],r(c);throw{type:P.STOCK_ERROR,data:n}}return[2]}}))}))},this.removeUnavailableItems=function(i){return t(_,void 0,void 0,(function(){var t,s,n;return e(this,(function(e){switch(e.label){case 0:t=0,s=i,e.label=1;case 1:return t<s.length?(n=s[t],[4,this.store.cartStore.removeItem(n)]):[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}}))}))},this.getShippingCountries=function(){return t(_,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,f.getAvailableShippingCountries({salesChannelId:l.salesChannelId})];case 1:return t=e.sent(),this.shippingCountryIds=t.data,[2]}}))}))},this.getStockLocations=function(){return t(_,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return l.pickUpStockLocationIds?[4,f.listStockLocation({id:{in:l.pickUpStockLocationIds}})]:[3,2];case 1:if(!(t=e.sent()).isSuccess||!(null===(i=t.data)||void 0===i?void 0:i.length))return this.error={type:P.API_ERROR},[2];this.stockLocations=t.data,e.label=2;case 2:return[2]}}))}))},this.getAvailableStockLocations=function(){return t(_,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return l.pickUpStockLocationIds?(t=this.checkout.items.map((function(t){return{quantity:t.quantity,variantId:t.variant.id,productId:t.variant.productId}})),[4,f.getAvailableStockLocations({lines:t.map((function(t){return new g(t)})),stockLocationIdList:l.pickUpStockLocationIds})]):[3,2];case 1:if(!(i=e.sent()).isSuccess)return this.error={type:P.API_ERROR},[2];this.availableStockLocations=i.data||[],e.label=2;case 2:return[2]}}))}))},this.checkShippingCountries=function(){var t;(null===(t=_.shippingCountryIds)||void 0===t?void 0:t.length)||(_.error={type:P.NO_SHIPPING_ERROR})},this.onDeliveryMethodChange=function(t){"address"===t&&(_.checkout.stockLocationId=null),_.deliveryMethod=t,_.isErrorsVisible=!1},this.initialStockCheck=function(){return t(_,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.checkStocks()];case 1:return e.sent(),[3,3];case 2:return(t=e.sent()).type?this.error=t:(console.log(t),this.error={type:P.UNKNOWN}),[3,3];case 3:return[2]}}))}))},this.listPaymentGateways=function(){return t(_,void 0,void 0,(function(){var t,i,s,n,o,a,d,c,u=this;return e(this,(function(e){switch(e.label){case 0:return t="local"===process.env.NEXT_PUBLIC_ENV,i=l.paymentGateways.map((function(t){return t.id})),[4,f.listPaymentGateway({id:t?void 0:{in:i}})];case 1:return(s=e.sent()).isSuccess&&(null===(d=s.data)||void 0===d?void 0:d.length)?(n=s.data,this.step===A.PAYMENT&&(n=n.filter((function(t){return!t.supportedCurrencies.length||t.supportedCurrencies.includes(u.checkout.currencyCode)})),(o=null===(c=this.checkout.shippingAddress)||void 0===c?void 0:c.country)&&o.iso2&&(n=n.filter((function(t){return!t.availableCountries.length||t.availableCountries.includes(o.iso2||"")})))),a=[],r(l.paymentGateways,"order").forEach((function(t){var e=null==n?void 0:n.find((function(e){return e.id===t.id}));e&&a.push(e)})),this.paymentGateways=t?n:a,this.checkout.selectedPaymentGateway||this.setPaymentGateway(0),[2]):(this.error={type:P.API_ERROR},[2])}}))}))},this.retrieveInstallmentInfo=function(i){return t(_,void 0,void 0,(function(){var t,s,n;return e(this,(function(e){switch(e.label){case 0:return[4,f.retrieveInstallmentInfo(i)];case 1:return t=e.sent(),s=t.data,null===(n=null==s?void 0:s.installmentPrices)||void 0===n||n.sort((function(t,e){return(t.installmentCount||-1)>(e.installmentCount||-1)?1:-1})),this.installmentInfo=s,[2]}}))}))},this.createCustomer=function(){var t;_.store.customerStore.customer?(null===(t=_.store.customerStore.customer.addresses)||void 0===t||t.forEach((function(t){return t.checkoutSettings=_.checkoutSettings})),_.checkout.customer=new d(_.store.customerStore.customer)):_.checkout.customer||(_.checkout.customer=new d({}))},this.createShippingAddress=function(){var t;if(_.checkout.shippingAddress)_.selectedShippingAddressId=_.checkout.shippingAddress.id||"-1",_.checkout.shippingAddress.checkoutSettings=_.checkoutSettings;else{var e=null===(t=_.store.customerStore.customer)||void 0===t?void 0:t.addresses;_.onSelectedShippingAddressIdChange((null==e?void 0:e.length)?e[0].id:"-1")}},this.createBillingAddress=function(){"undefined"!=typeof localStorage&&(_.useDifferentAddress=!!localStorage.getItem("sAddr"),_.useDifferentAddress?(_.checkout.billingAddress&&(_.selectedBillingAddressId=_.checkout.billingAddress.id||"-1"),_.checkout.billingAddress=_.checkout.billingAddress||new a):_.checkout.billingAddress=new a(n(_.checkout.shippingAddress)||{}),_.checkout.billingAddress.checkoutSettings=_.checkoutSettings)},this.onShippingMethodChange=function(i){return t(_,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.isChangingShippingMethod?[2]:(this.isChangingShippingMethod=!0,this.checkout.shippingSettingsId=i.shippingSettingsId,this.checkout.shippingZoneRateId=i.shippingZoneRateId,[4,this.saveCart()]);case 1:return(t=e.sent())&&(this.checkout=new p(t)),this.isChangingShippingMethod=!1,[2]}}))}))},this.onStockLocationChange=function(i){return t(_,void 0,void 0,(function(){return e(this,(function(t){return this.checkout.stockLocationId=i.id,[2]}))}))},this.onCouponCodeApply=function(){return t(_,void 0,void 0,(function(){var t,s,n,r,o,a;return e(this,(function(e){switch(e.label){case 0:if(!this.checkout.couponCode)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,y.saveCartCouponCode({cartId:this.checkout.id,couponCode:this.checkout.couponCode})];case 2:return(t=e.sent()).isSuccess&&t.data&&(s=t.data,n=null===(a=null===(o=this.cardData)||void 0===o?void 0:o.cardNumber)||void 0===a?void 0:a.split(" ").join(""),this.step===A.PAYMENT&&(null==n?void 0:n.length)&&n.length>=6&&this.retrieveInstallmentInfo({input:{binNumber:n.slice(0,6),paymentGatewayId:this.checkout.selectedPaymentGateway.id,price:s.totalFinalPrice}}),s&&(r=this.checkout,this.checkout=new p(i(i({},s),{shippingAddress:r.shippingAddress,billingAddress:r.billingAddress,customer:r.customer,selectedPaymentGateway:r.selectedPaymentGateway})))),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}}))}))},this.onCouponCodeDelete=function(){return t(_,void 0,void 0,(function(){var t,s;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.saveCart()];case 1:return(t=e.sent())&&(s=this.checkout,this.checkout=new p(i(i({},t),{shippingAddress:s.shippingAddress,billingAddress:s.billingAddress,customer:s.customer,selectedPaymentGateway:s.selectedPaymentGateway}))),[3,3];case 2:return e.sent(),[3,3];case 3:return[2]}}))}))},this.onSelectedShippingAddressIdChange=function(t){var e,i;if(_.selectedShippingAddressId=t,"-1"===t)_.checkout.shippingAddress=new a;else{var s=null===(i=null===(e=_.store.customerStore.customer)||void 0===e?void 0:e.addresses)||void 0===i?void 0:i.find((function(e){return e.id===t}));s&&(_.checkout.shippingAddress=new a(s))}_.checkout.shippingAddress&&(_.checkout.shippingAddress.checkoutSettings=_.checkoutSettings)},this.onSelectedBillingAddressIdChange=function(t){var e,i;if(_.selectedBillingAddressId=t,"-1"===t)_.checkout.billingAddress=new a;else{var s=null===(i=null===(e=_.store.customerStore.customer)||void 0===e?void 0:e.addresses)||void 0===i?void 0:i.find((function(e){return e.id===t}));s&&(_.checkout.billingAddress=new a(s))}_.checkout.billingAddress&&(_.checkout.billingAddress.checkoutSettings=_.checkoutSettings)},this.onTermsAndConditionsCheckedChange=function(t){_.isTermsAndConditionsChecked=t},this.onCardNumberChange=function(t){if(_.cardData&&(!(t.length>_.cardData.cardNumber.length)||N(t))){var e=(_.cardData.cardNumber||"").split(" ").join(""),i=t.split(" ").join("");i.length>16||(e.length<6&&i.length>=6&&!_.installmentInfo?_.retrieveInstallmentInfo({input:{binNumber:i.slice(0,6),paymentGatewayId:_.checkout.selectedPaymentGateway.id,price:_.checkout.totalFinalPrice}}):i.length<6&&e.length>i.length&&(_.cardData.installmentCount=1,_.installmentInfo=void 0),_.cardData.cardNumber=x(i,4).join(" "))}},this.onCardHolderNameChange=function(t){_.cardData&&(_.cardData.cardHolderName=t)},this.onExpirationDateChange=function(t){var e;if(_.cardData&&(!(t.length>_.cardData.expirationDate.length)||N(t))){if(0===(null===(e=_.cardData.expirationDate)||void 0===e?void 0:e.length)){var i=t.split("/");if(2===i.length){var s=i[0].trim(),n=i[1].trim();if(4===s.length&&2===n.length){var r=parseInt(s.slice(2)),o=parseInt(n);if(!isNaN(r)&&!isNaN(o))return void(_.cardData.expirationDate="".concat(o<10?"0"+o:o," / ").concat(r<10?"0"+r:r))}if(2===s.length&&4===n.length){o=parseInt(s),r=parseInt(n.slice(2));if(!isNaN(r)&&!isNaN(o))return void(_.cardData.expirationDate="".concat(o<10?"0"+o:o," / ").concat(r<10?"0"+r:r))}}}var a=t.split(" / ").join("");a.length>4||(_.cardData.expirationDate=x(a,2).join(" / "))}},this.onCvcChange=function(t){_.cardData&&(t.length>_.cardData.cvv.length&&!N(t)||t.length>4||(_.cardData.cvv=t))},this.saveAddress=function(s){return t(_,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:return this.shouldSaveAddress?(t=new o(i(i({},"shipping"===s?this.checkout.shippingAddress:this.checkout.billingAddress),{title:this.addressTitle||this.t("checkout-page:newAddress"),id:C()})),(r=n(this.store.customerStore.customer)).addresses||(r.addresses=[]),r.addresses.push(t),[4,this.store.customerStore.saveCustomer(r)]):[3,2];case 1:e.sent(),"shipping"===s?(this.checkout.shippingAddress.id=t.id,this.selectedShippingAddressId=t.id||"-1"):(this.checkout.billingAddress.id=t.id,this.selectedBillingAddressId=t.id||"-1"),e.label=2;case 2:return[2]}}))}))},this.onGoToCartClick=function(){_.router.push("/cart")},this.onBackToShoppingClick=function(){_.router.push("/")},this.onProceedToShippingClick=function(){return t(_,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if("address"===this.deliveryMethod){if(!this.canProceedToShipping)return this.isErrorsVisible=!0,[2]}else if(!this.canProceedToInStoreDelivery)return this.isErrorsVisible=!0,[2];this.isErrorsVisible=!1,e.label=1;case 1:return e.trys.push([1,6,,7]),this.isStepLoading=!0,"address"!==this.deliveryMethod?[3,3]:[4,this.saveAddress("shipping")];case 2:e.sent(),e.label=3;case 3:return[4,this.checkStocks()];case 4:return e.sent(),[4,this.saveCart()];case 5:return e.sent(),"address"===this.deliveryMethod?this.changeStep(A.SHIPPING):this.changeStep(A.PAYMENT),[3,7];case 6:return(t=e.sent()).type?this.error=t:(console.log(t),this.error={type:P.UNKNOWN}),this.isStepLoading=!1,[3,7];case 7:return[2]}}))}))},this.onProceedToPaymentClick=function(){return t(_,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!this.canProceedToPayment)return this.isErrorsVisible=!0,[2];this.isErrorsVisible=!1,e.label=1;case 1:return e.trys.push([1,4,,5]),this.isStepLoading=!0,[4,this.checkStocks()];case 2:return e.sent(),[4,this.saveCart()];case 3:return e.sent(),this.error=void 0,this.changeStep(A.PAYMENT),[3,5];case 4:return(t=e.sent()).type?this.error=t:(console.log(t),this.error={type:P.UNKNOWN}),this.isStepLoading=!1,[3,5];case 5:return[2]}}))}))},this.onCompletePaymentClick=function(){return t(_,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!this.canPerformPayment)return this.isErrorsVisible=!0,[2];this.useDifferentAddress||(this.checkout.billingAddress=this.checkout.shippingAddress),e.label=1;case 1:return e.trys.push([1,7,,8]),this.isErrorsVisible=!1,this.isStepLoading=!0,[4,this.checkStocks()];case 2:return e.sent(),"address"!==this.deliveryMethod?[3,4]:[4,this.saveAddress("billing")];case 3:e.sent(),e.label=4;case 4:return[4,this.saveCart()];case 5:return e.sent(),[4,this.createSaleTransaction()];case 6:return e.sent(),[3,8];case 7:return(t=e.sent()).type?this.error=t:this.error={type:P.UNKNOWN},this.isStepLoading=!1,[3,8];case 8:return[2]}}))}))},this.createSaleTransaction=function(){return t(_,void 0,void 0,(function(){var t,i,s,n,r,o;return e(this,(function(e){switch(e.label){case 0:return this.checkout.selectedPaymentGateway?[4,f.createSaleTransactionWithCart({input:{cartId:this.checkout.id,paymentGatewayId:this.checkout.selectedPaymentGateway.id,paymentMethodDetail:this.checkout.selectedPaymentGateway.paymentMethodType===k.CREDIT_CARD&&this.checkout.selectedPaymentGateway.type===b.INTERNAL&&this.cardData?this.cardData.toInput():void 0}})]:[2];case 1:return t=e.sent(),i=null===(r=null==t?void 0:t.data)||void 0===r?void 0:r.transactionStatus,s=i&&[I.SUCCESS,I.AUTHORIZED].includes(i),n=i===I.PENDING,s?[4,this.onCheckoutTransactionSuccess()]:[3,3];case 2:return e.sent(),[3,4];case 3:if(!n||!(null===(o=null==t?void 0:t.data)||void 0===o?void 0:o.returnSlug))throw{type:P.UNKNOWN};window.location.href=process.env.NEXT_PUBLIC_BASE_URL+t.data.returnSlug,e.label=4;case 4:return[2]}}))}))},this.onCheckoutTransactionSuccess=function(){return t(_,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return localStorage.removeItem("sAddr"),(null===(t=this.checkout.customer)||void 0===t?void 0:t.notificationsAccepted)?[4,this.store.customerStore.createEmailSubscription((null===(i=this.checkout.customer)||void 0===i?void 0:i.email)||"")]:[3,2];case 1:e.sent(),e.label=2;case 2:return this.changeStep(A.SUCCESS),[2]}}))}))},this.onBackToInfoClick=function(){_.changeStep(A.INFO)},this.onBackToShippingClick=function(){_.changeStep(A.SHIPPING)},this.setCustomerConsentGranted=function(t){_.checkout.customer&&(_.checkout.customer.notificationsAccepted=t)},this.setUseDifferentAddress=function(t){_.useDifferentAddress=t,_.useDifferentAddress?(localStorage.setItem("sAddr","1"),_.checkout.billingAddress=_.checkout.billingAddress||new a):(localStorage.removeItem("sAddr"),_.checkout.billingAddress=_.checkout.shippingAddress)},this.setShouldSaveAddress=function(t){_.shouldSaveAddress=t},this.setAddressTitle=function(t){_.addressTitle=t},this.setPaymentGateway=function(t){if(_.paymentGateways.length){var e=_.paymentGateways[t];_.checkout.selectedPaymentGateway=e,_.step!==A.SUCCESS&&(e.paymentMethodType===k.CREDIT_CARD&&e.type===b.INTERNAL&&(_.cardData=new c),_.installmentInfo=void 0)}},this.setInstallmentCount=function(t){_.cardData&&(_.cardData.installmentCount=t)},this.changeStep=function(i){return t(_,void 0,void 0,(function(){return e(this,(function(t){return w||window.location.replace("".concat(window.location.pathname,"?id=").concat(this.checkout.id,"&step=").concat(i)),[2]}))}))},this.logout=function(){return t(_,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:this.checkout.customer=null,this.store.customerStore.logout(),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this.saveCart()];case 2:case 3:return t.sent(),[3,4];case 4:return this.createCustomer(),[2]}}))}))},this.setContactModalVisible=function(t){_.isContactModalVisible=t},this.checkout=j,this.checkoutSettings=R,this.router=O,this.returnPolicy=T,this.privacyPolicy=D,this.termsOfService=L,this.t=G,E&&(this.merchantSettings=E),this.isTermsAndConditionsChecked=this.checkoutSettings.isTermsAndConditionsDefaultChecked||!1,this.init(),s(this)}return Object.defineProperty(j.prototype,"selectedPaymentGatewayIndex",{get:function(){var t=this;return this.paymentGateways.findIndex((function(e){var i;return e.id===(null===(i=t.checkout.selectedPaymentGateway)||void 0===i?void 0:i.id)}))},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"selectedInstallmentIndex",{get:function(){var t,e,i=this;return(null===(e=null===(t=this.installmentInfo)||void 0===t?void 0:t.installmentPrices)||void 0===e?void 0:e.findIndex((function(t){var e;return t.installmentCount===(null===(e=i.cardData)||void 0===e?void 0:e.installmentCount)})))||0},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"checkoutUrl",{get:function(){return"/checkout?id=".concat(this.checkout.id,"&step=info")},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"customerAddressOptions",{get:function(){var t,e,i={label:this.t("checkout-page:newAddress"),value:"-1"},s=(null===(e=null===(t=this.store.customerStore.customer)||void 0===t?void 0:t.addresses)||void 0===e?void 0:e.map((function(t){return{label:t.title+" - "+t.addressText,value:t.id}})))||[];return[i].concat(s)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"installmentPrice",{get:function(){var t,e,i,s=this;if(this.installmentInfo&&(null===(t=this.cardData)||void 0===t?void 0:t.installmentCount))return null===(i=null===(e=this.installmentInfo.installmentPrices)||void 0===e?void 0:e.find((function(t){var e;return t.installmentCount===(null===(e=s.cardData)||void 0===e?void 0:e.installmentCount)})))||void 0===i?void 0:i.totalPrice},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"installmentExtraPrice",{get:function(){if(this.installmentPrice&&this.checkout.totalFinalPrice)return this.installmentPrice-this.checkout.totalFinalPrice},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"finalPrice",{get:function(){return this.step===A.SUCCESS?this.checkout.totalFinalPrice:this.installmentPrice||this.checkout.$totalFinalPrice},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"hasStockError",{get:function(){var t;return(null===(t=this.error)||void 0===t?void 0:t.type)===P.STOCK_ERROR},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"canProceedToShipping",{get:function(){var t,e;return(null===(t=this.checkout.shippingAddress)||void 0===t?void 0:t.isValid)&&this.checkout.hasValidCustomerEmail&&(null===(e=this.error)||void 0===e?void 0:e.type)!==P.NO_SHIPPING_ERROR},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"canProceedToInStoreDelivery",{get:function(){var t,e,i;return!!((null===(t=this.checkout.customer)||void 0===t?void 0:t.firstName)&&(null===(e=this.checkout.customer)||void 0===e?void 0:e.lastName)&&(null===(i=this.checkout.customer)||void 0===i?void 0:i.email)&&this.checkout.stockLocationId)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"canProceedToPayment",{get:function(){return this.canProceedToShipping},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"isInStoreDelivery",{get:function(){return!!this.checkout.stockLocationId},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"canPerformPayment",{get:function(){var t,e;if(this.checkoutSettings.showTermsAndConditionsCheckbox&&!this.isTermsAndConditionsChecked)return!1;var i=this.checkout.selectedPaymentGateway;return("in-store"===this.deliveryMethod||this.canProceedToShipping)&&("in-store"===this.deliveryMethod||!!(null===(t=this.checkout.billingAddress)||void 0===t?void 0:t.isValid))&&((null==i?void 0:i.paymentMethodType)===k.CREDIT_CARD&&i.type===b.INTERNAL?null===(e=this.cardData)||void 0===e?void 0:e.isValid:!!i)},enumerable:!1,configurable:!0}),j}();function x(t,e){return t.match(new RegExp(".{1,"+e+"}","g"))||[]}function N(t){return t&&j.test(t.charAt(t.length-1))}!function(t){t.INFO="info",t.SHIPPING="shipping",t.PAYMENT="payment",t.SUCCESS="success"}(A||(A={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.API_ERROR=1]="API_ERROR",t[t.STOCK_ERROR=2]="STOCK_ERROR",t[t.PAYMENT_ERROR=3]="PAYMENT_ERROR",t[t.NO_SHIPPING_ERROR=4]="NO_SHIPPING_ERROR",t[t.CUSTOMER_LOGIN_REQUIRED_ERROR=5]="CUSTOMER_LOGIN_REQUIRED_ERROR"}(P||(P={}));export{A as CheckoutStep,P as ErrorType,R as default};
1
+ import{__awaiter as t,__generator as e,__assign as i}from'../../ext/tslib/tslib.es6.js';import{makeAutoObservable as s}from"mobx";import n from'../../ext/lodash/cloneDeep.js';import r from'../../ext/lodash/sortBy.js';import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/index.js";import"../../models/data/city/index.js";import"../../models/data/country/index.js";import{IkasCustomerAddress as o}from"../../models/data/customer/address/index.js";import"../../models/data/customer/attribute-value/index.js";import"../../models/data/customer/index.js";import"../../models/data/customer-attribute/customer-attribute-option/index.js";import"../../models/data/customer-attribute/customer-attribute-sales-channel/index.js";import"../../models/data/customer-attribute/index.js";import"../../models/data/customer-review/index.js";import"../../models/data/customer-review-summary/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/merchant-settings/index.js";import{IkasOrderAddress as a}from"../../models/data/order/address/index.js";import"../../models/data/order/adjustment/index.js";import{IkasOrderCustomer as d}from"../../models/data/order/customer/index.js";import"../../models/data/order/gift-line/index.js";import"../../models/data/order/invoice/index.js";import"../../models/data/order/line-item/discount/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/option/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/tracking-info/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/payment-method/index.js";import"../../models/data/order/refund/line-item/index.js";import"../../models/data/order/shipping-line/index.js";import"../../models/data/order/tax-line/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/product/attribute-value/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/product-attribute/index.js";import"../../models/data/product-filter/index.js";import"../../models/data/product-campaign/campaign/index.js";import"../../models/data/product-campaign/filter/index.js";import"../../models/data/product-option-set/index.js";import"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/variant-type/variant-value/index.js";import"../../models/theme/theme.js";import"../../models/theme/page/index.js";import"../../models/theme/component/prop/index.js";import"../../models/theme/page/component/prop-value/link.js";import"../../models/ui/brand-list/index.js";import"../../models/ui/blog-list/index.js";import"../../models/ui/blog-category-list/index.js";import"../../models/ui/category-list/index.js";import"../../models/ui/product-detail/index.js";import"../../models/ui/product-list/index.js";import"../../models/ui/product-attribute-detail/index.js";import"../../models/ui/product-attribute-list/index.js";import"../../models/ui/customer-review-list/index.js";import"../../models/ui/customer-review-summary-list/index.js";import"../../models/ui/validator/index.js";import"../../models/ui/validator/rules/index.js";import"../../models/ui/validator/form/login.js";import"../../models/ui/validator/form/address.js";import"../../models/ui/validator/form/register.js";import"../../models/ui/validator/form/contact-form.js";import"../../models/ui/validator/form/forgot-password.js";import"../../models/ui/validator/form/recover-password.js";import"../../models/ui/validator/form/account-info.js";import"../../models/ui/validator/form/raffle-form.js";import"../../models/ui/validator/form/customer-review.js";import"../../models/ui/raffle-list/index.js";import"../../models/theme/settings/index.js";import"../../models/theme/custom-data/index.js";import"../../models/data/payment-gateway/index.js";import c from"./components/credit-card-form/model.js";import{IkasStorefrontConfig as u}from"../../storefront/index.js";import{IkasCheckoutSettings as l}from"../../models/data/checkout-settings/index.js";import{Analytics as h}from"../../analytics/analytics.js";import"../../analytics/head/index.js";import p from"../../models/data/checkout/index.js";import m from"../../store/customer/api.js";import v from"../../store/merchant/index.js";import f from"../../store/checkout/index.js";import{CheckStocksLineInput as g}from"../../__api/models/CheckStocksLineInput.js";import S from"../../store/cart/api.js";import{SaveCartInput as y}from"../../__api/models/SaveCartInput.js";import{PaymentMethodEnum as k,PaymentGatewayTypeEnum as b,TransactionStatusEnum as I}from"../../__api/types/index.js";import C from'../../ext/uuid/dist/esm-node/v4.js';var A,P,j=/^\d+$/,w="undefined"==typeof localStorage,R=function(){function j(j,R,E,O,T,D,L,_,G){var M=this;this.checkout=new p,this.checkoutSettings=new l,this.storefront=null,this.store=u.store,this.isCheckoutLoaded=!1,this.isErrorsVisible=!1,this.isStepLoading=!1,this.isTermsAndConditionsChecked=!1,this.isChangingShippingMethod=!1,this.isContactModalVisible=!1,this.step=A.INFO,this.customizationProps=null,this.cardData=null,this.paymentGateways=[],this.installmentInfo=null,this.useDifferentAddress=!1,this.shouldSaveAddress=!0,this.addressTitle="",this.shippingCountryIds=null,this.selectedShippingAddressId="-1",this.selectedBillingAddressId="-1",this.stockLocations=[],this.availableStockLocations=[],this.deliveryMethod="address",this.policyModalTitle="",this.policyModalText="",this.error=null,this.init=function(){return t(M,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,this.store.customerStore.waitUntilInitialized()];case 1:return t.sent(),this.createCustomer(),this.createShippingAddress(),this.createBillingAddress(),[4,this.getMerchantSettings()];case 2:return t.sent(),[4,this.initStep()];case 3:return t.sent(),[2]}}))}))},this.initStep=function(){return t(M,void 0,void 0,(function(){var t,i,s,n,r,o,a;return e(this,(function(e){switch(e.label){case 0:if(u.isEditor)return this.step=A.INFO,this.isCheckoutLoaded=!0,[2];if(t=new URLSearchParams(window.location.search),i=t.get("step"),s=t.get("failed"),n=t.get("error"),i){if(this.step=i,this.step===A.SHIPPING&&!this.canProceedToShipping)return[2,this.changeStep(A.INFO)];if(this.step!==A.PAYMENT||this.canProceedToPayment){if(![A.INFO,A.SUCCESS,A.SHIPPING,A.PAYMENT].includes(this.step))return[2,this.changeStep(A.INFO)]}else{if(!this.isInStoreDelivery)return[2,this.changeStep(A.INFO)];this.deliveryMethod="in-store"}}return s&&(this.error={type:P.PAYMENT_ERROR,data:n||null}),this.step!==A.INFO?[3,4]:[4,this.getShippingCountries()];case 1:return e.sent(),this.checkShippingCountries(),[4,this.getStockLocations()];case 2:return e.sent(),[4,this.getAvailableStockLocations()];case 3:e.sent(),this.isInStoreDelivery&&(this.deliveryMethod="in-store"),e.label=4;case 4:return this.step!==A.SHIPPING||1!==(null===(o=this.checkout.availableShippingMethods)||void 0===o?void 0:o.length)||this.checkoutSettings.isGiftPackageEnabled||(this.step=A.PAYMENT,this.router.replace("/checkout?id=".concat(this.checkout.id,"&step=").concat(this.step),void 0,{shallow:!0})),this.step!==A.SHIPPING||(null===(a=this.checkout.availableShippingMethods)||void 0===a?void 0:a.length)?this.step!==A.PAYMENT&&this.step!==A.SUCCESS?[3,8]:[4,this.listPaymentGateways()]:(this.error={type:P.NO_SHIPPING_ERROR},this.isCheckoutLoaded=!0,[2]);case 5:return e.sent(),this.isInStoreDelivery?(this.deliveryMethod="in-store",[4,this.getStockLocations()]):[3,7];case 6:e.sent(),e.label=7;case 7:if(!this.paymentGateways.length)return this.error={type:P.NO_SHIPPING_ERROR},this.isCheckoutLoaded=!0,[2];e.label=8;case 8:return this.step===A.SUCCESS?[3,12]:this.checkout.isComplete?[2,this.changeStep(A.SUCCESS)]:[3,9];case 9:return[4,this.initialStockCheck()];case 10:e.sent(),e.label=11;case 11:return[3,14];case 12:return[4,this.getSuccessTransaction()];case 13:e.sent(),this.successTransaction&&(r=this.successTransaction.paymentGatewayId,this.checkout.selectedPaymentGateway=this.paymentGateways.find((function(t){return t.id===r}))),e.label=14;case 14:return this.isCheckoutLoaded=!0,h.checkoutStep(this.checkout,this.step),[2]}}))}))},this.getMerchantSettings=function(){return t(M,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.merchantSettings?[3,2]:[4,v.listMerchantSettings({})];case 1:t=e.sent(),this.merchantSettings=t.data||void 0,e.label=2;case 2:return[2]}}))}))},this.getSuccessTransaction=function(){return t(M,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return[4,m.listOrderTransactions({orderId:{eq:this.checkout.id}})];case 1:return t=e.sent(),this.successTransaction=t.isSuccess&&(null===(i=t.data)||void 0===i?void 0:i.length)?t.data[0]:void 0,[2]}}))}))},this.saveCart=function(){return t(M,void 0,void 0,(function(){var t,i,s,n;return e(this,(function(e){switch(e.label){case 0:return(t=new y(this.checkout)).cartId=this.checkout.id,"in-store"!==this.deliveryMethod?[3,2]:[4,this.inStockDeliveryInputData(t)];case 1:t=e.sent(),e.label=2;case 2:return[4,S.saveCart({input:t})];case 3:if((null==(i=e.sent())?void 0:i.graphQLErrors)&&i.graphQLErrors.length)throw s=i.graphQLErrors[0],"CUSTOMER_LOGIN_REQUIRED"===(null===(n=s.extensions)||void 0===n?void 0:n.code)?{type:P.CUSTOMER_LOGIN_REQUIRED_ERROR}:{type:P.API_ERROR};return[2,i.data]}}))}))},this.inStockDeliveryInputData=function(i){return t(M,void 0,void 0,(function(){var t,s,n=this;return e(this,(function(e){return t=i,(s=this.stockLocations.find((function(t){return t.id===n.checkout.stockLocationId})))&&t.shippingAddress&&s.address&&(t.shippingAddress.country=s.address.country,t.shippingAddress.city=s.address.city,t.shippingAddress.state=s.address.state,t.shippingAddress.district=s.address.district,t.shippingAddress.postalCode=s.address.postalCode,t.shippingAddress.addressLine1=s.address.address||"",t.shippingAddress.addressLine2=null),t.billingAddress=null,[2,t]}))}))},this.checkStocks=function(){return t(M,void 0,void 0,(function(){var t,i,s,n,r,o,a,d,c,l,h,p;return e(this,(function(e){switch(e.label){case 0:return t=this.checkout.items.map((function(t){return{quantity:t.quantity,variantId:t.variant.id,productId:t.variant.productId}})),[4,f.checkStocks({lines:t.map((function(t){return new g(t)})),stockLocationIdList:u.stockLocationIds||[]})];case 1:if(!(i=e.sent()).isSuccess)throw{type:P.API_ERROR};if(null==(s=null===(h=null===(l=i.data)||void 0===l?void 0:l.lines)||void 0===h?void 0:h.filter((function(t){return!t.isAvailable})))?void 0:s.length){for(n=[],r=function(t){var e=null===(p=o.store.cartStore.cart)||void 0===p?void 0:p.items.find((function(e){return e.variant.id===t.variantId}));e&&n.push(e)},o=this,a=0,d=s;a<d.length;a++)c=d[a],r(c);throw{type:P.STOCK_ERROR,data:n}}return[2]}}))}))},this.removeUnavailableItems=function(i){return t(M,void 0,void 0,(function(){var t,s,n;return e(this,(function(e){switch(e.label){case 0:t=0,s=i,e.label=1;case 1:return t<s.length?(n=s[t],[4,this.store.cartStore.removeItem(n)]):[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}}))}))},this.getShippingCountries=function(){return t(M,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,f.getAvailableShippingCountries({salesChannelId:u.salesChannelId})];case 1:return t=e.sent(),this.shippingCountryIds=t.data,[2]}}))}))},this.getStockLocations=function(){return t(M,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return u.pickUpStockLocationIds?[4,f.listStockLocation({id:{in:u.pickUpStockLocationIds}})]:[3,2];case 1:if(!(t=e.sent()).isSuccess||!(null===(i=t.data)||void 0===i?void 0:i.length))return this.error={type:P.API_ERROR},[2];this.stockLocations=t.data,e.label=2;case 2:return[2]}}))}))},this.getAvailableStockLocations=function(){return t(M,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return u.pickUpStockLocationIds?(t=this.checkout.items.map((function(t){return{quantity:t.quantity,variantId:t.variant.id,productId:t.variant.productId}})),[4,f.getAvailableStockLocations({lines:t.map((function(t){return new g(t)})),stockLocationIdList:u.pickUpStockLocationIds})]):[3,2];case 1:if(!(i=e.sent()).isSuccess)return this.error={type:P.API_ERROR},[2];this.availableStockLocations=i.data||[],e.label=2;case 2:return[2]}}))}))},this.checkShippingCountries=function(){var t;(null===(t=M.shippingCountryIds)||void 0===t?void 0:t.length)||(M.error={type:P.NO_SHIPPING_ERROR})},this.onDeliveryMethodChange=function(t){"address"===t&&(M.checkout.stockLocationId=null),M.deliveryMethod=t,M.isErrorsVisible=!1},this.initialStockCheck=function(){return t(M,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.checkStocks()];case 1:return e.sent(),[3,3];case 2:return(t=e.sent()).type?this.error=t:(console.log(t),this.error={type:P.UNKNOWN}),[3,3];case 3:return[2]}}))}))},this.listPaymentGateways=function(){return t(M,void 0,void 0,(function(){var t,i,s,n,o,a,d,c,l=this;return e(this,(function(e){switch(e.label){case 0:return t="local"===process.env.NEXT_PUBLIC_ENV,i=u.paymentGateways.map((function(t){return t.id})),[4,f.listPaymentGateway({id:t?void 0:{in:i}})];case 1:return(s=e.sent()).isSuccess&&(null===(d=s.data)||void 0===d?void 0:d.length)?(n=s.data,this.step===A.PAYMENT&&(n=n.filter((function(t){return!t.supportedCurrencies.length||t.supportedCurrencies.includes(l.checkout.currencyCode)})),(o=null===(c=this.checkout.shippingAddress)||void 0===c?void 0:c.country)&&o.iso2&&(n=n.filter((function(t){return!t.availableCountries.length||t.availableCountries.includes(o.iso2||"")})))),a=[],r(u.paymentGateways,"order").forEach((function(t){var e=null==n?void 0:n.find((function(e){return e.id===t.id}));e&&a.push(e)})),this.paymentGateways=t?n:a,this.checkout.selectedPaymentGateway||this.setPaymentGateway(0),[2]):(this.error={type:P.API_ERROR},[2])}}))}))},this.retrieveInstallmentInfo=function(i){return t(M,void 0,void 0,(function(){var t,s,n;return e(this,(function(e){switch(e.label){case 0:return[4,f.retrieveInstallmentInfo(i)];case 1:return t=e.sent(),s=t.data,null===(n=null==s?void 0:s.installmentPrices)||void 0===n||n.sort((function(t,e){return(t.installmentCount||-1)>(e.installmentCount||-1)?1:-1})),this.installmentInfo=s,[2]}}))}))},this.createCustomer=function(){var t;M.store.customerStore.customer?(null===(t=M.store.customerStore.customer.addresses)||void 0===t||t.forEach((function(t){return t.checkoutSettings=M.checkoutSettings})),M.checkout.customer=new d(M.store.customerStore.customer)):M.checkout.customer||(M.checkout.customer=new d({}))},this.createShippingAddress=function(){var t;if(M.checkout.shippingAddress)M.selectedShippingAddressId=M.checkout.shippingAddress.id||"-1",M.checkout.shippingAddress.checkoutSettings=M.checkoutSettings;else{var e=null===(t=M.store.customerStore.customer)||void 0===t?void 0:t.addresses;M.onSelectedShippingAddressIdChange((null==e?void 0:e.length)?e[0].id:"-1")}},this.createBillingAddress=function(){"undefined"!=typeof localStorage&&(M.useDifferentAddress=!!localStorage.getItem("sAddr"),M.useDifferentAddress?(M.checkout.billingAddress&&(M.selectedBillingAddressId=M.checkout.billingAddress.id||"-1"),M.checkout.billingAddress=M.checkout.billingAddress||new a):M.checkout.billingAddress=new a(n(M.checkout.shippingAddress)||{}),M.checkout.billingAddress.checkoutSettings=M.checkoutSettings)},this.onShippingMethodChange=function(i){return t(M,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.isChangingShippingMethod?[2]:(this.isChangingShippingMethod=!0,this.checkout.shippingSettingsId=i.shippingSettingsId,this.checkout.shippingZoneRateId=i.shippingZoneRateId,[4,this.saveCart()]);case 1:return(t=e.sent())&&(this.checkout=new p(t)),this.isChangingShippingMethod=!1,[2]}}))}))},this.onStockLocationChange=function(i){return t(M,void 0,void 0,(function(){return e(this,(function(t){return this.checkout.stockLocationId=i.id,[2]}))}))},this.onCouponCodeApply=function(){return t(M,void 0,void 0,(function(){var t,s,n,r,o,a;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,S.saveCartCouponCode({cartId:this.checkout.id,couponCode:this.checkout.couponCode||null})];case 1:return(t=e.sent()).isSuccess&&t.data&&(s=t.data,n=null===(a=null===(o=this.cardData)||void 0===o?void 0:o.cardNumber)||void 0===a?void 0:a.split(" ").join(""),this.step===A.PAYMENT&&(null==n?void 0:n.length)&&n.length>=6&&this.retrieveInstallmentInfo({input:{binNumber:n.slice(0,6),paymentGatewayId:this.checkout.selectedPaymentGateway.id,price:s.totalFinalPrice}}),s&&(r=this.checkout,this.checkout=new p(i(i({},s),{shippingAddress:r.shippingAddress,billingAddress:r.billingAddress,customer:r.customer,selectedPaymentGateway:r.selectedPaymentGateway})))),[3,3];case 2:return e.sent(),[3,3];case 3:return[2]}}))}))},this.onSelectedShippingAddressIdChange=function(t){var e,i;if(M.selectedShippingAddressId=t,"-1"===t)M.checkout.shippingAddress=new a;else{var s=null===(i=null===(e=M.store.customerStore.customer)||void 0===e?void 0:e.addresses)||void 0===i?void 0:i.find((function(e){return e.id===t}));s&&(M.checkout.shippingAddress=new a(s))}M.checkout.shippingAddress&&(M.checkout.shippingAddress.checkoutSettings=M.checkoutSettings)},this.onSelectedBillingAddressIdChange=function(t){var e,i;if(M.selectedBillingAddressId=t,"-1"===t)M.checkout.billingAddress=new a;else{var s=null===(i=null===(e=M.store.customerStore.customer)||void 0===e?void 0:e.addresses)||void 0===i?void 0:i.find((function(e){return e.id===t}));s&&(M.checkout.billingAddress=new a(s))}M.checkout.billingAddress&&(M.checkout.billingAddress.checkoutSettings=M.checkoutSettings)},this.onTermsAndConditionsCheckedChange=function(t){M.isTermsAndConditionsChecked=t},this.onCardNumberChange=function(t){if(M.cardData&&(!(t.length>M.cardData.cardNumber.length)||N(t))){var e=(M.cardData.cardNumber||"").split(" ").join(""),i=t.split(" ").join("");i.length>16||(e.length<6&&i.length>=6&&!M.installmentInfo?M.retrieveInstallmentInfo({input:{binNumber:i.slice(0,6),paymentGatewayId:M.checkout.selectedPaymentGateway.id,price:M.checkout.totalFinalPrice}}):i.length<6&&e.length>i.length&&(M.cardData.installmentCount=1,M.installmentInfo=void 0),M.cardData.cardNumber=x(i,4).join(" "))}},this.onCardHolderNameChange=function(t){M.cardData&&(M.cardData.cardHolderName=t)},this.onExpirationDateChange=function(t){var e;if(M.cardData&&(!(t.length>M.cardData.expirationDate.length)||N(t))){if(0===(null===(e=M.cardData.expirationDate)||void 0===e?void 0:e.length)){var i=t.split("/");if(2===i.length){var s=i[0].trim(),n=i[1].trim();if(4===s.length&&2===n.length){var r=parseInt(s.slice(2)),o=parseInt(n);if(!isNaN(r)&&!isNaN(o))return void(M.cardData.expirationDate="".concat(o<10?"0"+o:o," / ").concat(r<10?"0"+r:r))}if(2===s.length&&4===n.length){o=parseInt(s),r=parseInt(n.slice(2));if(!isNaN(r)&&!isNaN(o))return void(M.cardData.expirationDate="".concat(o<10?"0"+o:o," / ").concat(r<10?"0"+r:r))}}}var a=t.split(" / ").join("");a.length>4||(M.cardData.expirationDate=x(a,2).join(" / "))}},this.onCvcChange=function(t){M.cardData&&(t.length>M.cardData.cvv.length&&!N(t)||t.length>4||(M.cardData.cvv=t))},this.saveAddress=function(s){return t(M,void 0,void 0,(function(){var t,r,a,d,c;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),this.shouldSaveAddress&&this.store.customerStore.customer?(t="shipping"===s?this.checkout.shippingAddress:this.checkout.billingAddress,(null===(c=this.store.customerStore.customer.addresses)||void 0===c?void 0:c.find((function(e){return e.id===(null==t?void 0:t.id)})))?[2]:(r=new o(i(i({},t),{title:this.addressTitle||this.t("checkout-page:newAddress"),id:C()})),(a=n(this.store.customerStore.customer)).addresses||(a.addresses=[]),a.addresses.push(r),[4,this.store.customerStore.saveCustomer(a)])):[3,2];case 1:e.sent(),"shipping"===s?(this.checkout.shippingAddress.id=r.id,this.selectedShippingAddressId=r.id||"-1"):(this.checkout.billingAddress.id=r.id,this.selectedBillingAddressId=r.id||"-1"),e.label=2;case 2:return[3,4];case 3:return d=e.sent(),console.error(d),[3,4];case 4:return[2]}}))}))},this.onGoToCartClick=function(){M.router.push("/cart")},this.onBackToShoppingClick=function(){M.router.push("/")},this.onProceedToShippingClick=function(){return t(M,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if("address"===this.deliveryMethod){if(!this.canProceedToShipping)return this.isErrorsVisible=!0,[2]}else if(!this.canProceedToInStoreDelivery)return this.isErrorsVisible=!0,[2];this.isErrorsVisible=!1,e.label=1;case 1:return e.trys.push([1,6,,7]),this.isStepLoading=!0,"address"!==this.deliveryMethod?[3,3]:[4,this.saveAddress("shipping")];case 2:e.sent(),e.label=3;case 3:return[4,this.checkStocks()];case 4:return e.sent(),[4,this.saveCart()];case 5:return e.sent(),"address"===this.deliveryMethod?this.changeStep(A.SHIPPING):this.changeStep(A.PAYMENT),[3,7];case 6:return(t=e.sent()).type?this.error=t:(console.log(t),this.error={type:P.UNKNOWN}),this.isStepLoading=!1,[3,7];case 7:return[2]}}))}))},this.onProceedToPaymentClick=function(){return t(M,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!this.canProceedToPayment)return this.isErrorsVisible=!0,[2];this.isErrorsVisible=!1,e.label=1;case 1:return e.trys.push([1,4,,5]),this.isStepLoading=!0,[4,this.checkStocks()];case 2:return e.sent(),[4,this.saveCart()];case 3:return e.sent(),this.error=void 0,this.changeStep(A.PAYMENT),[3,5];case 4:return(t=e.sent()).type?this.error=t:(console.log(t),this.error={type:P.UNKNOWN}),this.isStepLoading=!1,[3,5];case 5:return[2]}}))}))},this.onCompletePaymentClick=function(){return t(M,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!this.canPerformPayment)return this.isErrorsVisible=!0,[2];this.useDifferentAddress||(this.checkout.billingAddress=this.checkout.shippingAddress),e.label=1;case 1:return e.trys.push([1,7,,8]),this.isErrorsVisible=!1,this.isStepLoading=!0,[4,this.checkStocks()];case 2:return e.sent(),"address"!==this.deliveryMethod?[3,4]:[4,this.saveAddress("billing")];case 3:e.sent(),e.label=4;case 4:return[4,this.saveCart()];case 5:return e.sent(),[4,this.createSaleTransaction()];case 6:return e.sent(),[3,8];case 7:return(t=e.sent()).type?this.error=t:this.error={type:P.UNKNOWN},this.isStepLoading=!1,[3,8];case 8:return[2]}}))}))},this.createSaleTransaction=function(){return t(M,void 0,void 0,(function(){var t,i,s,n,r,o;return e(this,(function(e){switch(e.label){case 0:return this.checkout.selectedPaymentGateway?[4,f.createSaleTransactionWithCart({input:{cartId:this.checkout.id,paymentGatewayId:this.checkout.selectedPaymentGateway.id,paymentMethodDetail:this.checkout.selectedPaymentGateway.paymentMethodType===k.CREDIT_CARD&&this.checkout.selectedPaymentGateway.type===b.INTERNAL&&this.cardData?this.cardData.toInput():void 0}})]:[2];case 1:return t=e.sent(),i=null===(r=null==t?void 0:t.data)||void 0===r?void 0:r.transactionStatus,s=i&&[I.SUCCESS,I.AUTHORIZED].includes(i),n=i===I.PENDING,s?[4,this.getSuccessTransaction()]:[3,4];case 2:return e.sent(),[4,this.onCheckoutTransactionSuccess()];case 3:return e.sent(),[3,5];case 4:if(!n||!(null===(o=null==t?void 0:t.data)||void 0===o?void 0:o.returnSlug))throw{type:P.UNKNOWN};window.location.href=process.env.NEXT_PUBLIC_BASE_URL+t.data.returnSlug,e.label=5;case 5:return[2]}}))}))},this.onCheckoutTransactionSuccess=function(){return t(M,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return localStorage.removeItem("sAddr"),(null===(t=this.checkout.customer)||void 0===t?void 0:t.notificationsAccepted)?[4,this.store.customerStore.createEmailSubscription((null===(i=this.checkout.customer)||void 0===i?void 0:i.email)||"")]:[3,2];case 1:e.sent(),e.label=2;case 2:return this.changeStep(A.SUCCESS),[2]}}))}))},this.onBackToInfoClick=function(){M.changeStep(A.INFO)},this.onBackToShippingClick=function(){M.changeStep(A.SHIPPING)},this.setCustomerConsentGranted=function(t){M.checkout.customer&&(M.checkout.customer.notificationsAccepted=t)},this.setUseDifferentAddress=function(t){M.useDifferentAddress=t,M.useDifferentAddress?(localStorage.setItem("sAddr","1"),M.checkout.billingAddress=M.checkout.billingAddress||new a):(localStorage.removeItem("sAddr"),M.checkout.billingAddress=M.checkout.shippingAddress)},this.setShouldSaveAddress=function(t){M.shouldSaveAddress=t},this.setAddressTitle=function(t){M.addressTitle=t},this.setPaymentGateway=function(t){if(M.paymentGateways.length){var e=M.paymentGateways[t];M.checkout.selectedPaymentGateway=e,M.step!==A.SUCCESS&&(e.paymentMethodType===k.CREDIT_CARD&&e.type===b.INTERNAL&&(M.cardData=new c),M.installmentInfo=void 0)}},this.setInstallmentCount=function(t){M.cardData&&(M.cardData.installmentCount=t)},this.changeStep=function(i){return t(M,void 0,void 0,(function(){return e(this,(function(t){return w||window.location.replace("".concat(window.location.pathname,"?id=").concat(this.checkout.id,"&step=").concat(i)),[2]}))}))},this.logout=function(){return t(M,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:this.checkout.customer=null,this.store.customerStore.logout(),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this.saveCart()];case 2:case 3:return t.sent(),[3,4];case 4:return this.createCustomer(),[2]}}))}))},this.setContactModalVisible=function(t){M.isContactModalVisible=t},this.checkout=j,this.checkoutSettings=R,this.router=O,this.returnPolicy=T,this.privacyPolicy=D,this.termsOfService=L,this.t=_,this.customizationProps=G,E&&(this.merchantSettings=E),this.isTermsAndConditionsChecked=this.checkoutSettings.isTermsAndConditionsDefaultChecked||!1,this.init(),s(this)}return Object.defineProperty(j.prototype,"selectedPaymentGatewayIndex",{get:function(){var t=this;return this.paymentGateways.findIndex((function(e){var i;return e.id===(null===(i=t.checkout.selectedPaymentGateway)||void 0===i?void 0:i.id)}))},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"selectedInstallmentIndex",{get:function(){var t,e,i=this;return(null===(e=null===(t=this.installmentInfo)||void 0===t?void 0:t.installmentPrices)||void 0===e?void 0:e.findIndex((function(t){var e;return t.installmentCount===(null===(e=i.cardData)||void 0===e?void 0:e.installmentCount)})))||0},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"checkoutUrl",{get:function(){return"/checkout?id=".concat(this.checkout.id,"&step=info")},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"customerAddressOptions",{get:function(){var t,e,i={label:this.t("checkout-page:newAddress"),value:"-1"},s=(null===(e=null===(t=this.store.customerStore.customer)||void 0===t?void 0:t.addresses)||void 0===e?void 0:e.map((function(t){return{label:t.title+" - "+t.addressText,value:t.id}})))||[];return[i].concat(s)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"installmentPrice",{get:function(){var t,e,i,s=this;if(this.installmentInfo&&(null===(t=this.cardData)||void 0===t?void 0:t.installmentCount))return null===(i=null===(e=this.installmentInfo.installmentPrices)||void 0===e?void 0:e.find((function(t){var e;return t.installmentCount===(null===(e=s.cardData)||void 0===e?void 0:e.installmentCount)})))||void 0===i?void 0:i.totalPrice},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"installmentExtraPrice",{get:function(){if(this.installmentPrice&&this.checkout.totalFinalPrice)return this.installmentPrice-this.checkout.totalFinalPrice},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"finalPrice",{get:function(){return this.step===A.SUCCESS?this.checkout.totalFinalPrice:this.installmentPrice||this.checkout.$totalFinalPrice},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"hasStockError",{get:function(){var t;return(null===(t=this.error)||void 0===t?void 0:t.type)===P.STOCK_ERROR},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"canProceedToShipping",{get:function(){var t,e;return(null===(t=this.checkout.shippingAddress)||void 0===t?void 0:t.isValid)&&this.checkout.hasValidCustomerEmail&&(null===(e=this.error)||void 0===e?void 0:e.type)!==P.NO_SHIPPING_ERROR},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"canProceedToInStoreDelivery",{get:function(){var t,e,i;return!!((null===(t=this.checkout.customer)||void 0===t?void 0:t.firstName)&&(null===(e=this.checkout.customer)||void 0===e?void 0:e.lastName)&&(null===(i=this.checkout.customer)||void 0===i?void 0:i.email)&&this.checkout.stockLocationId)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"canProceedToPayment",{get:function(){return this.canProceedToShipping},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"isInStoreDelivery",{get:function(){return!!this.checkout.stockLocationId},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"canPerformPayment",{get:function(){var t,e;if(this.checkoutSettings.showTermsAndConditionsCheckbox&&!this.isTermsAndConditionsChecked)return!1;var i=this.checkout.selectedPaymentGateway;return("in-store"===this.deliveryMethod||this.canProceedToShipping)&&("in-store"===this.deliveryMethod||!!(null===(t=this.checkout.billingAddress)||void 0===t?void 0:t.isValid))&&((null==i?void 0:i.paymentMethodType)===k.CREDIT_CARD&&i.type===b.INTERNAL?null===(e=this.cardData)||void 0===e?void 0:e.isValid:!!i)},enumerable:!1,configurable:!0}),j}();function x(t,e){return t.match(new RegExp(".{1,"+e+"}","g"))||[]}function N(t){return t&&j.test(t.charAt(t.length-1))}!function(t){t.INFO="info",t.SHIPPING="shipping",t.PAYMENT="payment",t.SUCCESS="success"}(A||(A={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.API_ERROR=1]="API_ERROR",t[t.STOCK_ERROR=2]="STOCK_ERROR",t[t.PAYMENT_ERROR=3]="PAYMENT_ERROR",t[t.NO_SHIPPING_ERROR=4]="NO_SHIPPING_ERROR",t[t.CUSTOMER_LOGIN_REQUIRED_ERROR=5]="CUSTOMER_LOGIN_REQUIRED_ERROR"}(P||(P={}));export{A as CheckoutStep,P as ErrorType,R as default};
@@ -1 +1 @@
1
- import*as e from"react";import{observer as t}from"mobx-react-lite";import{Button as o}from"../../components/button/index.js";import{CART_LS_KEY as a}from"../../../../store/cart/index.js";import i from"./style.module.scss.js";import{Analytics as s}from"../../../../analytics/analytics.js";import"../../../../analytics/head/index.js";import r from"../../components/svg/success-circle.js";import d from"../../components/expandable-section/index.js";import n from"../../components/credit-card-form/svg/amex.js";import m from"../../components/credit-card-form/svg/master-card.js";import l from"../../components/credit-card-form/svg/troy.js";import c from"../../components/credit-card-form/svg/visa.js";import"../../../../storefront/index.js";import'../../../../ext/lodash/isArguments.js';import'../../../../ext/lodash/isBuffer.js';import'../../../../ext/lodash/isTypedArray.js';import'../../../../ext/lodash/_baseGetTag.js';import{formatMoney as u}from"../../../../utils/currency.js";import{useTranslation as p}from"../../../../utils/i18n.js";import"../../../../models/data/blog/index.js";import"../../../../models/data/brand/index.js";import"../../../../models/data/cart/campaign-offer/index.js";import"../../../../models/data/cart/index.js";import"../../../../models/data/category/index.js";import"../../../../models/data/city/index.js";import"mobx";import"../../../../models/data/country/index.js";import"../../../../models/data/customer/address/index.js";import"../../../../models/data/customer/attribute-value/index.js";import"../../../../models/data/customer/index.js";import"../../../../models/data/customer-attribute/customer-attribute-option/index.js";import"../../../../models/data/customer-attribute/customer-attribute-sales-channel/index.js";import"../../../../models/data/customer-attribute/index.js";import"../../../../models/data/customer-review/index.js";import"../../../../models/data/customer-review-summary/index.js";import"../../../../models/data/district/index.js";import"../../../../models/data/favorite-product/index.js";import"../../../../models/data/html-meta-data/index.js";import"../../../../models/data/image/index.js";import"../../../../models/data/merchant-settings/index.js";import"../../../../models/data/order/address/index.js";import"../../../../models/data/order/adjustment/index.js";import"../../../../models/data/order/gift-line/index.js";import"../../../../models/data/order/invoice/index.js";import"../../../../models/data/order/line-item/discount/index.js";import"../../../../models/data/order/line-item/option/value/index.js";import"../../../../models/data/order/line-item/option/index.js";import"../../../../models/data/order/line-item/variant/index.js";import"../../../../models/data/order/line-item/index.js";import"../../../../models/data/order/package/tracking-info/index.js";import"../../../../models/data/order/package/index.js";import"../../../../models/data/order/payment-method/index.js";import"../../../../models/data/order/refund/line-item/index.js";import"../../../../models/data/order/shipping-line/index.js";import"../../../../models/data/order/tax-line/index.js";import"../../../../models/data/order/transaction/index.js";import"../../../../models/data/order/index.js";import"../../../../models/data/product/attribute-value/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/product-attribute/index.js";import"../../../../models/data/product-filter/index.js";import"../../../../models/data/product-campaign/campaign/index.js";import"../../../../models/data/product-campaign/filter/index.js";import"../../../../models/data/product-option-set/index.js";import"../../../../models/data/raffle/index.js";import"../../../../models/data/state/index.js";import"../../../../models/data/variant-type/variant-value/index.js";import"../../../../models/theme/theme.js";import"../../../../models/theme/page/index.js";import"../../../../models/theme/component/prop/index.js";import"../../../../models/theme/page/component/prop-value/link.js";import"../../../../models/ui/brand-list/index.js";import"../../../../models/ui/blog-list/index.js";import"../../../../models/ui/blog-category-list/index.js";import"../../../../models/ui/category-list/index.js";import"../../../../models/ui/product-detail/index.js";import"../../../../models/ui/product-list/index.js";import"../../../../models/ui/product-attribute-detail/index.js";import"../../../../models/ui/product-attribute-list/index.js";import"../../../../models/ui/customer-review-list/index.js";import"../../../../models/ui/customer-review-summary-list/index.js";import"../../../../models/ui/validator/index.js";import"../../../../models/ui/validator/rules/index.js";import"../../../../models/ui/validator/form/login.js";import"../../../../models/ui/validator/form/address.js";import"../../../../models/ui/validator/form/register.js";import"../../../../models/ui/validator/form/contact-form.js";import"../../../../models/ui/validator/form/forgot-password.js";import"../../../../models/ui/validator/form/recover-password.js";import"../../../../models/ui/validator/form/account-info.js";import"../../../../models/ui/validator/form/raffle-form.js";import"../../../../models/ui/validator/form/customer-review.js";import"../../../../models/ui/raffle-list/index.js";import"../../../../models/theme/settings/index.js";import"../../../../models/theme/custom-data/index.js";import"../../../../models/data/payment-gateway/index.js";import{PaymentMethodEnum as v,PaymentGatewayTypeEnum as E,OrderPackageStatusEnum as x,TransactionCardAssociationEnum as j}from"../../../../__api/types/index.js";var f=t((function(t){var x,f,h,k,T=t.vm,y=p().t;e.useEffect((function(){if("undefined"!=typeof localStorage){var e=localStorage.getItem(a);e&&e===T.checkout.id&&localStorage.removeItem(a)}T.successTransaction&&s.purchase(T.checkout,T.successTransaction)}),[]);var N=((null===(x=T.checkout.customer)||void 0===x?void 0:x.firstName)||"")+" "+((null===(f=T.checkout.customer)||void 0===f?void 0:f.lastName)||""),I=T.paymentGateways.find((function(e){var t;return e.id===(null===(t=T.successTransaction)||void 0===t?void 0:t.paymentGatewayId)})),L=null===(h=T.successTransaction)||void 0===h?void 0:h.paymentMethodDetail,A=e.useMemo((function(){var t,o,a,s;return e.createElement("div",{className:[i.InfoGrid].join(" ")},e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},y("checkout-page:paymentMethod")),I&&e.createElement(e.Fragment,null,!!I.logoUrl&&e.createElement("div",{className:i.PaymentLogoContainer},e.createElement("img",{src:I.logoUrl})),!I.logoUrl&&e.createElement("div",{className:i.InfoText},I.paymentMethodType===v.CREDIT_CARD&&I.type===E.INTERNAL?y("checkout-page:creditCard"):I.name),!!I.description&&I.type!==E.EXTERNAL&&e.createElement("div",{className:i.InfoText},e.createElement("div",{dangerouslySetInnerHTML:{__html:I.description}}))),"CREDIT_CARD"===(null===(t=T.successTransaction)||void 0===t?void 0:t.paymentMethod)&&e.createElement(e.Fragment,null,e.createElement("div",{className:i.InfoText},e.createElement("div",{className:i.CardLogoContainer},function(){var t,o;switch(null===(o=null===(t=T.successTransaction)||void 0===t?void 0:t.paymentMethodDetail)||void 0===o?void 0:o.cardAssociation){case j.AMERICAN_EXPRESS:return e.createElement(n,null);case j.MASTER_CARD:return e.createElement(m,null);case j.TROY:return e.createElement(l,null);case j.VISA:return e.createElement(c,null);default:return e.createElement("div",null)}}()),e.createElement("span",null,"**** ".concat((null==L?void 0:L.lastFourDigits)||""))),(null===(o=null==L?void 0:L.installment)||void 0===o?void 0:o.installmentCount)&&L.installment.installmentCount>1&&e.createElement(e.Fragment,null,e.createElement("div",{className:i.InfoText},"".concat(L.installment.installmentCount," ").concat(y("checkout-page:installments"))),null!==L.installment.installmentPrice&&e.createElement("div",{className:i.InfoText},"".concat(L.installment.installmentCount," x ").concat(u(L.installment.installmentPrice,T.checkout.currencyCode)))))),"address"===T.deliveryMethod&&e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},y("checkout-page:billingAddress")),!!(null===(a=T.checkout.billingAddress)||void 0===a?void 0:a.company)&&e.createElement("div",{className:[i.InfoText,i.InfoTextBold].join(" ")},T.checkout.billingAddress.company),e.createElement("div",{className:i.InfoText},null===(s=T.checkout.billingAddress)||void 0===s?void 0:s.addressText)))}),[]),D=e.useMemo((function(){var t,o,a,s,r;return e.createElement("div",{className:[i.InfoGrid].join(" ")},e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},y("checkout-page:contactInfo")),e.createElement("div",{className:i.InfoText},null===(t=T.checkout.customer)||void 0===t?void 0:t.email),e.createElement("div",{className:i.InfoText},N),!!(null===(o=T.checkout.shippingAddress)||void 0===o?void 0:o.phone)&&e.createElement("div",{className:i.InfoText},null===(a=T.checkout.shippingAddress)||void 0===a?void 0:a.phone)),e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},"address"===T.deliveryMethod?y("checkout-page:shippingAddress"):y("checkout-page:pickUpLocation")),!!(null===(s=T.checkout.shippingAddress)||void 0===s?void 0:s.company)&&e.createElement("div",{className:[i.InfoText,i.InfoTextBold].join(" ")},T.checkout.shippingAddress.company),e.createElement("div",{className:i.InfoText},null===(r=T.checkout.shippingAddress)||void 0===r?void 0:r.addressText)))}),[]);return e.createElement("div",{className:i.StepSuccess},e.createElement("div",{className:i.SuccessTitleContainer},e.createElement(r,null),e.createElement("span",{className:i.SuccessTitle},y("checkout-page:orderSuccessTitle"))),e.createElement("div",{className:i.SuccessSubTitle},y("address"===T.deliveryMethod?"checkout-page:orderSuccessDescription":"checkout-page:orderSuccessInStoreDeliveryDescription",{customerName:N})),e.createElement("div",{className:[i.InfoGrid,i.WithBorder].join(" ")},e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},y("checkout-page:orderNoAndDate")),e.createElement("div",{className:[i.InfoText,i.InfoTextBold].join(" ")},"#"+(T.checkout.orderNumber||"")),e.createElement("div",{className:i.InfoText},T.checkout.dateStr),e.createElement(g,{vm:T})),e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},y("checkout-page:contactInfo")),e.createElement("div",{className:i.InfoText},null===(k=T.checkout.customer)||void 0===k?void 0:k.email),e.createElement("div",{className:i.InfoText},N))),e.createElement(d,{title:y("checkout-page:paymentSummary")},A),e.createElement(d,{title:y("checkout-page:shippingSummary")},D),e.createElement("div",{className:i.Actions},e.createElement("div",{className:i.HelpText},e.createElement("span",null,y("checkout-page:helpCtaQuestion")),e.createElement("span",{className:i.Cta,onClick:function(){return T.setContactModalVisible(!0)}},y("checkout-page:helpCta"))),e.createElement(o,{text:y("checkout-page:actions.backToShopping"),onClick:T.onBackToShoppingClick,style:{flex:"0 0 auto"}})))})),g=t((function(t){var o,a=t.vm,s=p().t,r=i.Yellow;switch(a.checkout.orderPackageStatus){case x.FULFILLED:case x.PARTIALLY_FULFILLED:case x.DELIVERED:case x.PARTIALLY_DELIVERED:r=i.Green;break;case x.CANCELLED:case x.PARTIALLY_CANCELLED:case x.CANCEL_REJECTED:case x.CANCEL_REQUESTED:r=i.Red}return e.createElement("div",{className:[i.OrderStatus,r].join(" ")},a.checkout.orderPackageStatus?null===(o=[{types:[x.UNFULFILLED],text:s("checkout-page:orderPackageStatus.unfulfilled")},{types:[x.READY_FOR_SHIPMENT],text:s("checkout-page:orderPackageStatus.readyForShipment")},{types:[x.PARTIALLY_FULFILLED],text:s("checkout-page:orderPackageStatus.partiallyFulfilled")},{types:[x.FULFILLED],text:s("checkout-page:orderPackageStatus.fulfilled")},{types:[x.DELIVERED,x.PARTIALLY_DELIVERED],text:s("checkout-page:orderPackageStatus.delivered")},{types:[x.UNABLE_TO_DELIVER],text:s("checkout-page:orderPackageStatus.unableToDeliver")},{types:[x.CANCELLED,x.PARTIALLY_CANCELLED],text:s("checkout-page:orderPackageStatus.cancelled")},{types:[x.CANCEL_REJECTED],text:s("checkout-page:orderPackageStatus.cancelRejected")},{types:[x.REFUNDED,x.PARTIALLY_REFUNDED],text:s("checkout-page:orderPackageStatus.refunded")},{types:[x.REFUND_REQUEST_ACCEPTED],text:s("checkout-page:orderPackageStatus.refundRequestAccepted")},{types:[x.REFUND_REJECTED],text:s("checkout-page:orderPackageStatus.refundRejected")},{types:[x.REFUND_REQUESTED],text:s("checkout-page:orderPackageStatus.refundRequested")}].find((function(e){return e.types.includes(a.checkout.orderPackageStatus)})))||void 0===o?void 0:o.text:"")}));export{f as StepSuccess};
1
+ import*as e from"react";import{observer as t}from"mobx-react-lite";import{Button as o}from"../../components/button/index.js";import{CART_LS_KEY as a}from"../../../../store/cart/index.js";import i from"./style.module.scss.js";import r from"../../components/svg/success-circle.js";import s from"../../components/expandable-section/index.js";import d from"../../components/credit-card-form/svg/amex.js";import n from"../../components/credit-card-form/svg/master-card.js";import m from"../../components/credit-card-form/svg/troy.js";import l from"../../components/credit-card-form/svg/visa.js";import"../../../../storefront/index.js";import'../../../../ext/lodash/isArguments.js';import'../../../../ext/lodash/isBuffer.js';import'../../../../ext/lodash/isTypedArray.js';import'../../../../ext/lodash/_baseGetTag.js';import{formatMoney as c}from"../../../../utils/currency.js";import{useTranslation as u}from"../../../../utils/i18n.js";import"../../../../models/data/blog/index.js";import"../../../../models/data/brand/index.js";import"../../../../models/data/cart/campaign-offer/index.js";import"../../../../models/data/cart/index.js";import"../../../../models/data/category/index.js";import"../../../../models/data/city/index.js";import"mobx";import"../../../../models/data/country/index.js";import"../../../../models/data/customer/address/index.js";import"../../../../models/data/customer/attribute-value/index.js";import"../../../../models/data/customer/index.js";import"../../../../models/data/customer-attribute/customer-attribute-option/index.js";import"../../../../models/data/customer-attribute/customer-attribute-sales-channel/index.js";import"../../../../models/data/customer-attribute/index.js";import"../../../../models/data/customer-review/index.js";import"../../../../models/data/customer-review-summary/index.js";import"../../../../models/data/district/index.js";import"../../../../models/data/favorite-product/index.js";import"../../../../models/data/html-meta-data/index.js";import"../../../../models/data/image/index.js";import"../../../../models/data/merchant-settings/index.js";import"../../../../models/data/order/address/index.js";import"../../../../models/data/order/adjustment/index.js";import"../../../../models/data/order/gift-line/index.js";import"../../../../models/data/order/invoice/index.js";import"../../../../models/data/order/line-item/discount/index.js";import"../../../../models/data/order/line-item/option/value/index.js";import"../../../../models/data/order/line-item/option/index.js";import"../../../../models/data/order/line-item/variant/index.js";import"../../../../models/data/order/line-item/index.js";import"../../../../models/data/order/package/tracking-info/index.js";import"../../../../models/data/order/package/index.js";import"../../../../models/data/order/payment-method/index.js";import"../../../../models/data/order/refund/line-item/index.js";import"../../../../models/data/order/shipping-line/index.js";import"../../../../models/data/order/tax-line/index.js";import"../../../../models/data/order/transaction/index.js";import"../../../../models/data/order/index.js";import"../../../../models/data/product/attribute-value/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/product-attribute/index.js";import"../../../../models/data/product-filter/index.js";import"../../../../models/data/product-campaign/campaign/index.js";import"../../../../models/data/product-campaign/filter/index.js";import"../../../../models/data/product-option-set/index.js";import"../../../../models/data/raffle/index.js";import"../../../../models/data/state/index.js";import"../../../../models/data/variant-type/variant-value/index.js";import"../../../../models/theme/theme.js";import"../../../../models/theme/page/index.js";import"../../../../models/theme/component/prop/index.js";import"../../../../models/theme/page/component/prop-value/link.js";import"../../../../models/ui/brand-list/index.js";import"../../../../models/ui/blog-list/index.js";import"../../../../models/ui/blog-category-list/index.js";import"../../../../models/ui/category-list/index.js";import"../../../../models/ui/product-detail/index.js";import"../../../../models/ui/product-list/index.js";import"../../../../models/ui/product-attribute-detail/index.js";import"../../../../models/ui/product-attribute-list/index.js";import"../../../../models/ui/customer-review-list/index.js";import"../../../../models/ui/customer-review-summary-list/index.js";import"../../../../models/ui/validator/index.js";import"../../../../models/ui/validator/rules/index.js";import"../../../../models/ui/validator/form/login.js";import"../../../../models/ui/validator/form/address.js";import"../../../../models/ui/validator/form/register.js";import"../../../../models/ui/validator/form/contact-form.js";import"../../../../models/ui/validator/form/forgot-password.js";import"../../../../models/ui/validator/form/recover-password.js";import"../../../../models/ui/validator/form/account-info.js";import"../../../../models/ui/validator/form/raffle-form.js";import"../../../../models/ui/validator/form/customer-review.js";import"../../../../models/ui/raffle-list/index.js";import"../../../../models/theme/settings/index.js";import"../../../../models/theme/custom-data/index.js";import"../../../../models/data/payment-gateway/index.js";import{PaymentMethodEnum as p,PaymentGatewayTypeEnum as v,OrderPackageStatusEnum as E,TransactionCardAssociationEnum as x}from"../../../../__api/types/index.js";var f=t((function(t){var E,f,g,h,k=t.vm,T=u().t;e.useEffect((function(){if("undefined"!=typeof localStorage){var e=localStorage.getItem(a);e&&e===k.checkout.id&&localStorage.removeItem(a)}}),[]);var y=((null===(E=k.checkout.customer)||void 0===E?void 0:E.firstName)||"")+" "+((null===(f=k.checkout.customer)||void 0===f?void 0:f.lastName)||""),N=k.paymentGateways.find((function(e){var t;return e.id===(null===(t=k.successTransaction)||void 0===t?void 0:t.paymentGatewayId)})),I=null===(g=k.successTransaction)||void 0===g?void 0:g.paymentMethodDetail,L=e.useMemo((function(){var t,o,a,r;return e.createElement("div",{className:[i.InfoGrid].join(" ")},e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},T("checkout-page:paymentMethod")),N&&e.createElement(e.Fragment,null,!!N.logoUrl&&e.createElement("div",{className:i.PaymentLogoContainer},e.createElement("img",{src:N.logoUrl})),!N.logoUrl&&e.createElement("div",{className:i.InfoText},N.paymentMethodType===p.CREDIT_CARD&&N.type===v.INTERNAL?T("checkout-page:creditCard"):N.name),!!N.description&&N.type!==v.EXTERNAL&&e.createElement("div",{className:i.InfoText},e.createElement("div",{dangerouslySetInnerHTML:{__html:N.description}}))),"CREDIT_CARD"===(null===(t=k.successTransaction)||void 0===t?void 0:t.paymentMethod)&&e.createElement(e.Fragment,null,e.createElement("div",{className:i.InfoText},e.createElement("div",{className:i.CardLogoContainer},function(){var t,o;switch(null===(o=null===(t=k.successTransaction)||void 0===t?void 0:t.paymentMethodDetail)||void 0===o?void 0:o.cardAssociation){case x.AMERICAN_EXPRESS:return e.createElement(d,null);case x.MASTER_CARD:return e.createElement(n,null);case x.TROY:return e.createElement(m,null);case x.VISA:return e.createElement(l,null);default:return e.createElement("div",null)}}()),e.createElement("span",null,"**** ".concat((null==I?void 0:I.lastFourDigits)||""))),(null===(o=null==I?void 0:I.installment)||void 0===o?void 0:o.installmentCount)&&I.installment.installmentCount>1&&e.createElement(e.Fragment,null,e.createElement("div",{className:i.InfoText},"".concat(I.installment.installmentCount," ").concat(T("checkout-page:installments"))),null!==I.installment.installmentPrice&&e.createElement("div",{className:i.InfoText},"".concat(I.installment.installmentCount," x ").concat(c(I.installment.installmentPrice,k.checkout.currencyCode)))))),"address"===k.deliveryMethod&&e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},T("checkout-page:billingAddress")),!!(null===(a=k.checkout.billingAddress)||void 0===a?void 0:a.company)&&e.createElement("div",{className:[i.InfoText,i.InfoTextBold].join(" ")},k.checkout.billingAddress.company),e.createElement("div",{className:i.InfoText},null===(r=k.checkout.billingAddress)||void 0===r?void 0:r.addressText)))}),[]),A=e.useMemo((function(){var t,o,a,r,s;return e.createElement("div",{className:[i.InfoGrid].join(" ")},e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},T("checkout-page:contactInfo")),e.createElement("div",{className:i.InfoText},null===(t=k.checkout.customer)||void 0===t?void 0:t.email),e.createElement("div",{className:i.InfoText},y),!!(null===(o=k.checkout.shippingAddress)||void 0===o?void 0:o.phone)&&e.createElement("div",{className:i.InfoText},null===(a=k.checkout.shippingAddress)||void 0===a?void 0:a.phone)),e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},"address"===k.deliveryMethod?T("checkout-page:shippingAddress"):T("checkout-page:pickUpLocation")),!!(null===(r=k.checkout.shippingAddress)||void 0===r?void 0:r.company)&&e.createElement("div",{className:[i.InfoText,i.InfoTextBold].join(" ")},k.checkout.shippingAddress.company),e.createElement("div",{className:i.InfoText},null===(s=k.checkout.shippingAddress)||void 0===s?void 0:s.addressText)))}),[]);return e.createElement("div",{className:i.StepSuccess},e.createElement("div",{className:i.SuccessTitleContainer},e.createElement(r,null),e.createElement("span",{className:i.SuccessTitle},T("checkout-page:orderSuccessTitle"))),e.createElement("div",{className:i.SuccessSubTitle},T("address"===k.deliveryMethod?"checkout-page:orderSuccessDescription":"checkout-page:orderSuccessInStoreDeliveryDescription",{customerName:y})),e.createElement("div",{className:[i.InfoGrid,i.WithBorder].join(" ")},e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},T("checkout-page:orderNoAndDate")),e.createElement("div",{className:[i.InfoText,i.InfoTextBold].join(" ")},"#"+(k.checkout.orderNumber||"")),e.createElement("div",{className:i.InfoText},k.checkout.dateStr),e.createElement(j,{vm:k})),e.createElement("div",null,e.createElement("div",{className:i.InfoTitle},T("checkout-page:contactInfo")),e.createElement("div",{className:i.InfoText},null===(h=k.checkout.customer)||void 0===h?void 0:h.email),e.createElement("div",{className:i.InfoText},y))),e.createElement(s,{title:T("checkout-page:paymentSummary")},L),e.createElement(s,{title:T("checkout-page:shippingSummary")},A),e.createElement("div",{className:i.Actions},e.createElement("div",{className:i.HelpText},e.createElement("span",null,T("checkout-page:helpCtaQuestion")),e.createElement("span",{className:i.Cta,onClick:function(){return k.setContactModalVisible(!0)}},T("checkout-page:helpCta"))),e.createElement(o,{text:T("checkout-page:actions.backToShopping"),onClick:k.onBackToShoppingClick,style:{flex:"0 0 auto"}})))})),j=t((function(t){var o,a=t.vm,r=u().t,s=i.Yellow;switch(a.checkout.orderPackageStatus){case E.FULFILLED:case E.PARTIALLY_FULFILLED:case E.DELIVERED:case E.PARTIALLY_DELIVERED:s=i.Green;break;case E.CANCELLED:case E.PARTIALLY_CANCELLED:case E.CANCEL_REJECTED:case E.CANCEL_REQUESTED:s=i.Red}return e.createElement("div",{className:[i.OrderStatus,s].join(" ")},a.checkout.orderPackageStatus?null===(o=[{types:[E.UNFULFILLED],text:r("checkout-page:orderPackageStatus.unfulfilled")},{types:[E.READY_FOR_SHIPMENT],text:r("checkout-page:orderPackageStatus.readyForShipment")},{types:[E.PARTIALLY_FULFILLED],text:r("checkout-page:orderPackageStatus.partiallyFulfilled")},{types:[E.FULFILLED],text:r("checkout-page:orderPackageStatus.fulfilled")},{types:[E.DELIVERED,E.PARTIALLY_DELIVERED],text:r("checkout-page:orderPackageStatus.delivered")},{types:[E.UNABLE_TO_DELIVER],text:r("checkout-page:orderPackageStatus.unableToDeliver")},{types:[E.CANCELLED,E.PARTIALLY_CANCELLED],text:r("checkout-page:orderPackageStatus.cancelled")},{types:[E.CANCEL_REJECTED],text:r("checkout-page:orderPackageStatus.cancelRejected")},{types:[E.REFUNDED,E.PARTIALLY_REFUNDED],text:r("checkout-page:orderPackageStatus.refunded")},{types:[E.REFUND_REQUEST_ACCEPTED],text:r("checkout-page:orderPackageStatus.refundRequestAccepted")},{types:[E.REFUND_REJECTED],text:r("checkout-page:orderPackageStatus.refundRejected")},{types:[E.REFUND_REQUESTED],text:r("checkout-page:orderPackageStatus.refundRequested")}].find((function(e){return e.types.includes(a.checkout.orderPackageStatus)})))||void 0===o?void 0:o.text:"")}));export{f as StepSuccess};
@@ -1,3 +1,4 @@
1
1
  export { IkasPage } from "./page";
2
2
  export { IkasPageHead } from "./page/head";
3
3
  export { Image } from "./image";
4
+ export { default as Link } from "./link";
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { LinkProps } from "next/link";
3
+ declare const _default: React.FunctionComponent<LinkProps>;
4
+ export default _default;
@@ -0,0 +1 @@
1
+ import{__assign as e}from'../../ext/tslib/tslib.es6.js';import r,{useState as t}from"react";import o from"next/link";import{observer as i}from"mobx-react-lite";import{IkasStorefrontConfig as s}from"../../storefront/index.js";var n=i((function(i){var n=t(!1),f=n[0],a=n[1];return r.useEffect((function(){var e="string"==typeof i.href,r=s.store.spaLinksDisabled;a(r&&e)}),[s.store.spaLinksDisabled]),f?r.createElement("a",{href:i.href},i.children):r.createElement(o,e({},i),i.children)}));export{n as default};
@@ -4,6 +4,8 @@ declare type Props = {
4
4
  pageType: IkasThemePageType;
5
5
  pageTitle?: string | null;
6
6
  pageDescription?: string | null;
7
+ canonicals?: string[] | null;
8
+ disableIndex?: boolean | null;
7
9
  pageSpecificDataStr?: string;
8
10
  merchantSettingsStr?: string;
9
11
  addOgpMetas?: boolean;
@@ -1 +1 @@
1
- import{__assign as t,__spreadArray as e}from'../../ext/tslib/tslib.es6.js';import*as o from"react";import{observer as i}from"mobx-react-lite";import r from"next/head.js";import"../../models/data/blog/index.js";import{IkasBrand as a}from"../../models/data/brand/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import{IkasCategory as d}from"../../models/data/category/index.js";import"../../models/data/city/index.js";import"mobx";import"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/attribute-value/index.js";import"../../models/data/customer/index.js";import"../../models/data/customer-attribute/customer-attribute-option/index.js";import"../../models/data/customer-attribute/customer-attribute-sales-channel/index.js";import"../../models/data/customer-attribute/index.js";import"../../models/data/customer-review/index.js";import"../../models/data/customer-review-summary/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import{IkasMerchantSettings as n}from"../../models/data/merchant-settings/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/adjustment/index.js";import"../../models/data/order/gift-line/index.js";import"../../models/data/order/invoice/index.js";import"../../models/data/order/line-item/discount/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/option/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/tracking-info/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/payment-method/index.js";import"../../models/data/order/refund/line-item/index.js";import"../../models/data/order/shipping-line/index.js";import"../../models/data/order/tax-line/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/product/attribute-value/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/product-attribute/index.js";import"../../models/data/product-filter/index.js";import"../../models/data/product-campaign/campaign/index.js";import"../../models/data/product-campaign/filter/index.js";import"../../models/data/product-option-set/index.js";import"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/variant-type/variant-value/index.js";import"../../models/theme/theme.js";import{IkasThemePageType as s}from"../../models/theme/page/index.js";import"../../models/theme/component/prop/index.js";import"../../models/theme/page/component/prop-value/link.js";import"../../models/ui/brand-list/index.js";import"../../models/ui/blog-list/index.js";import"../../models/ui/blog-category-list/index.js";import"../../models/ui/category-list/index.js";import{IkasProductDetail as m}from"../../models/ui/product-detail/index.js";import"../../models/ui/product-list/index.js";import"../../models/ui/product-attribute-detail/index.js";import"../../models/ui/product-attribute-list/index.js";import"../../models/ui/customer-review-list/index.js";import"../../models/ui/customer-review-summary-list/index.js";import"../../models/ui/validator/index.js";import"../../models/ui/validator/rules/index.js";import"../../models/ui/validator/form/login.js";import"../../models/ui/validator/form/address.js";import"../../models/ui/validator/form/register.js";import"../../models/ui/validator/form/contact-form.js";import"../../models/ui/validator/form/forgot-password.js";import"../../models/ui/validator/form/recover-password.js";import"../../models/ui/validator/form/account-info.js";import"../../models/ui/validator/form/raffle-form.js";import"../../models/ui/validator/form/customer-review.js";import"../../models/ui/raffle-list/index.js";import"../../models/theme/settings/index.js";import"../../models/theme/custom-data/index.js";import{IkasStorefrontConfig as p}from"../../storefront/index.js";import{IkasPageDataInit as l}from"../../providers/page-data-init.js";var c=i((function(i){var c=i.pageType,u=i.pageTitle,f=i.pageDescription,j=i.pageSpecificDataStr,g=i.merchantSettingsStr,x=i.addOgpMetas,h=i.productReviewSummary,v="undefined"!=typeof window;o.useEffect((function(){var t;document.documentElement.lang=(null===(t=p.routings.find((function(t){return t.id===p.storefrontRoutingId})))||void 0===t?void 0:t.locale)||"tr"}),[c]);var y=o.useMemo((function(){if(g)return new n(JSON.parse(g))}),[g]),b=o.useMemo((function(){if(!j)return j;var t=JSON.parse(j);switch(c){case s.PRODUCT:return new m(t.product,t.selectedVariantValues);case s.CATEGORY:return new d(t);case s.BRAND:return new a(t);default:return j}}),[j]),w=o.useMemo((function(){if(b&&b.href)return"https://".concat(p.domain).concat(b.href)}),[b]),O=o.useMemo((function(){var t,e=[];if(x)if(e.push({property:"og:type",content:"website"}),e.push({property:"og:site_name",content:"https://"+p.domain}),u&&e.push({property:"og:title",content:u}),f&&e.push({property:"og:description",content:f}),e.push({property:"og:url",content:w||(v?window.location.href:"")||"https://".concat(p.domain)}),b&&c===s.PRODUCT){var o=b;o.selectedVariant.mainImage&&e.push({property:"og:image",content:null===(t=o.selectedVariant.mainImage)||void 0===t?void 0:t.src})}else(null==y?void 0:y.logo)&&e.push({property:"og:image",content:y.logo.src});return e}),[u,b,w,f,y,x,y]),S=o.useMemo((function(){var o=[];if(y){var i={"@context":"https://schema.org","@type":"Website",url:"https://"+p.domain},r=function(t){var e,o;return{"@context":"https://schema.org","@type":"Store",name:null==t?void 0:t.merchantName,logo:null===(e=null==t?void 0:t.logo)||void 0===e?void 0:e.src,image:null===(o=null==t?void 0:t.logo)||void 0===o?void 0:o.src,url:"https://"+p.domain}}(y);o.push(i),o.push(r)}if(b&&c===s.PRODUCT){var a=function(e,o){var i,r;try{"undefined"!=typeof window&&l._initProductDetailOnBrowser(e);var a="https://".concat(p.domain).concat(e.href);return t(t({"@context":"https://schema.org/","@type":"Product",name:e.product.name,description:null===(i=e.product.metaData)||void 0===i?void 0:i.description,image:e.selectedVariant.images.map((function(t){return t.src})),productId:e.selectedVariant.id,sku:e.selectedVariant.sku,mpn:e.selectedVariant.barcodeList.length?e.selectedVariant.barcodeList[0]:"",brand:{"@type":"Brand",name:null===(r=e.product.brand)||void 0===r?void 0:r.name}},o&&{aggregateRating:{"@type":"AggregateRating",ratingValue:o.averageStar,reviewCount:o.totalReview}}),{offers:{"@type":"Offer",url:a,priceCurrency:e.selectedVariant.price.currency||"TRY",price:e.selectedVariant.price.finalPrice,priceValidUntil:"",itemCondition:"https://schema.org/NewCondition",availability:e.selectedVariant.stock>0?"https://schema.org/InStock":"https://schema.org/OutOfStock"}})}catch(t){}}(b,h?JSON.parse(h):null);a&&o.push(a)}if(b&&c===s.CATEGORY){var d=function(t){var e,o,i;try{return{"@context":"http://schema.org","@type":"CollectionPage",url:"https://".concat(p.domain).concat(t.href),name:null===(e=t.metaData)||void 0===e?void 0:e.pageTitle,description:null===(o=t.metaData)||void 0===o?void 0:o.description,image:null===(i=t.image)||void 0===i?void 0:i.src}}catch(t){}}(b),n=function(t){try{return{"@context":"http://schema.org","@type":"BreadcrumbList",itemListElement:t.path.length?e(e([],t.path.map((function(t,e){return{"@type":"ListItem",position:e+1,name:t.name,item:"https://"+p.domain+t.href}})),!0),[{"@type":"ListItem",position:t.path.length+1,name:t.name,item:"https://"+p.domain+t.href}],!1):[{"@type":"ListItem",position:1,name:t.name,item:"https://"+p.domain+t.href}]}}catch(t){}}(b);d&&o.push(d),n&&o.push(n)}return o}),[b,y]);return o.createElement(r,null,o.createElement("title",null,u||""),o.createElement("meta",{name:"description",content:f||""}),!!x&&O.map((function(t,e){return o.createElement("meta",{key:"".concat(t.content,"-").concat(e),property:t.property,content:t.content})})),!!S.length&&S.map((function(t,e){return o.createElement("script",{key:e,type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t)}})})))}));export{c as IkasPageHead};
1
+ import{__assign as t}from'../../ext/tslib/tslib.es6.js';import*as e from"react";import{observer as o}from"mobx-react-lite";import r from"next/head.js";import"../../models/data/blog/index.js";import{IkasBrand as i}from"../../models/data/brand/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import{IkasCategory as a}from"../../models/data/category/index.js";import"../../models/data/city/index.js";import"mobx";import"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/attribute-value/index.js";import"../../models/data/customer/index.js";import"../../models/data/customer-attribute/customer-attribute-option/index.js";import"../../models/data/customer-attribute/customer-attribute-sales-channel/index.js";import"../../models/data/customer-attribute/index.js";import"../../models/data/customer-review/index.js";import"../../models/data/customer-review-summary/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import{IkasMerchantSettings as n}from"../../models/data/merchant-settings/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/adjustment/index.js";import"../../models/data/order/gift-line/index.js";import"../../models/data/order/invoice/index.js";import"../../models/data/order/line-item/discount/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/option/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/tracking-info/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/payment-method/index.js";import"../../models/data/order/refund/line-item/index.js";import"../../models/data/order/shipping-line/index.js";import"../../models/data/order/tax-line/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/product/attribute-value/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/product-attribute/index.js";import"../../models/data/product-filter/index.js";import"../../models/data/product-campaign/campaign/index.js";import"../../models/data/product-campaign/filter/index.js";import"../../models/data/product-option-set/index.js";import"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/variant-type/variant-value/index.js";import"../../models/theme/theme.js";import{IkasThemePageType as d}from"../../models/theme/page/index.js";import"../../models/theme/component/prop/index.js";import"../../models/theme/page/component/prop-value/link.js";import"../../models/ui/brand-list/index.js";import"../../models/ui/blog-list/index.js";import"../../models/ui/blog-category-list/index.js";import"../../models/ui/category-list/index.js";import{IkasProductDetail as s}from"../../models/ui/product-detail/index.js";import"../../models/ui/product-list/index.js";import"../../models/ui/product-attribute-detail/index.js";import"../../models/ui/product-attribute-list/index.js";import"../../models/ui/customer-review-list/index.js";import"../../models/ui/customer-review-summary-list/index.js";import"../../models/ui/validator/index.js";import"../../models/ui/validator/rules/index.js";import"../../models/ui/validator/form/login.js";import"../../models/ui/validator/form/address.js";import"../../models/ui/validator/form/register.js";import"../../models/ui/validator/form/contact-form.js";import"../../models/ui/validator/form/forgot-password.js";import"../../models/ui/validator/form/recover-password.js";import"../../models/ui/validator/form/account-info.js";import"../../models/ui/validator/form/raffle-form.js";import"../../models/ui/validator/form/customer-review.js";import"../../models/ui/raffle-list/index.js";import"../../models/theme/settings/index.js";import"../../models/theme/custom-data/index.js";import{IkasStorefrontConfig as m}from"../../storefront/index.js";import{IkasPageDataInit as l}from"../../providers/page-data-init.js";import{useRouter as p}from"next/router";var c=o((function(o){var c=o.pageType,f=o.pageTitle,g=o.pageDescription,h=o.canonicals,j=o.disableIndex,x=o.pageSpecificDataStr,v=o.merchantSettingsStr,y=o.addOgpMetas,b=o.productReviewSummary,w=p(),k="undefined"!=typeof window,E="local"===process.env.NEXT_PUBLIC_ENV,O=w.asPath.split("?")[0].replace("/",""),V=m.routings.filter((function(t){return t.id!==m.storefrontRoutingId})),C=m.getCurrentRouting(),R=(null==C?void 0:C.path)?"/"+C.path:"",S=E?"http://localhost:3333":"https://"+m.domain;e.useEffect((function(){document.documentElement.lang=m.getCurrentLocale()}),[c,x]);var T=e.useMemo((function(){if(v)return new n(JSON.parse(v))}),[v]),L=e.useMemo((function(){if(!x)return x;var t=JSON.parse(x);switch(c){case d.PRODUCT:return new s(t.product,t.selectedVariantValues);case d.CATEGORY:return new a(t);case d.BRAND:return new i(t);default:return x}}),[x]),I=e.useMemo((function(){if(L&&L.href)return"".concat(S).concat(L.href)}),[L]),D=e.useMemo((function(){var t,e=[];if(y)if(e.push({property:"og:type",content:"website"}),e.push({property:"og:site_name",content:"https://"+m.domain}),f&&e.push({property:"og:title",content:f}),g&&e.push({property:"og:description",content:g}),e.push({property:"og:url",content:I||(k?window.location.href:"")||"https://".concat(m.domain)}),L&&c===d.PRODUCT){var o=L;o.selectedVariant.mainImage&&e.push({property:"og:image",content:null===(t=o.selectedVariant.mainImage)||void 0===t?void 0:t.src})}else(null==T?void 0:T.logo)&&e.push({property:"og:image",content:T.logo.src});return e}),[f,L,I,g,T,y,T]),P=e.useMemo((function(){var e=[];if(T){var o={"@context":"https://schema.org","@type":"Website",url:"https://"+m.domain},r=function(t){var e,o;return{"@context":"https://schema.org","@type":"Store",name:null==t?void 0:t.merchantName,logo:null===(e=null==t?void 0:t.logo)||void 0===e?void 0:e.src,image:null===(o=null==t?void 0:t.logo)||void 0===o?void 0:o.src,url:"https://"+m.domain}}(T);e.push(o),e.push(r)}if(L&&c===d.PRODUCT){var i=L,a=function(e,o){var r,i;try{"undefined"!=typeof window&&l._initProductDetailOnBrowser(e);var a="https://".concat(m.domain).concat(e.href);return t(t({"@context":"https://schema.org/","@type":"Product",name:e.product.name,description:null===(r=e.product.metaData)||void 0===r?void 0:r.description,image:e.selectedVariant.images.map((function(t){return t.src})),productId:e.selectedVariant.id,sku:e.selectedVariant.sku,mpn:e.selectedVariant.barcodeList.length?e.selectedVariant.barcodeList[0]:"",brand:{"@type":"Brand",name:null===(i=e.product.brand)||void 0===i?void 0:i.name}},o&&{aggregateRating:{"@type":"AggregateRating",ratingValue:o.averageStar,reviewCount:o.totalReview}}),{offers:{"@type":"Offer",url:a,priceCurrency:e.selectedVariant.price.currency||"TRY",price:e.selectedVariant.price.finalPrice,priceValidUntil:"",itemCondition:"https://schema.org/NewCondition",availability:e.selectedVariant.stock>0?"https://schema.org/InStock":"https://schema.org/OutOfStock"}})}catch(t){}}(i,b?JSON.parse(b):null);if(a&&e.push(a),i.product.categories.length)(s=u(i.product.categories[0]))&&e.push(s)}if(L&&c===d.CATEGORY){var n=function(t){var e,o,r;try{return{"@context":"http://schema.org","@type":"CollectionPage",url:"https://".concat(m.domain).concat(t.href),name:null===(e=t.metaData)||void 0===e?void 0:e.pageTitle,description:null===(o=t.metaData)||void 0===o?void 0:o.description,image:null===(r=t.image)||void 0===r?void 0:r.src}}catch(t){}}(L),s=u(L);n&&e.push(n),s&&e.push(s)}return e}),[L,T]);return e.createElement(r,null,e.createElement("title",null,f||""),e.createElement("meta",{name:"description",content:g||""}),V.map((function(t){return e.createElement("link",{key:t.id,rel:"alternate",hrefLang:t.locale,href:"".concat(S+(t.path?"/"+t.path:""),"/").concat(O)})})),!!C&&!!V.length&&e.createElement("link",{key:"current-routing-hreflang",rel:"alternate",hrefLang:C.locale,href:"".concat(S).concat(R,"/").concat(O)}),!!j&&e.createElement("meta",{name:"robots",content:"noindex"}),!!y&&D.map((function(t,o){return e.createElement("meta",{key:"".concat(t.content,"-").concat(o),property:t.property,content:t.content})})),!!h&&h.map((function(t,o){return e.createElement("link",{key:o+"url",rel:"canonical",href:"".concat(S).concat(R).concat(t)})})),e.createElement("link",{rel:"canonical",href:"".concat(S).concat(R,"/").concat(O)}),!!P.length&&P.map((function(t,o){return e.createElement("script",{key:o,type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t)}})})))}));function u(t){try{var e=t.path.map((function(t,e){return{"@type":"ListItem",position:e+1,name:t.name,item:"https://"+m.domain+t.href}}));return m.store.currentPageType===d.CATEGORY&&e.push({"@type":"ListItem",position:t.path.length+1,name:t.name,item:"https://"+m.domain+t.href}),{"@context":"http://schema.org","@type":"BreadcrumbList",itemListElement:t.path.length?e:[{"@type":"ListItem",position:1,name:t.name,item:"https://"+m.domain+t.href}]}}catch(t){}}export{c as IkasPageHead};
@@ -7,6 +7,8 @@ export declare type IkasPageProps = {
7
7
  pageType: IkasThemePageType;
8
8
  pageTitle: string | null;
9
9
  pageDescription?: string;
10
+ canonicals?: string[] | null;
11
+ disableIndex?: boolean | null;
10
12
  settingsStr: string;
11
13
  merchantSettingsStr: string;
12
14
  configJson: Record<string, any>;
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t}from'../../ext/tslib/tslib.es6.js';import*as o from"react";import{observer as i}from"mobx-react-lite";import{useRouter as r}from"next/router.js";import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/index.js";import"../../models/data/city/index.js";import"mobx";import"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/attribute-value/index.js";import"../../models/data/customer/index.js";import"../../models/data/customer-attribute/customer-attribute-option/index.js";import"../../models/data/customer-attribute/customer-attribute-sales-channel/index.js";import"../../models/data/customer-attribute/index.js";import"../../models/data/customer-review/index.js";import"../../models/data/customer-review-summary/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/merchant-settings/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/adjustment/index.js";import"../../models/data/order/gift-line/index.js";import"../../models/data/order/invoice/index.js";import"../../models/data/order/line-item/discount/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/option/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/tracking-info/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/payment-method/index.js";import"../../models/data/order/refund/line-item/index.js";import"../../models/data/order/shipping-line/index.js";import"../../models/data/order/tax-line/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/product/attribute-value/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/product-attribute/index.js";import"../../models/data/product-filter/index.js";import"../../models/data/product-campaign/campaign/index.js";import"../../models/data/product-campaign/filter/index.js";import"../../models/data/product-option-set/index.js";import"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/variant-type/variant-value/index.js";import"../../models/theme/theme.js";import{IkasThemePageType as a}from"../../models/theme/page/index.js";import"../../models/theme/component/prop/index.js";import"../../models/theme/page/component/prop-value/link.js";import"../../models/ui/brand-list/index.js";import"../../models/ui/blog-list/index.js";import"../../models/ui/blog-category-list/index.js";import"../../models/ui/category-list/index.js";import{IkasProductDetail as d}from"../../models/ui/product-detail/index.js";import"../../models/ui/product-list/index.js";import"../../models/ui/product-attribute-detail/index.js";import"../../models/ui/product-attribute-list/index.js";import"../../models/ui/customer-review-list/index.js";import"../../models/ui/customer-review-summary-list/index.js";import"../../models/ui/validator/index.js";import"../../models/ui/validator/rules/index.js";import"../../models/ui/validator/form/login.js";import"../../models/ui/validator/form/address.js";import"../../models/ui/validator/form/register.js";import"../../models/ui/validator/form/contact-form.js";import"../../models/ui/validator/form/forgot-password.js";import"../../models/ui/validator/form/recover-password.js";import"../../models/ui/validator/form/account-info.js";import"../../models/ui/validator/form/raffle-form.js";import"../../models/ui/validator/form/customer-review.js";import"../../models/ui/raffle-list/index.js";import{IkasThemeSettings as s}from"../../models/theme/settings/index.js";import"../../models/theme/custom-data/index.js";import{Analytics as m}from"../../analytics/analytics.js";import"../../analytics/head/index.js";import{IkasPageDataInit as n}from"../../providers/page-data-init.js";import{ThemeComponent as p}from"./ThemeComponent.js";import{IkasPageHead as l}from"./head.js";import{IkasStorefrontConfig as u}from"../../storefront/index.js";import{initIkasEvents as c}from"../../analytics/events.js";var j=i((function(i){var p=i.propValuesStr,j=i.pageType,x=i.pageTitle,g=i.pageDescription,v=i.pageSpecificDataStr,h=i.settingsStr,y=i.merchantSettingsStr,w=i.configJson,S=i.reInitOnBrowser,b=i.addOgpMetas,C=i.components,E=i.productReviewSummary,O=r();u.initWithJson(w,O),u.currentPageComponents=C;var T=u.store;T.currentPageType=j;var V=o.useState(!1),D=V[0],P=V[1],k=o.useState(new s(JSON.parse(h)))[0],J=o.useMemo((function(){return n.setPageSpecificData(v,j,D),n.initPropValues(p,O,h,!0,D)}),[D,p,j,h,v]);o.useEffect((function(){S&&P("undefined"!=typeof window),T.cartStore.getCart(),T.checkLocalization(),c()}),[]),o.useEffect((function(){var e=function(){u.store.customerStore.routeChangeInit()};return O.events.on("routeChangeStart",e),function(){O.events.off("routeChangeStart",e)}}),[]),o.useEffect((function(){!function(o,i,r){e(this,void 0,void 0,(function(){var e,s,p,l,c;return t(this,(function(t){switch(t.label){case 0:m.pageView(o),t.label=1;case 1:return t.trys.push([1,4,,5]),o===a.PRODUCT&&(e=JSON.parse(i),s=new d(e.product,e.selectedVariantValues),"undefined"!=typeof window&&n._initProductDetailOnBrowser(s),m.productView(s),u.store.customerStore.onProductView(s.product.id,s.selectedVariant.id)),o===a.CATEGORY&&(p=JSON.parse(i),l=p.path.map((function(e){return e.name})).join(" > "),l=p.path.length>0?l+" > "+p.name:p.name,m.viewCategory(l,p)),o!==a.CART?[3,3]:[4,r.cartStore.waitUntilInitialized()];case 2:t.sent(),m.viewCart(r.cartStore.cart),t.label=3;case 3:return[3,5];case 4:return c=t.sent(),console.error(c),[3,5];case 5:return[2]}}))}))}(j,v,T)}),[j,v]);var R=o.useMemo((function(){var e=J.find((function(e){return e.component.isHeader})),t=J.find((function(e){return e.component.isFooter})),i=J.filter((function(e){return!e.component.isHeader&&!e.component.isFooter}))||[];return o.createElement("div",{style:{position:"relative",minHeight:"100vh",display:"flex",flexDirection:"column",justifyContent:"space-between"}},o.createElement("div",null,e&&f(e,k,-1),i.map((function(e,t){return f(e,k,t)}))),t&&f(t,k,-1))}),[J,k]);return o.createElement(o.Fragment,null,o.createElement(l,{pageType:j,pageTitle:x,pageDescription:g,pageSpecificDataStr:v,merchantSettingsStr:y,addOgpMetas:b,productReviewSummary:E}),R)})),f=function(e,t,i){return o.createElement(p,{key:e.pageComponent.id,index:i,pageComponentPropValue:e,settings:t})};export{j as IkasPage,f as renderComponent};
1
+ import{__awaiter as e,__generator as t}from'../../ext/tslib/tslib.es6.js';import*as o from"react";import{observer as i}from"mobx-react-lite";import{useRouter as r}from"next/router.js";import"../../models/data/blog/index.js";import"../../models/data/brand/index.js";import"../../models/data/cart/campaign-offer/index.js";import"../../models/data/cart/index.js";import"../../models/data/category/index.js";import"../../models/data/city/index.js";import"mobx";import"../../models/data/country/index.js";import"../../models/data/customer/address/index.js";import"../../models/data/customer/attribute-value/index.js";import"../../models/data/customer/index.js";import"../../models/data/customer-attribute/customer-attribute-option/index.js";import"../../models/data/customer-attribute/customer-attribute-sales-channel/index.js";import"../../models/data/customer-attribute/index.js";import"../../models/data/customer-review/index.js";import"../../models/data/customer-review-summary/index.js";import"../../models/data/district/index.js";import"../../models/data/favorite-product/index.js";import"../../models/data/html-meta-data/index.js";import"../../models/data/image/index.js";import"../../models/data/merchant-settings/index.js";import"../../models/data/order/address/index.js";import"../../models/data/order/adjustment/index.js";import"../../models/data/order/gift-line/index.js";import"../../models/data/order/invoice/index.js";import"../../models/data/order/line-item/discount/index.js";import"../../models/data/order/line-item/option/value/index.js";import"../../models/data/order/line-item/option/index.js";import"../../models/data/order/line-item/variant/index.js";import"../../models/data/order/line-item/index.js";import"../../models/data/order/package/tracking-info/index.js";import"../../models/data/order/package/index.js";import"../../models/data/order/payment-method/index.js";import"../../models/data/order/refund/line-item/index.js";import"../../models/data/order/shipping-line/index.js";import"../../models/data/order/tax-line/index.js";import"../../models/data/order/transaction/index.js";import"../../models/data/order/index.js";import"../../models/data/product/attribute-value/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/product-attribute/index.js";import"../../models/data/product-filter/index.js";import"../../models/data/product-campaign/campaign/index.js";import"../../models/data/product-campaign/filter/index.js";import"../../models/data/product-option-set/index.js";import"../../models/data/raffle/index.js";import"../../models/data/state/index.js";import"../../models/data/variant-type/variant-value/index.js";import"../../models/theme/theme.js";import{IkasThemePageType as a}from"../../models/theme/page/index.js";import"../../models/theme/component/prop/index.js";import"../../models/theme/page/component/prop-value/link.js";import"../../models/ui/brand-list/index.js";import"../../models/ui/blog-list/index.js";import"../../models/ui/blog-category-list/index.js";import"../../models/ui/category-list/index.js";import{IkasProductDetail as d}from"../../models/ui/product-detail/index.js";import"../../models/ui/product-list/index.js";import"../../models/ui/product-attribute-detail/index.js";import"../../models/ui/product-attribute-list/index.js";import"../../models/ui/customer-review-list/index.js";import"../../models/ui/customer-review-summary-list/index.js";import"../../models/ui/validator/index.js";import"../../models/ui/validator/rules/index.js";import"../../models/ui/validator/form/login.js";import"../../models/ui/validator/form/address.js";import"../../models/ui/validator/form/register.js";import"../../models/ui/validator/form/contact-form.js";import"../../models/ui/validator/form/forgot-password.js";import"../../models/ui/validator/form/recover-password.js";import"../../models/ui/validator/form/account-info.js";import"../../models/ui/validator/form/raffle-form.js";import"../../models/ui/validator/form/customer-review.js";import"../../models/ui/raffle-list/index.js";import{IkasThemeSettings as s}from"../../models/theme/settings/index.js";import"../../models/theme/custom-data/index.js";import{Analytics as m}from"../../analytics/analytics.js";import"../../analytics/head/index.js";import{IkasPageDataInit as n}from"../../providers/page-data-init.js";import{ThemeComponent as p}from"./ThemeComponent.js";import{IkasPageHead as l}from"./head.js";import{IkasStorefrontConfig as u}from"../../storefront/index.js";import{initIkasEvents as c}from"../../analytics/events.js";var j=i((function(i){var p=i.propValuesStr,j=i.pageType,x=i.pageTitle,g=i.pageDescription,v=i.pageSpecificDataStr,h=i.canonicals,y=i.disableIndex,b=i.settingsStr,w=i.merchantSettingsStr,S=i.configJson,C=i.reInitOnBrowser,E=i.addOgpMetas,O=i.components,T=i.productReviewSummary,V=r();u.initWithJson(S,V,w),u.currentPageComponents=O;var D=u.store;D.currentPageType=j;var P=o.useState(!1),k=P[0],I=P[1],J=o.useState(new s(JSON.parse(b)))[0],R=o.useMemo((function(){return n.setPageSpecificData(v,j,k),n.initPropValues(p,V,b,!0,k)}),[k,p,j,b,v]);o.useEffect((function(){C&&I("undefined"!=typeof window),D.cartStore.getCart(),D.checkLocalization(),c()}),[]),o.useEffect((function(){var e=function(){u.store.customerStore.routeChangeInit()};return V.events.on("routeChangeStart",e),function(){V.events.off("routeChangeStart",e)}}),[]),o.useEffect((function(){!function(o,i,r){e(this,void 0,void 0,(function(){var e,s,p,l,c;return t(this,(function(t){switch(t.label){case 0:m.pageView(o),t.label=1;case 1:return t.trys.push([1,4,,5]),o===a.PRODUCT&&(e=JSON.parse(i),s=new d(e.product,e.selectedVariantValues),"undefined"!=typeof window&&n._initProductDetailOnBrowser(s),m.productView(s),u.store.customerStore.onProductView(s.product.id,s.selectedVariant.id)),o===a.CATEGORY&&(p=JSON.parse(i),l=p.path.map((function(e){return e.name})).join(" > "),l=p.path.length>0?l+" > "+p.name:p.name,m.viewCategory(l,p)),o!==a.CART?[3,3]:[4,r.cartStore.waitUntilInitialized()];case 2:t.sent(),m.viewCart(r.cartStore.cart),t.label=3;case 3:return[3,5];case 4:return c=t.sent(),console.error(c),[3,5];case 5:return[2]}}))}))}(j,v,D)}),[j,v]);var M=o.useMemo((function(){var e=R.find((function(e){return e.component.isHeader})),t=R.find((function(e){return e.component.isFooter})),i=R.filter((function(e){return!e.component.isHeader&&!e.component.isFooter}))||[];return o.createElement("div",{style:{position:"relative",minHeight:"100vh",display:"flex",flexDirection:"column",justifyContent:"space-between"}},o.createElement("div",null,e&&f(e,J,-1),i.map((function(e,t){return f(e,J,t)}))),t&&f(t,J,-1))}),[R,J]);return o.createElement(o.Fragment,null,o.createElement(l,{pageType:j,pageTitle:x,pageDescription:g,pageSpecificDataStr:v,canonicals:h,disableIndex:y,merchantSettingsStr:w,addOgpMetas:E,productReviewSummary:T}),M)})),f=function(e,t,i){return o.createElement(p,{key:e.pageComponent.id,index:i,pageComponentPropValue:e,settings:t})};export{j as IkasPage,f as renderComponent};