@ikas/storefront 2.0.73 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/build/__generated__/global-types.d.ts +15 -72
  2. package/build/__generated__/global-types.js +1 -1
  3. package/build/_virtual/index.js_commonjs-proxy2.js +1 -1
  4. package/build/_virtual/index.js_commonjs-proxy3.js +1 -1
  5. package/build/analytics/analytics.d.ts +2 -3
  6. package/build/analytics/analytics.js +1 -1
  7. package/build/analytics/events.d.ts +1 -2
  8. package/build/analytics/events.js +1 -1
  9. package/build/analytics/googleTagManager.d.ts +0 -2
  10. package/build/analytics/googleTagManager.js +1 -1
  11. package/build/analytics/head/index.js +1 -1
  12. package/build/analytics/ikas.js +1 -1
  13. package/build/api/blog/__generated__/getBlog.d.ts +5 -1
  14. package/build/api/blog/__generated__/listBlog.d.ts +5 -1
  15. package/build/api/blog/__generated__/listBlogCategory.d.ts +5 -1
  16. package/build/api/blog/__generated__/listBlogMetaData.d.ts +5 -3
  17. package/build/api/blog/index.js +1 -1
  18. package/build/api/brand/index.js +1 -1
  19. package/build/api/cart/__generated__/getCart.d.ts +4 -2
  20. package/build/api/cart/__generated__/saveItemToCart.d.ts +4 -25
  21. package/build/api/cart/index.d.ts +1 -3
  22. package/build/api/cart/index.js +1 -1
  23. package/build/api/category/__generated__/listCategoryPaths.d.ts +0 -19
  24. package/build/api/category/index.js +1 -1
  25. package/build/api/checkout/__generated__/addCouponCodeToCheckout.d.ts +1 -1
  26. package/build/api/checkout/__generated__/getCheckoutById.d.ts +4 -2
  27. package/build/api/checkout/__generated__/getOrder.d.ts +12 -6
  28. package/build/api/checkout/index.d.ts +1 -7
  29. package/build/api/checkout/index.js +1 -1
  30. package/build/api/contact-form/__generated__/sendContactFormToMerchant.d.ts +0 -1
  31. package/build/api/contact-form/index.d.ts +1 -2
  32. package/build/api/contact-form/index.js +1 -1
  33. package/build/api/customer/__generated__/createOrderRefundRequest.d.ts +13 -7
  34. package/build/api/customer/__generated__/customerLogin.d.ts +2 -8
  35. package/build/api/customer/__generated__/customerSocialLogin.d.ts +2 -8
  36. package/build/api/customer/__generated__/getCustomerOrders.d.ts +12 -6
  37. package/build/api/customer/__generated__/getMyCustomer.d.ts +3 -13
  38. package/build/api/customer/__generated__/registerCustomer.d.ts +3 -14
  39. package/build/api/customer/__generated__/saveMyCustomer.d.ts +3 -13
  40. package/build/api/customer/index.d.ts +1 -3
  41. package/build/api/customer/index.js +1 -1
  42. package/build/api/customer-review/__generated__/listCustomerReviews.d.ts +5 -1
  43. package/build/api/customer-review/index.js +1 -1
  44. package/build/api/favorite-product/index.js +1 -1
  45. package/build/api/html-meta-data/__generated__/listHTMLMetaData.d.ts +0 -8
  46. package/build/api/html-meta-data/index.js +1 -1
  47. package/build/api/index.d.ts +0 -1
  48. package/build/api/merchant/__generated__/listMerchantSettings.d.ts +0 -11
  49. package/build/api/merchant/index.js +1 -1
  50. package/build/api/product-option-set/__generated__/ListProductOptionSet.d.ts +0 -6
  51. package/build/api/product-search/__generated__/getProductFilterData.d.ts +0 -1
  52. package/build/api/product-search/index.d.ts +1 -19
  53. package/build/api/product-search/index.js +1 -1
  54. package/build/api/raffle/__generated__/listRaffle.d.ts +5 -1
  55. package/build/api/raffle/__generated__/listRaffleMetaData.d.ts +0 -2
  56. package/build/api/raffle/__generated__/saveRaffleParticipant.d.ts +6 -46
  57. package/build/api/raffle/index.d.ts +3 -7
  58. package/build/api/raffle/index.js +1 -1
  59. package/build/api/storefront/__generated__/getStorefront.d.ts +0 -3
  60. package/build/api/storefront/index.js +1 -1
  61. package/build/api/variant-type/__generated__/listVariantType.d.ts +6 -2
  62. package/build/assets/translations/checkout/en.js +1 -1
  63. package/build/assets/translations/checkout/tr.js +1 -1
  64. package/build/components/checkout/components/address-form/index.js +1 -1
  65. package/build/components/checkout/components/address-form/model.d.ts +0 -3
  66. package/build/components/checkout/components/address-form/model.js +1 -1
  67. package/build/components/checkout/components/cart-summary/cart-item/index.js +1 -1
  68. package/build/components/checkout/components/cart-summary/index.js +1 -1
  69. package/build/components/checkout/components/cart-summary/style.module.scss.js +1 -1
  70. package/build/components/checkout/components/credit-card-form/index.js +1 -1
  71. package/build/components/checkout/components/customer-addresses/model.js +1 -1
  72. package/build/components/checkout/components/error/index.js +1 -1
  73. package/build/components/checkout/components/error/no-shipping-error/index.d.ts +5 -3
  74. package/build/components/checkout/components/error/no-shipping-error/index.js +1 -1
  75. package/build/components/checkout/components/form-item/index.js +1 -1
  76. package/build/components/checkout/components/form-item/model.js +1 -1
  77. package/build/components/checkout/components/form-item/style.module.scss.js +1 -1
  78. package/build/components/checkout/index.d.ts +0 -1
  79. package/build/components/checkout/index.js +1 -1
  80. package/build/components/checkout/model.d.ts +3 -5
  81. package/build/components/checkout/model.js +1 -1
  82. package/build/components/checkout/steps/step-info/index.js +1 -1
  83. package/build/components/checkout/steps/step-payment/index.js +1 -1
  84. package/build/components/checkout/steps/step-shipping/index.js +1 -1
  85. package/build/components/checkout/steps/step-success/index.js +1 -1
  86. package/build/components/image/index.d.ts +3 -29
  87. package/build/components/page/head.d.ts +0 -3
  88. package/build/components/page/head.js +1 -1
  89. package/build/components/page/index.d.ts +0 -3
  90. package/build/components/page/index.js +1 -1
  91. package/build/components/page-editor/ThemeComponentEditor.js +1 -1
  92. package/build/components/page-editor/model.js +1 -1
  93. package/build/ikas.js +7 -7
  94. package/build/index.js +1 -1
  95. package/build/models/data/blog/index.d.ts +0 -2
  96. package/build/models/data/blog/index.js +1 -1
  97. package/build/models/data/category/index.d.ts +0 -2
  98. package/build/models/data/category/index.js +1 -1
  99. package/build/models/data/checkout/index.d.ts +1 -1
  100. package/build/models/data/checkout/index.js +1 -1
  101. package/build/models/data/customer/index.d.ts +0 -2
  102. package/build/models/data/customer/index.js +1 -1
  103. package/build/models/data/html-meta-data/index.d.ts +0 -2
  104. package/build/models/data/html-meta-data/index.js +1 -1
  105. package/build/models/data/image/index.d.ts +12 -3
  106. package/build/models/data/image/index.js +1 -1
  107. package/build/models/data/index.d.ts +1 -6
  108. package/build/models/data/merchant-settings/index.d.ts +0 -14
  109. package/build/models/data/merchant-settings/index.js +1 -1
  110. package/build/models/data/order/line-item/index.js +1 -1
  111. package/build/models/data/order/line-item/variant/index.d.ts +0 -7
  112. package/build/models/data/order/line-item/variant/index.js +1 -1
  113. package/build/models/data/product/index.d.ts +1 -1
  114. package/build/models/data/product/index.js +1 -1
  115. package/build/models/data/product/variant/index.d.ts +1 -0
  116. package/build/models/data/product/variant/index.js +1 -1
  117. package/build/models/data/product/variant-type/index.d.ts +0 -1
  118. package/build/models/data/product/variant-type/index.js +1 -1
  119. package/build/models/data/product-filter/index.d.ts +1 -3
  120. package/build/models/data/product-filter/index.js +1 -1
  121. package/build/models/data/product-option-set/index.js +1 -1
  122. package/build/models/data/raffle/index.d.ts +4 -12
  123. package/build/models/data/raffle/index.js +1 -1
  124. package/build/models/data/simple-product/index.d.ts +1 -1
  125. package/build/models/data/storefront/index.d.ts +0 -3
  126. package/build/models/data/storefront/index.js +1 -1
  127. package/build/models/data/storefront/theme-localization/index.js +1 -1
  128. package/build/models/theme/page/component/prop-value/product-list.d.ts +1 -2
  129. package/build/models/theme/page/component/prop-value/product-list.js +1 -1
  130. package/build/models/theme/page/index.d.ts +0 -2
  131. package/build/models/theme/page/index.js +1 -1
  132. package/build/models/theme/theme.js +1 -1
  133. package/build/models/ui/blog-category-list/index.js +1 -1
  134. package/build/models/ui/blog-list/index.js +1 -1
  135. package/build/models/ui/brand-list/index.js +1 -1
  136. package/build/models/ui/category-list/index.js +1 -1
  137. package/build/models/ui/customer-review-list/index.js +1 -1
  138. package/build/models/ui/index.d.ts +1 -2
  139. package/build/models/ui/product-detail/index.d.ts +3 -10
  140. package/build/models/ui/product-detail/index.js +1 -1
  141. package/build/models/ui/product-list/index.d.ts +1 -47
  142. package/build/models/ui/product-list/index.js +1 -1
  143. package/build/models/ui/raffle-list/index.js +1 -1
  144. package/build/models/ui/validator/form/account-info.d.ts +0 -2
  145. package/build/models/ui/validator/form/account-info.js +1 -1
  146. package/build/models/ui/validator/form/address.d.ts +0 -3
  147. package/build/models/ui/validator/form/address.js +1 -1
  148. package/build/models/ui/validator/form/contact-form.js +1 -1
  149. package/build/models/ui/validator/form/raffle-form.d.ts +0 -2
  150. package/build/models/ui/validator/form/raffle-form.js +1 -1
  151. package/build/models/ui/validator/form/register.d.ts +0 -4
  152. package/build/models/ui/validator/form/register.js +1 -1
  153. package/build/models/ui/validator/rules/index.d.ts +0 -5
  154. package/build/models/ui/validator/rules/index.js +1 -1
  155. package/build/pages/404.js +1 -1
  156. package/build/pages/_slug_/index.js +1 -1
  157. package/build/pages/account/addresses.js +1 -1
  158. package/build/pages/account/favorite-products.js +1 -1
  159. package/build/pages/account/forgot-password.js +1 -1
  160. package/build/pages/account/index.js +1 -1
  161. package/build/pages/account/login.js +1 -1
  162. package/build/pages/account/orders/_id_.js +1 -1
  163. package/build/pages/account/orders/index.js +1 -1
  164. package/build/pages/account/raffles.js +1 -1
  165. package/build/pages/account/recover-password.js +1 -1
  166. package/build/pages/account/register.js +1 -1
  167. package/build/pages/blog/_slug_.js +1 -1
  168. package/build/pages/blog/index.js +1 -1
  169. package/build/pages/cart.js +1 -1
  170. package/build/pages/checkout.js +1 -1
  171. package/build/pages/editor.js +1 -1
  172. package/build/pages/home.js +1 -1
  173. package/build/pages/pages/_slug_.js +1 -1
  174. package/build/pages/raffle/_slug_.js +1 -1
  175. package/build/pages/raffle/index.js +1 -1
  176. package/build/pages/search.js +1 -1
  177. package/build/providers/helpers/raffles.js +1 -1
  178. package/build/providers/page-data-get.d.ts +1 -9
  179. package/build/providers/page-data-get.js +1 -1
  180. package/build/providers/page-data-init.js +1 -1
  181. package/build/providers/page-data-next.d.ts +0 -36
  182. package/build/providers/page-data-next.js +1 -1
  183. package/build/providers/placeholders.js +1 -1
  184. package/build/providers/prop-value/attribute-list.js +1 -1
  185. package/build/providers/prop-value/attribute.js +1 -1
  186. package/build/providers/prop-value/blog-category-list.js +1 -1
  187. package/build/providers/prop-value/blog-category.js +1 -1
  188. package/build/providers/prop-value/blog-list.js +1 -1
  189. package/build/providers/prop-value/blog.js +1 -1
  190. package/build/providers/prop-value/brand-list.js +1 -1
  191. package/build/providers/prop-value/brand.js +1 -1
  192. package/build/providers/prop-value/category-list.js +1 -1
  193. package/build/providers/prop-value/category.js +1 -1
  194. package/build/providers/prop-value/custom.js +1 -1
  195. package/build/providers/prop-value/image-list.js +1 -1
  196. package/build/providers/prop-value/image.js +1 -1
  197. package/build/providers/prop-value/link.js +1 -1
  198. package/build/providers/prop-value/product-detail.js +1 -1
  199. package/build/providers/prop-value/product-list.d.ts +0 -6
  200. package/build/providers/prop-value/product-list.js +1 -1
  201. package/build/providers/prop-value/raffle-list.js +1 -1
  202. package/build/providers/prop-value/raffle.js +1 -1
  203. package/build/scripts/generators/types/index.js +1 -1
  204. package/build/store/base.d.ts +0 -2
  205. package/build/store/base.js +1 -1
  206. package/build/store/cart.d.ts +2 -24
  207. package/build/store/cart.js +1 -1
  208. package/build/store/customer.d.ts +3 -7
  209. package/build/store/customer.js +1 -1
  210. package/build/storefront/index.d.ts +2 -9
  211. package/build/storefront/index.js +1 -1
  212. package/build/utils/currency.d.ts +2 -2
  213. package/build/utils/currency.js +1 -1
  214. package/build/utils/helper.d.ts +0 -1
  215. package/build/utils/helper.js +1 -1
  216. package/build/utils/i18n.js +1 -1
  217. package/package.json +3 -1
  218. package/build/analytics/googleAnalytics.d.ts +0 -13
  219. package/build/analytics/googleAnalytics.js +0 -1
  220. package/build/analytics/googleUniversal.d.ts +0 -9
  221. package/build/analytics/googleUniversal.js +0 -1
  222. package/build/analytics/tiktokPixel.d.ts +0 -13
  223. package/build/analytics/tiktokPixel.js +0 -1
  224. package/build/api/customer/__generated__/getOrderByEmail.d.ts +0 -615
  225. package/build/api/customer-attribute/__generated__/listCustomerAttribute.d.ts +0 -44
  226. package/build/api/customer-attribute/index.d.ts +0 -4
  227. package/build/api/customer-attribute/index.js +0 -1
  228. package/build/api/customer-review-summary/__generated__/listCustomerReviewSummary.d.ts +0 -55
  229. package/build/api/customer-review-summary/index.d.ts +0 -21
  230. package/build/api/customer-review-summary/index.js +0 -1
  231. package/build/api/product-search/__generated__/getRelatedProducts.d.ts +0 -14
  232. package/build/api/raffle/__generated__/listRaffleParticipants.d.ts +0 -67
  233. package/build/api/raffle/__generated__/listStorefrontRaffle.d.ts +0 -82
  234. package/build/assets/translations/checkout/de.js +0 -1
  235. package/build/models/data/customer/attribute-value/index.d.ts +0 -9
  236. package/build/models/data/customer/attribute-value/index.js +0 -1
  237. package/build/models/data/customer-attribute/customer-attribute-option/index.d.ts +0 -5
  238. package/build/models/data/customer-attribute/customer-attribute-option/index.js +0 -1
  239. package/build/models/data/customer-attribute/customer-attribute-sales-channel/index.d.ts +0 -17
  240. package/build/models/data/customer-attribute/customer-attribute-sales-channel/index.js +0 -1
  241. package/build/models/data/customer-attribute/index.d.ts +0 -35
  242. package/build/models/data/customer-attribute/index.js +0 -1
  243. package/build/models/data/customer-review-summary/index.d.ts +0 -16
  244. package/build/models/data/customer-review-summary/index.js +0 -1
  245. package/build/models/ui/customer-review-summary-list/index.d.ts +0 -43
  246. package/build/models/ui/customer-review-summary-list/index.js +0 -1
  247. package/build/utils/constants.d.ts +0 -2
  248. package/build/utils/constants.js +0 -1
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t}from'../../../ext/tslib/tslib.es6.js';import a from"path";import{createFile as s,deleteDirContent as r}from"../../../utils/fs.js";import"../../../models/data/blog/index.js";import"../../../models/data/brand/index.js";import"../../../models/data/category/index.js";import"../../../models/data/checkout/index.js";import"../../../models/data/customer/address/index.js";import"../../../models/data/customer/index.js";import"../../../models/data/customer-review/index.js";import"mobx";import"../../../models/data/html-meta-data/index.js";import"../../../models/data/image/index.js";import"../../../models/data/installment-info/index.js";import"../../../models/data/merchant-settings/index.js";import"../../../models/data/order/index.js";import"../../../models/data/order/line-item/index.js";import"../../../api/product-option-file/index.js";import"../../../models/data/product/index.js";import"../../../models/data/variant-type/index.js";import"../../../models/data/product/variant/index.js";import"../../../models/data/product/variant/price/index.js";import"../../../models/data/product-attribute/index.js";import"../../../models/data/product/attribute-value/index.js";import"../../../models/data/product-filter/index.js";import"../../../models/data/variant-type/variant-value/index.js";import"../../../models/data/order-transaction/index.js";import"../../../models/data/product-option-set/index.js";import"../../../models/data/raffle/index.js";import"../../../models/data/product-campaing/campaign/index.js";import"../../../models/data/customer-attribute/index.js";import"../../../models/data/customer-attribute/customer-attribute-sales-channel/index.js";import"../../../models/theme/theme.js";import"../../../models/theme/page/index.js";import{IkasThemeComponentPropType as o}from"../../../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 i from'../../../ext/lodash/uniq.js';var n=function(){function n(){}return n.generate=function(o){return e(this,void 0,void 0,(function(){var e,p,d,c,u,l,k;return t(this,(function(t){switch(t.label){case 0:return[4,r(a.join(process.cwd(),"src","components","__generated__","types"))];case 1:t.sent(),e={content:"",imports:[],internalCustomDatas:[]},t.label=2;case 2:t.trys.push([2,5,,6]),o.customData.forEach((function(t){n.generateAllCustomDataTypes(t,e,o)})),p=0,d=0;do{p=e.internalCustomDatas.length,e.internalCustomDatas.forEach((function(t){n.generateAllCustomDataTypes(t,e,o)})),(d=e.internalCustomDatas.length)!==p&&(e.internalCustomDatas=e.internalCustomDatas.splice(p,d))}while(p!==d);return[4,m.generate(o,e)];case 3:return t.sent(),c=a.join(process.cwd(),"src","components","__generated__"),e.imports=i(e.imports),u="import {\r\n",e.imports.forEach((function(e){u+="\t".concat(e,",\r\n")})),l=(u+='} from "@ikas/storefront"\r\n\r\n')+e.content,[4,s(c,"types.ts",l)];case 4:return[2,t.sent()];case 5:return k=t.sent(),console.log(k),[2,!1];case 6:return[2]}}))}))},n.generateAllCustomDataTypes=function(e,t,a){var s=e.type===o.ENUM,r="export ".concat(s?"enum":"type"," ").concat(n.generateTypeName(e)).concat(s?"":" = ","{ \r\n"),i="};\r\n\r\n";e.type!==o.DYNAMIC_LIST&&e.type!==o.STATIC_LIST||!e.nestedData?e.type===o.ENUM&&e.enumOptions?(t.content+=r,e.enumOptions.forEach((function(e){var a=e.value;e.value&&!isNaN(parseInt(e.value))&&(a="_"+e.value),t.content+='\t"'.concat(a,'" = "').concat(null==e?void 0:e.value,'",'),t.content+="\r\n"})),t.content+=i):(t.content+=r,e.nestedData&&e.nestedData.forEach((function(e){n.genenateCustomDataType(e,t,a),t.content+="\r\n"})),t.content+=i):n.generateAllCustomDataTypes(e.nestedData[0],t,a)},n.genenateCustomDataType=function(e,t,a){var s=n.getType(e,t,a);e.key&&e.key[0].match(/^\d/)&&(e.key="_"+e.key),t.content+="\t".concat(e.key).concat(e.isRequired?"":"?",": ").concat(s).concat([o.DYNAMIC_LIST,o.STATIC_LIST].includes(e.type)?"[]":"").concat(e.type===o.ENUM?",":";")},n.getType=function(e,t,a){var s="";switch(e.type){case o.TEXT:case o.RICH_TEXT:case o.COLOR:s="string";break;case o.BOOLEAN:s="boolean";break;case o.IMAGE:s="IkasImage",t.imports.push(s);break;case o.IMAGE_LIST:s="IkasImage[]",t.imports.push("IkasImage");break;case o.LINK:s="IkasNavigationLink",t.imports.push(s);break;case o.LIST_OF_LINK:s="IkasNavigationLink[]",t.imports.push("IkasNavigationLink");break;case o.PRODUCT_DETAIL:s="IkasProductDetail",t.imports.push(s);break;case o.PRODUCT_LIST:s="IkasProductList",t.imports.push("IkasProductList");break;case o.PRODUCT_ATTRIBUTE:s="IkasProductAttribute",t.imports.push(s);break;case o.PRODUCT_ATTRIBUTE_LIST:s="IkasProductAttribute[]",t.imports.push("IkasProductAttribute");break;case o.BRAND:s="IkasBrand",t.imports.push(s);break;case o.BRAND_LIST:s="IkasBrandList",t.imports.push(s);break;case o.CATEGORY:s="IkasCategory",t.imports.push(s);break;case o.CATEGORY_LIST:s="IkasCategoryList",t.imports.push(s);break;case o.CUSTOM:var r=a.customData.find((function(t){return t.id===e.customDataId}));r&&(s=n.generateTypeName(r));break;case o.COMPONENT:s="IkasComponentRenderer",t.imports.push(s);break;case o.COMPONENT_LIST:s="IkasComponentRenderer[]",t.imports.push("IkasComponentRenderer");break;case o.BLOG:s="IkasBlog",t.imports.push(s);break;case o.BLOG_LIST:s="IkasBlogList",t.imports.push(s);break;case o.BLOG_CATEGORY:s="IkasBlogCategory",t.imports.push(s);break;case o.BLOG_CATEGORY_LIST:s="IkasBlogCategoryList",t.imports.push(s);break;case o.RAFFLE:s="IkasRaffle",t.imports.push(s);break;case o.RAFFLE_LIST:s="IkasRaffleList",t.imports.push(s);break;case o.SLIDER:s="IkasSlider",t.imports.push(s);break;case o.ENUM:s=n.generateTypeName(e),t.content.includes("export enum ".concat(s))||t.internalCustomDatas.push(e);break;case o.OBJECT:s=n.generateTypeName(e);break;case o.DYNAMIC_LIST:case o.STATIC_LIST:e.nestedData&&(e.nestedData[0].type===o.OBJECT||e.nestedData[0].type===o.ENUM?(s=n.generateTypeName(e.nestedData[0]),t.content.includes("export type ".concat(s))||t.internalCustomDatas.push(e.nestedData[0])):s=n.getType(e.nestedData[0],t,a))}return s},n.generateTypeName=function(e){if(e.typescriptName)return e.typescriptName;var t=e.name||"";return(t=(t=t.replace(/\s/g,"")).replace(/\W/g,""))[0].match(/^\d/)&&(t="_"+t),e.type===o.ENUM&&(t+="Enum"),t},n}(),m=function(){function a(){}return a.generate=function(s,r){return e(this,void 0,void 0,(function(){return t(this,(function(e){return s.components.forEach((function(e){e.props.length>0&&"checkout"!==e.id&&(r.content+="export type ".concat(a.generatePropTypeName(e),"Props = {\n"),e.props.forEach((function(e){r.content+="\t".concat(e.name,": ").concat(a.getType(e,s,r),";\n")})),r.content+="};\r\n\r\n")})),[2]}))}))},a.getType=function(e,t,a){var s="";switch(e.type){case o.TEXT:case o.RICH_TEXT:case o.COLOR:s="string";break;case o.BOOLEAN:s="boolean";break;case o.IMAGE:s="IkasImage",a.imports.push(s);break;case o.IMAGE_LIST:s="IkasImage[]",a.imports.push("IkasImage");break;case o.LINK:s="IkasNavigationLink",a.imports.push(s);break;case o.LIST_OF_LINK:s="IkasNavigationLink[]",a.imports.push("IkasNavigationLink");break;case o.PRODUCT_DETAIL:s="IkasProductDetail",a.imports.push(s);break;case o.PRODUCT_LIST:s="IkasProductList",a.imports.push("IkasProductList");break;case o.PRODUCT_ATTRIBUTE:s="IkasProductAttribute",a.imports.push(s);break;case o.PRODUCT_ATTRIBUTE_LIST:s="IkasProductAttribute[]",a.imports.push("IkasProductAttribute");break;case o.BRAND:s="IkasBrand",a.imports.push(s);break;case o.BRAND_LIST:s="IkasBrandList",a.imports.push(s);break;case o.CATEGORY:s="IkasCategory",a.imports.push(s);break;case o.CATEGORY_LIST:s="IkasCategoryList",a.imports.push(s);break;case o.CUSTOM:var r=t.customData.find((function(t){return t.id===e.customDataId}));r&&(s=n.getType(r,a,t),r.type!==o.DYNAMIC_LIST&&r.type!==o.STATIC_LIST||(s+="[]"));break;case o.COMPONENT:s="IkasComponentRenderer",a.imports.push(s);break;case o.COMPONENT_LIST:s="IkasComponentRenderer[]",a.imports.push("IkasComponentRenderer");break;case o.BLOG:s="IkasBlog",a.imports.push(s);break;case o.BLOG_LIST:s="IkasBlogList",a.imports.push(s);break;case o.BLOG_CATEGORY:s="IkasBlogCategory",a.imports.push(s);break;case o.BLOG_CATEGORY_LIST:s="IkasBlogCategoryList",a.imports.push(s);break;case o.RAFFLE:s="IkasRaffle",a.imports.push(s);break;case o.RAFFLE_LIST:s="IkasRaffleList",a.imports.push(s);break;case o.SLIDER:s="IkasSlider",a.imports.push(s)}return s},a.generatePropTypeName=function(e){if(""!==e.displayName){var t=(e.dir||"").split("-"),a="";return t.forEach((function(e,t){return a+=e.charAt(0).toUpperCase()+e.slice(1)})),a[0].match(/^\d/)&&(a="_"+a),a}},a}();export{n as CustomDataTypesGenerator,m as PropTypeGenarator};
1
+ import{__awaiter as e,__generator as t}from'../../../ext/tslib/tslib.es6.js';import a from"path";import{createFile as s,deleteDirContent as o}from"../../../utils/fs.js";import"../../../models/data/blog/index.js";import"../../../models/data/brand/index.js";import"../../../models/data/category/index.js";import"../../../models/data/checkout/index.js";import"../../../models/data/customer/address/index.js";import"../../../models/data/customer/index.js";import"../../../models/data/customer-review/index.js";import"../../../models/data/html-meta-data/index.js";import"../../../models/data/image/index.js";import"../../../models/data/installment-info/index.js";import"../../../models/data/order/index.js";import"../../../models/data/order/line-item/index.js";import"mobx";import"../../../api/product-option-file/index.js";import"../../../models/data/product/index.js";import"../../../models/data/variant-type/index.js";import"../../../models/data/product/variant/index.js";import"../../../models/data/product/variant/price/index.js";import"../../../models/data/product-attribute/index.js";import"../../../models/data/product/attribute-value/index.js";import"../../../models/data/product-filter/index.js";import"../../../models/data/variant-type/variant-value/index.js";import"../../../models/data/order-transaction/index.js";import"../../../models/data/product-option-set/index.js";import"../../../models/data/raffle/index.js";import"../../../models/data/product-campaing/campaign/index.js";import"../../../models/theme/theme.js";import"../../../models/theme/page/index.js";import{IkasThemeComponentPropType as r}from"../../../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/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 i from'../../../ext/lodash/uniq.js';var n=function(){function n(){}return n.generate=function(r){return e(this,void 0,void 0,(function(){var e,m,c,d,u,l,k;return t(this,(function(t){switch(t.label){case 0:return[4,o(a.join(process.cwd(),"src","components","__generated__","types"))];case 1:t.sent(),e={content:"",imports:[],internalCustomDatas:[]},t.label=2;case 2:t.trys.push([2,5,,6]),r.customData.forEach((function(t){n.generateAllCustomDataTypes(t,e,r)})),m=0,c=0;do{m=e.internalCustomDatas.length,e.internalCustomDatas.forEach((function(t){n.generateAllCustomDataTypes(t,e,r)})),(c=e.internalCustomDatas.length)!==m&&(e.internalCustomDatas=e.internalCustomDatas.splice(m,c))}while(m!==c);return[4,p.generate(r,e)];case 3:return t.sent(),d=a.join(process.cwd(),"src","components","__generated__"),e.imports=i(e.imports),u="import {\r\n",e.imports.forEach((function(e){u+="\t".concat(e,",\r\n")})),l=(u+='} from "@ikas/storefront"\r\n\r\n')+e.content,[4,s(d,"types.ts",l)];case 4:return[2,t.sent()];case 5:return k=t.sent(),console.log(k),[2,!1];case 6:return[2]}}))}))},n.generateAllCustomDataTypes=function(e,t,a){var s=e.type===r.ENUM,o="export ".concat(s?"enum":"type"," ").concat(n.generateTypeName(e)).concat(s?"":" = ","{ \r\n"),i="};\r\n\r\n";e.type!==r.DYNAMIC_LIST&&e.type!==r.STATIC_LIST||!e.nestedData?e.type===r.ENUM&&e.enumOptions?(t.content+=o,e.enumOptions.forEach((function(e){var a=e.value;e.value&&!isNaN(parseInt(e.value))&&(a="_"+e.value),t.content+='\t"'.concat(a,'" = "').concat(null==e?void 0:e.value,'",'),t.content+="\r\n"})),t.content+=i):(t.content+=o,e.nestedData&&e.nestedData.forEach((function(e){n.genenateCustomDataType(e,t,a),t.content+="\r\n"})),t.content+=i):n.generateAllCustomDataTypes(e.nestedData[0],t,a)},n.genenateCustomDataType=function(e,t,a){var s=n.getType(e,t,a);e.key&&e.key[0].match(/^\d/)&&(e.key="_"+e.key),t.content+="\t".concat(e.key).concat(e.isRequired?"":"?",": ").concat(s).concat([r.DYNAMIC_LIST,r.STATIC_LIST].includes(e.type)?"[]":"").concat(e.type===r.ENUM?",":";")},n.getType=function(e,t,a){var s="";switch(e.type){case r.TEXT:case r.RICH_TEXT:case r.COLOR:s="string";break;case r.BOOLEAN:s="boolean";break;case r.IMAGE:s="IkasImage",t.imports.push(s);break;case r.IMAGE_LIST:s="IkasImage[]",t.imports.push("IkasImage");break;case r.LINK:s="IkasNavigationLink",t.imports.push(s);break;case r.LIST_OF_LINK:s="IkasNavigationLink[]",t.imports.push("IkasNavigationLink");break;case r.PRODUCT_DETAIL:s="IkasProductDetail",t.imports.push(s);break;case r.PRODUCT_LIST:s="IkasProductList",t.imports.push("IkasProductList");break;case r.PRODUCT_ATTRIBUTE:s="IkasProductAttribute",t.imports.push(s);break;case r.PRODUCT_ATTRIBUTE_LIST:s="IkasProductAttribute[]",t.imports.push("IkasProductAttribute");break;case r.BRAND:s="IkasBrand",t.imports.push(s);break;case r.BRAND_LIST:s="IkasBrandList",t.imports.push(s);break;case r.CATEGORY:s="IkasCategory",t.imports.push(s);break;case r.CATEGORY_LIST:s="IkasCategoryList",t.imports.push(s);break;case r.CUSTOM:var o=a.customData.find((function(t){return t.id===e.customDataId}));o&&(s=n.generateTypeName(o));break;case r.COMPONENT:s="IkasComponentRenderer",t.imports.push(s);break;case r.COMPONENT_LIST:s="IkasComponentRenderer[]",t.imports.push("IkasComponentRenderer");break;case r.BLOG:s="IkasBlog",t.imports.push(s);break;case r.BLOG_LIST:s="IkasBlogList",t.imports.push(s);break;case r.BLOG_CATEGORY:s="IkasBlogCategory",t.imports.push(s);break;case r.BLOG_CATEGORY_LIST:s="IkasBlogCategoryList",t.imports.push(s);break;case r.RAFFLE:s="IkasRaffle",t.imports.push(s);break;case r.RAFFLE_LIST:s="IkasRaffleList",t.imports.push(s);break;case r.ENUM:s=n.generateTypeName(e),t.content.includes("export enum ".concat(s))||t.internalCustomDatas.push(e);break;case r.OBJECT:s=n.generateTypeName(e);break;case r.DYNAMIC_LIST:case r.STATIC_LIST:e.nestedData&&(e.nestedData[0].type===r.OBJECT||e.nestedData[0].type===r.ENUM?(s=n.generateTypeName(e.nestedData[0]),t.content.includes("export type ".concat(s))||t.internalCustomDatas.push(e.nestedData[0])):s=n.getType(e.nestedData[0],t,a))}return s},n.generateTypeName=function(e){if(e.typescriptName)return e.typescriptName;var t=e.name||"";return(t=(t=t.replace(/\s/g,"")).replace(/\W/g,""))[0].match(/^\d/)&&(t="_"+t),e.type===r.ENUM&&(t+="Enum"),t},n}(),p=function(){function a(){}return a.generate=function(s,o){return e(this,void 0,void 0,(function(){return t(this,(function(e){return s.components.forEach((function(e){e.props.length>0&&"checkout"!==e.id&&(o.content+="export type ".concat(a.generatePropTypeName(e),"Props = {\n"),e.props.forEach((function(e){o.content+="\t".concat(e.name,": ").concat(a.getType(e,s,o),";\n")})),o.content+="};\r\n\r\n")})),[2]}))}))},a.getType=function(e,t,a){var s="";switch(e.type){case r.TEXT:case r.RICH_TEXT:case r.COLOR:s="string";break;case r.BOOLEAN:s="boolean";break;case r.IMAGE:s="IkasImage",a.imports.push(s);break;case r.IMAGE_LIST:s="IkasImage[]",a.imports.push("IkasImage");break;case r.LINK:s="IkasNavigationLink",a.imports.push(s);break;case r.LIST_OF_LINK:s="IkasNavigationLink[]",a.imports.push("IkasNavigationLink");break;case r.PRODUCT_DETAIL:s="IkasProductDetail",a.imports.push(s);break;case r.PRODUCT_LIST:s="IkasProductList",a.imports.push("IkasProductList");break;case r.PRODUCT_ATTRIBUTE:s="IkasProductAttribute",a.imports.push(s);break;case r.PRODUCT_ATTRIBUTE_LIST:s="IkasProductAttribute[]",a.imports.push("IkasProductAttribute");break;case r.BRAND:s="IkasBrand",a.imports.push(s);break;case r.BRAND_LIST:s="IkasBrandList",a.imports.push(s);break;case r.CATEGORY:s="IkasCategory",a.imports.push(s);break;case r.CATEGORY_LIST:s="IkasCategoryList",a.imports.push(s);break;case r.CUSTOM:var o=t.customData.find((function(t){return t.id===e.customDataId}));o&&(s=n.getType(o,a,t),o.type!==r.DYNAMIC_LIST&&o.type!==r.STATIC_LIST||(s+="[]"));break;case r.COMPONENT:s="IkasComponentRenderer",a.imports.push(s);break;case r.COMPONENT_LIST:s="IkasComponentRenderer[]",a.imports.push("IkasComponentRenderer");break;case r.BLOG:s="IkasBlog",a.imports.push(s);break;case r.BLOG_LIST:s="IkasBlogList",a.imports.push(s);break;case r.BLOG_CATEGORY:s="IkasBlogCategory",a.imports.push(s);break;case r.BLOG_CATEGORY_LIST:s="IkasBlogCategoryList",a.imports.push(s);break;case r.RAFFLE:s="IkasRaffle",a.imports.push(s);break;case r.RAFFLE_LIST:s="IkasRaffleList",a.imports.push(s);break;case r.SLIDER:s="IkasSlider",a.imports.push(s)}return s},a.generatePropTypeName=function(e){if(""!==e.displayName){var t=(e.dir||"").split("-"),a="";return t.forEach((function(e,t){return a+=e.charAt(0).toUpperCase()+e.slice(1)})),a[0].match(/^\d/)&&(a="_"+a),a}},a}();export{n as CustomDataTypesGenerator,p as PropTypeGenarator};
@@ -19,8 +19,6 @@ export declare class IkasBaseStore {
19
19
  declare type IkasLocaleOption = {
20
20
  readonly id: string;
21
21
  readonly countryName?: string;
22
- readonly iso2?: string;
23
- readonly iso3?: string;
24
22
  readonly routing: IkasStorefrontRouting;
25
23
  readonly isRecommended: boolean;
26
24
  };
@@ -1 +1 @@
1
- import{__awaiter as o,__generator as t}from'../ext/tslib/tslib.es6.js';import{configure as i,makeObservable as e,observable as r}from"mobx";import s from'../ext/lodash/sortBy.js';import d from'../ext/lodash/flatten.js';import{IkasCartStore as n}from"./cart.js";import{IkasCustomerStore as a}from"./customer.js";import"../models/data/blog/index.js";import"../models/data/brand/index.js";import"../models/data/category/index.js";import"../models/data/checkout/index.js";import"../models/data/customer/address/index.js";import"../models/data/customer/index.js";import"../models/data/customer-review/index.js";import"../models/data/html-meta-data/index.js";import"../models/data/image/index.js";import"../models/data/installment-info/index.js";import"../models/data/merchant-settings/index.js";import"../models/data/order/index.js";import"../models/data/order/line-item/index.js";import"../api/product-option-file/index.js";import"../models/data/product/index.js";import"../models/data/variant-type/index.js";import"../models/data/product/variant/index.js";import"../models/data/product/variant/price/index.js";import"../models/data/product-attribute/index.js";import"../models/data/product/attribute-value/index.js";import"../models/data/product-filter/index.js";import"../models/data/variant-type/variant-value/index.js";import"../models/data/order-transaction/index.js";import"../models/data/product-option-set/index.js";import"../models/data/raffle/index.js";import"../models/data/product-campaing/campaign/index.js";import"../models/data/customer-attribute/index.js";import"../models/data/customer-attribute/customer-attribute-sales-channel/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{IkasThemeSettings as m}from"../models/theme/settings/index.js";import"../models/theme/custom-data/index.js";import"../api/blog/index.js";import"../api/brand/index.js";import"../api/cart/index.js";import"../api/category/index.js";import"../api/checkout/index.js";import"../api/city/index.js";import{IkasCountryAPI as p}from"../api/country/index.js";import"../api/customer/index.js";import"../api/customer-review/index.js";import"../api/customer-review-summary/index.js";import"../api/district/index.js";import"../api/html-meta-data/index.js";import"../api/merchant/index.js";import"../api/product-search/index.js";import"../api/apollo.js";import"../api/favorite-product/index.js";import"../api/contact-form/index.js";import"../api/state/index.js";import"../api/product-option-set/index.js";import"../api/raffle/index.js";import"../api/back-in-stock-reminder/index.js";import"../api/product-campaign/index.js";import{IkasStorefrontConfig as l}from"../storefront/index.js";import u from'../ext/uuid/dist/esm-browser/v4.js';i({enforceActions:"never"});var c=function(){function i(){this.currentPageType=null,this.localeOptions=[],this.showLocaleOptions=!1,this.currentCountryCode=null,this.localeChecked=!1,this.settingsSet=!1,this.customerStore=new a(this),this.cartStore=new n(this),e(this,{currentPageType:r,localeOptions:r,showLocaleOptions:r,currentCountryCode:r})}return i.prototype.checkLocalization=function(){return o(this,void 0,void 0,(function(){var o,i,e,r,n,a,m,c;return t(this,(function(t){switch(t.label){case 0:return this.localeChecked?[2]:void 0===typeof window?(console.warn("checkLocalization should be called on the client side!"),[2]):[4,p.getMyCountry()];case 1:return o=t.sent(),i=l.routings.find((function(o){return o.id===l.storefrontRoutingId})),this.currentCountryCode=o,i&&o?(e=!0,r=l.routings.find((function(t){var i;return null===(i=t.countryCodes)||void 0===i?void 0:i.includes(o)})),n=l.routings.find((function(o){var t;return!(null===(t=o.countryCodes)||void 0===t?void 0:t.length)})),r?i.id!==r.id&&(e=!1):n&&i.id!==n.id&&(e=!1),a=d(l.routings.map((function(o){return o.countryCodes||[]}))),[4,p.listCountries(a)]):[3,3];case 2:m=t.sent(),c=[],l.routings.map((function(t){var i;(null===(i=t.countryCodes)||void 0===i?void 0:i.length)?t.countryCodes.forEach((function(i){var e=m.find((function(o){return o.iso2===i}));c.push({id:u(),countryName:(null==e?void 0:e.native)||(null==e?void 0:e.name)||"",iso2:null==e?void 0:e.iso2,iso3:null==e?void 0:e.iso3,routing:t,isRecommended:i===o})})):c.push({id:u(),routing:t,isRecommended:!l.routings.some((function(t){var i;return null===(i=t.countryCodes)||void 0===i?void 0:i.includes(o)}))})})),this.localeOptions=s(c,"countryName"),e||(this.showLocaleOptions=!0),this.localeChecked=!0,t.label=3;case 3:return[2]}}))}))},i.prototype.setLocalization=function(o){o.routing.domain?window.location.replace("https://"+o.routing.domain):window.location.replace(window.location.origin+(o.routing.path?"/"+o.routing.path:""))},i.prototype.setSettings=function(o){this.settingsSet||new m(JSON.parse(o)).colors.map((function(o){return document.documentElement.style.setProperty(o.key,o.color)}))},i}();export{c as IkasBaseStore};
1
+ import{__awaiter as o,__generator as t}from'../ext/tslib/tslib.es6.js';import{configure as i,makeObservable as e,observable as r}from"mobx";import s from'../ext/lodash/sortBy.js';import d from'../ext/lodash/flatten.js';import{IkasCartStore as n}from"./cart.js";import{IkasCustomerStore as a}from"./customer.js";import"../models/data/blog/index.js";import"../models/data/brand/index.js";import"../models/data/category/index.js";import"../models/data/checkout/index.js";import"../models/data/customer/address/index.js";import"../models/data/customer/index.js";import"../models/data/customer-review/index.js";import"../models/data/html-meta-data/index.js";import"../models/data/image/index.js";import"../models/data/installment-info/index.js";import"../models/data/order/index.js";import"../models/data/order/line-item/index.js";import"../api/product-option-file/index.js";import"../models/data/product/index.js";import"../models/data/variant-type/index.js";import"../models/data/product/variant/index.js";import"../models/data/product/variant/price/index.js";import"../models/data/product-attribute/index.js";import"../models/data/product/attribute-value/index.js";import"../models/data/product-filter/index.js";import"../models/data/variant-type/variant-value/index.js";import"../models/data/order-transaction/index.js";import"../models/data/product-option-set/index.js";import"../models/data/raffle/index.js";import"../models/data/product-campaing/campaign/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/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 m}from"../models/theme/settings/index.js";import"../models/theme/custom-data/index.js";import"../api/blog/index.js";import"../api/brand/index.js";import"../api/cart/index.js";import"../api/category/index.js";import"../api/checkout/index.js";import"../api/city/index.js";import{IkasCountryAPI as p}from"../api/country/index.js";import"../api/customer/index.js";import"../api/customer-review/index.js";import"../api/district/index.js";import"../api/html-meta-data/index.js";import"../api/merchant/index.js";import"../api/product-search/index.js";import"../api/apollo.js";import"../api/favorite-product/index.js";import"../api/contact-form/index.js";import"../api/state/index.js";import"../api/product-option-set/index.js";import"../api/raffle/index.js";import"../api/back-in-stock-reminder/index.js";import"../api/product-campaign/index.js";import{IkasStorefrontConfig as l}from"../storefront/index.js";import u from'../ext/uuid/dist/esm-browser/v4.js';i({enforceActions:"never"});var c=function(){function i(){this.currentPageType=null,this.localeOptions=[],this.showLocaleOptions=!1,this.currentCountryCode=null,this.localeChecked=!1,this.settingsSet=!1,this.customerStore=new a(this),this.cartStore=new n(this),e(this,{currentPageType:r,localeOptions:r,showLocaleOptions:r,currentCountryCode:r})}return i.prototype.checkLocalization=function(){return o(this,void 0,void 0,(function(){var o,i,e,r,n,a,m,c;return t(this,(function(t){switch(t.label){case 0:return this.localeChecked?[2]:void 0===typeof window?(console.warn("checkLocalization should be called on the client side!"),[2]):[4,p.getMyCountry()];case 1:return o=t.sent(),i=l.routings.find((function(o){return o.id===l.storefrontRoutingId})),this.currentCountryCode=o,i&&o?(e=!0,r=l.routings.find((function(t){var i;return null===(i=t.countryCodes)||void 0===i?void 0:i.includes(o)})),n=l.routings.find((function(o){var t;return!(null===(t=o.countryCodes)||void 0===t?void 0:t.length)})),r?i.id!==r.id&&(e=!1):n&&i.id!==n.id&&(e=!1),a=d(l.routings.map((function(o){return o.countryCodes||[]}))),[4,p.listCountries(a)]):[3,3];case 2:m=t.sent(),c=[],l.routings.map((function(t){var i;(null===(i=t.countryCodes)||void 0===i?void 0:i.length)?t.countryCodes.forEach((function(i){var e,r=m.find((function(o){return o.iso2===i}));c.push({id:u(),countryName:(null==r?void 0:r.native)||(null==r?void 0:r.name)||"",routing:t,isRecommended:(null===(e=t.countryCodes)||void 0===e?void 0:e.includes(o))||!1})})):c.push({id:u(),routing:t,isRecommended:!l.routings.some((function(t){var i;return null===(i=t.countryCodes)||void 0===i?void 0:i.includes(o)}))})})),this.localeOptions=s(c,"countryName"),e||(this.showLocaleOptions=!0),this.localeChecked=!0,t.label=3;case 3:return[2]}}))}))},i.prototype.setLocalization=function(o){o.routing.domain?window.location.replace("https://"+o.routing.domain):window.location.replace(window.location.origin+(o.routing.path?"/"+o.routing.path:""))},i.prototype.setSettings=function(o){this.settingsSet||new m(JSON.parse(o)).colors.map((function(o){return document.documentElement.style.setProperty(o.key,o.color)}))},i}();export{c as IkasBaseStore};
@@ -1,7 +1,6 @@
1
1
  import { IkasCart } from "../models/data/cart";
2
2
  import { IkasProductVariant, IkasOrderLineItem, IkasProduct } from "../models";
3
3
  import { IkasBaseStore } from "./base";
4
- import { SaveItemToCartCallbackType } from "src/api/cart";
5
4
  export declare const CART_LS_KEY = "cartId";
6
5
  export declare const CHECKOUT_LS_KEY = "checkoutId";
7
6
  export declare class IkasCartStore {
@@ -15,29 +14,8 @@ export declare class IkasCartStore {
15
14
  get cartLoadFinished(): boolean;
16
15
  get checkoutId(): string | null | undefined;
17
16
  get checkoutUrl(): string | undefined;
18
- /**
19
- * @async
20
- * @function addItem
21
- * @param variant
22
- * @param product
23
- * @param initialQuantity
24
- * @param {Function=} callback BREAKING CHANGE ALERT. will be deprecated in v3.0 -
25
- * you can use when you want catch and handle api errors.
26
- * for example max_quantity_per_cart_limit_reached
27
- * @returns {Promise<boolean>}
28
- */
29
- addItem: (variant: IkasProductVariant, product: IkasProduct, initialQuantity?: number, callback?: SaveItemToCartCallbackType | undefined) => Promise<boolean>;
30
- /**
31
- * @async
32
- * @function changeItemQuantity
33
- * @param item
34
- * @param quantity
35
- * @param {Function=} callback BREAKING CHANGE ALERT. will be deprecated in v3.0 -
36
- * you can use when you want catch and handle api errors.
37
- * for example max_quantity_per_cart_limit_reached
38
- * @returns {Promise<boolean>}
39
- */
40
- changeItemQuantity: (item: IkasOrderLineItem, quantity: number, callback?: SaveItemToCartCallbackType | undefined) => Promise<boolean>;
17
+ addItem: (variant: IkasProductVariant, product: IkasProduct, initialQuantity?: number) => Promise<boolean>;
18
+ changeItemQuantity: (item: IkasOrderLineItem, quantity: number) => Promise<boolean>;
41
19
  removeItem: (item: IkasOrderLineItem) => Promise<void>;
42
20
  removeCart: () => void;
43
21
  waitUntilInitialized: () => Promise<unknown>;
@@ -1 +1 @@
1
- import{__awaiter as t,__generator as e}from'../ext/tslib/tslib.es6.js';import"../api/blog/index.js";import"../api/brand/index.js";import{IkasCartAPI as i}from"../api/cart/index.js";import"../api/category/index.js";import{IkasCheckoutAPI as o}from"../api/checkout/index.js";import"../api/city/index.js";import"../api/country/index.js";import"../api/customer/index.js";import"../api/customer-review/index.js";import"../api/customer-review-summary/index.js";import"../api/district/index.js";import"../api/html-meta-data/index.js";import"../api/merchant/index.js";import"../api/product-search/index.js";import"../models/data/blog/index.js";import"../models/data/brand/index.js";import"../models/data/category/index.js";import"../models/data/checkout/index.js";import"../models/data/customer/address/index.js";import"../models/data/customer/index.js";import"../models/data/customer-review/index.js";import{makeAutoObservable as r}from"mobx";import"../models/data/html-meta-data/index.js";import"../models/data/image/index.js";import"../models/data/installment-info/index.js";import"../models/data/merchant-settings/index.js";import"../models/data/order/index.js";import"../models/data/order/line-item/index.js";import"../api/product-option-file/index.js";import"../models/data/product/index.js";import"../models/data/variant-type/index.js";import"../models/data/product/variant/index.js";import"../models/data/product/variant/price/index.js";import"../models/data/product-attribute/index.js";import"../models/data/product/attribute-value/index.js";import"../models/data/product-filter/index.js";import"../models/data/variant-type/variant-value/index.js";import"../models/data/order-transaction/index.js";import"../models/data/product-option-set/index.js";import"../models/data/raffle/index.js";import"../models/data/product-campaing/campaign/index.js";import"../models/data/customer-attribute/index.js";import"../models/data/customer-attribute/customer-attribute-sales-channel/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"../api/apollo.js";import"../api/favorite-product/index.js";import"../api/contact-form/index.js";import"../api/state/index.js";import"../api/product-option-set/index.js";import"../api/raffle/index.js";import"../api/back-in-stock-reminder/index.js";import"../api/product-campaign/index.js";import{Analytics as n}from"../analytics/analytics.js";import"../analytics/head/index.js";import{IkasStorefrontConfig as a}from"../storefront/index.js";import{IkasProductCartLineOption as s}from"../models/data/product-cart-item-options/index.js";var d="cartId",c="checkoutId",u=function(){function d(d){var c=this;this.cart=null,this._checkoutId=null,this._isLoadingCart=!1,this._cartLoadFinished=!1,this.addItem=function(o,r,s,d){return void 0===s&&(s=1),t(c,void 0,void 0,(function(){var t,c,u,l,m,p,h,v,f,j,I,g,x;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,5,,6]),r.canAddToCart?[4,this.beforeCartOperationCheck()]:[2,!1];case 1:return e.sent(),this.cart&&(t=this.findExistingItem(o,r))?(null===(f=r.productOptionSet)||void 0===f||f.initOptionValues(),[2,this.changeItemQuantity(t,t.quantity+1,d)]):(c=this.getOptionValues(r),u=(null===(j=this.cart)||void 0===j?void 0:j.id)||localStorage.getItem("cartId"),l={cartId:u,customerId:(null===(I=this.cart)||void 0===I?void 0:I.customerId)||(null===(g=this.baseStore.customerStore.customer)||void 0===g?void 0:g.id)||null,item:{id:null,quantity:s,variant:{id:o.id,name:r.name}},options:c.length?c:null,priceListId:a.priceListId||null,salesChannelId:a.salesChannelId,storefrontId:a.storefrontId,storefrontRoutingId:a.storefrontRoutingId,storefrontThemeId:a.storefrontThemeId},[4,i.saveItemToCart(l,d)]);case 2:return(m=e.sent())?[4,this.setCart(m)]:[3,4];case 3:e.sent(),e.label=4;case 4:return this.cart&&(p="".concat(this.cart.id,"-").concat(this.cart.updatedAt),(h=this.cart.items.find((function(t){return t.variant.id===o.id})))&&n.addToCart(h,s,p,this.cart)),null===(x=r.productOptionSet)||void 0===x||x.initOptionValues(),[2,!0];case 5:return v=e.sent(),console.log(v),[2,!1];case 6:return[2]}}))}))},this.changeItemQuantity=function(o,r,s){return t(c,void 0,void 0,(function(){var t,d,c,u,l,m,p,h;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,5,,6]),[4,this.beforeCartOperationCheck()];case 1:return e.sent(),t={cartId:(null===(m=this.cart)||void 0===m?void 0:m.id)||null,customerId:(null===(p=this.cart)||void 0===p?void 0:p.customerId)||(null===(h=this.baseStore.customerStore.customer)||void 0===h?void 0:h.id)||null,item:{id:o.id,quantity:r,variant:{id:o.variant.id,name:o.variant.name}},options:this.createCartLineOptions(o),priceListId:a.priceListId||null,salesChannelId:a.salesChannelId,storefrontId:a.storefrontId,storefrontRoutingId:a.storefrontRoutingId,storefrontThemeId:a.storefrontThemeId},[4,i.saveItemToCart(t,s)];case 2:return(d=e.sent())?[4,this.setCart(d)]:[3,4];case 3:e.sent(),e.label=4;case 4:return this.removeCardIfEmpty(),this.cart&&(c="".concat(this.cart.id,"-").concat(this.cart.updatedAt),(u=o.quantity)>r?n.removeFromCart(o,u-r,this.cart):n.addToCart(o,r-u,c,this.cart)),[2,!0];case 5:return l=e.sent(),console.log(l),[2,!1];case 6:return[2]}}))}))},this.removeItem=function(i){return t(c,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,this.changeItemQuantity(i,0)];case 1:return t.sent(),[2]}}))}))},this.removeCart=function(){localStorage.removeItem("cartId"),localStorage.removeItem("checkoutId"),c.cart=void 0,c._checkoutId=void 0},this.waitUntilInitialized=function(){return new Promise((function(t){var e=setInterval((function(){c.cartLoadFinished&&(clearInterval(e),t(null))}),100)}))},this.findExistingItem=function(t,e){var i,o,r,n,a;if(!e.productOptionSetId)return null===(i=c.cart)||void 0===i?void 0:i.items.find((function(e){return e.variant.id===t.id}));for(var s=c.getOptionValues(e),d=(null===(o=c.cart)||void 0===o?void 0:o.items.filter((function(e){var i;return e.variant.id===t.id&&(null===(i=e.options)||void 0===i?void 0:i.length)===s.length})))||[],u=0,l=d;u<l.length;u++){var m=l[u];if(m.options){for(var p=!0,h=function(t){var i=t.values.map((function(t){return t.value})),o=null===(a=null===(n=null===(r=e.productOptionSet)||void 0===r?void 0:r.options)||void 0===n?void 0:n.find((function(e){return e.id===t.productOptionId})))||void 0===a?void 0:a.values;if(!(p=p&&i.length===(null==o?void 0:o.length)&&i.every((function(t){return null==o?void 0:o.includes(t)}))))return"break"},v=0,f=m.options;v<f.length;v++){if("break"===h(f[v]))break}if(p)return m}}},this.removeCardIfEmpty=function(){var t;0===(null===(t=c.cart)||void 0===t?void 0:t.itemCount)&&c.removeCart()},this.getCart=function(){return t(c,void 0,void 0,(function(){var t,o,r,n,a,s;return e(this,(function(e){switch(e.label){case 0:if(!("undefined"!=typeof localStorage))return[2];e.label=1;case 1:return e.trys.push([1,6,7,8]),this._isLoadingCart=!0,t=null===(a=this.baseStore.customerStore.customer)||void 0===a?void 0:a.id,(o=(null===(s=this.cart)||void 0===s?void 0:s.id)||localStorage.getItem("cartId"))||t?[4,i.getCart(o||void 0)]:[2];case 2:return(r=e.sent())?[4,this.setCart(r)]:[3,4];case 3:return e.sent(),[3,5];case 4:this.removeCart(),e.label=5;case 5:return[3,8];case 6:return n=e.sent(),console.log(n),[3,8];case 7:return this._isLoadingCart=!1,this._cartLoadFinished=!0,[7];case 8:return[2]}}))}))},this.setCart=function(i){return t(c,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return localStorage.setItem("cartId",i.id),this.cart=i,this._checkoutId||(this._checkoutId=localStorage.getItem("checkoutId")||void 0),this._checkoutId?[3,2]:[4,o.getCheckoutId(i.id)];case 1:t=e.sent(),this._checkoutId=t,t&&localStorage.setItem("checkoutId",t),e.label=2;case 2:return[2]}}))}))},this.beforeCartOperationCheck=function(){return t(c,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return t=localStorage.getItem("cartId"),!this.cart||t?[3,1]:(this.removeCart(),[3,3]);case 1:return this.cart||!t?[3,3]:[4,this.getCart()];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))},this.createCartLineOptions=function(t){if(t&&t.options){for(var e=[],i=0,o=t.options;i<o.length;i++){var r=o[i],n=new s({});n.productOptionId=r.productOptionId,n.productOptionsSetId=r.productOptionsSetId,n.values=r.values.map((function(t){return t.value})),e.push(n)}return e}return null},this.getOptionValues=function(t){var e,i=[];return null===(e=t.productOptionSet)||void 0===e||e.options.forEach((function(t){t.values.length&&i.push(new s({productOptionId:t.id,productOptionsSetId:t.productOptionSetId,values:t.values}))})),i},this.baseStore=d,r(this)}return Object.defineProperty(d.prototype,"isLoadingCart",{get:function(){return this._isLoadingCart},enumerable:!1,configurable:!0}),Object.defineProperty(d.prototype,"cartLoadFinished",{get:function(){return this._cartLoadFinished},enumerable:!1,configurable:!0}),Object.defineProperty(d.prototype,"checkoutId",{get:function(){return this._checkoutId},enumerable:!1,configurable:!0}),Object.defineProperty(d.prototype,"checkoutUrl",{get:function(){if(this._checkoutId)return"/checkout?id=".concat(this._checkoutId,"&step=info")},enumerable:!1,configurable:!0}),d}();export{d as CART_LS_KEY,c as CHECKOUT_LS_KEY,u as IkasCartStore};
1
+ import{__awaiter as t,__generator as e}from'../ext/tslib/tslib.es6.js';import"../api/blog/index.js";import"../api/brand/index.js";import{IkasCartAPI as i}from"../api/cart/index.js";import"../api/category/index.js";import{IkasCheckoutAPI as o}from"../api/checkout/index.js";import"../api/city/index.js";import"../api/country/index.js";import"../api/customer/index.js";import"../api/customer-review/index.js";import"../api/district/index.js";import"../api/html-meta-data/index.js";import"../api/merchant/index.js";import"../api/product-search/index.js";import"../models/data/blog/index.js";import"../models/data/brand/index.js";import"../models/data/category/index.js";import"../models/data/checkout/index.js";import"../models/data/customer/address/index.js";import"../models/data/customer/index.js";import"../models/data/customer-review/index.js";import"../models/data/html-meta-data/index.js";import"../models/data/image/index.js";import"../models/data/installment-info/index.js";import"../models/data/order/index.js";import"../models/data/order/line-item/index.js";import{makeAutoObservable as r}from"mobx";import"../api/product-option-file/index.js";import"../models/data/product/index.js";import"../models/data/variant-type/index.js";import"../models/data/product/variant/index.js";import"../models/data/product/variant/price/index.js";import"../models/data/product-attribute/index.js";import"../models/data/product/attribute-value/index.js";import"../models/data/product-filter/index.js";import"../models/data/variant-type/variant-value/index.js";import"../models/data/order-transaction/index.js";import"../models/data/product-option-set/index.js";import"../models/data/raffle/index.js";import"../models/data/product-campaing/campaign/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/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"../api/apollo.js";import"../api/favorite-product/index.js";import"../api/contact-form/index.js";import"../api/state/index.js";import"../api/product-option-set/index.js";import"../api/raffle/index.js";import"../api/back-in-stock-reminder/index.js";import"../api/product-campaign/index.js";import{Analytics as n}from"../analytics/analytics.js";import"../analytics/head/index.js";import{IkasStorefrontConfig as a}from"../storefront/index.js";import{IkasProductCartLineOption as s}from"../models/data/product-cart-item-options/index.js";var d="cartId",c="checkoutId",u=function(){function d(d){var c=this;this.cart=null,this._checkoutId=null,this._isLoadingCart=!1,this._cartLoadFinished=!1,this.addItem=function(o,r,s){return void 0===s&&(s=1),t(c,void 0,void 0,(function(){var t,d,c,u,l,m,p,h,v,f,j,I,g;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,5,,6]),r.hasValidProductOptionValues&&(o.hasStock||o.sellIfOutOfStock)?[4,this.beforeCartOperationCheck()]:[2,!1];case 1:return e.sent(),this.cart&&(t=this.findExistingItem(o,r))?(null===(v=r.productOptionSet)||void 0===v||v.initOptionValues(),[2,this.changeItemQuantity(t,t.quantity+1)]):(d=this.getOptionValues(r),c=(null===(f=this.cart)||void 0===f?void 0:f.id)||localStorage.getItem("cartId"),u={cartId:c,customerId:(null===(j=this.cart)||void 0===j?void 0:j.customerId)||(null===(I=this.baseStore.customerStore.customer)||void 0===I?void 0:I.id)||null,item:{id:null,quantity:s,variant:{id:o.id,name:r.name}},options:d.length?d:null,priceListId:a.priceListId||null,salesChannelId:a.salesChannelId,storefrontId:a.storefrontId,storefrontRoutingId:a.storefrontRoutingId,storefrontThemeId:a.storefrontThemeId},[4,i.saveItemToCart(u)]);case 2:return(l=e.sent())?[4,this.setCart(l)]:[3,4];case 3:e.sent(),e.label=4;case 4:return this.cart&&(m="".concat(this.cart.id,"-").concat(this.cart.updatedAt),(p=this.cart.items.find((function(t){return t.variant.id})))&&n.addToCart(p,s,m,this.cart)),null===(g=r.productOptionSet)||void 0===g||g.initOptionValues(),[2,!0];case 5:return h=e.sent(),console.log(h),[2,!1];case 6:return[2]}}))}))},this.changeItemQuantity=function(o,r){return t(c,void 0,void 0,(function(){var t,s,d,c,u,l,m,p;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,5,,6]),[4,this.beforeCartOperationCheck()];case 1:return e.sent(),t={cartId:(null===(l=this.cart)||void 0===l?void 0:l.id)||null,customerId:(null===(m=this.cart)||void 0===m?void 0:m.customerId)||(null===(p=this.baseStore.customerStore.customer)||void 0===p?void 0:p.id)||null,item:{id:o.id,quantity:r,variant:{id:o.variant.id,name:o.variant.name}},options:this.createCartLineOptions(o),priceListId:a.priceListId||null,salesChannelId:a.salesChannelId,storefrontId:a.storefrontId,storefrontRoutingId:a.storefrontRoutingId,storefrontThemeId:a.storefrontThemeId},[4,i.saveItemToCart(t)];case 2:return(s=e.sent())?[4,this.setCart(s)]:[3,4];case 3:e.sent(),e.label=4;case 4:return this.removeCardIfEmpty(),this.cart&&(d="".concat(this.cart.id,"-").concat(this.cart.updatedAt),(c=o.quantity)>r?n.removeFromCart(o,c-r,this.cart):n.addToCart(o,r-c,d,this.cart)),[2,!0];case 5:return u=e.sent(),console.log(u),[2,!1];case 6:return[2]}}))}))},this.removeItem=function(i){return t(c,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,this.changeItemQuantity(i,0)];case 1:return t.sent(),[2]}}))}))},this.removeCart=function(){localStorage.removeItem("cartId"),localStorage.removeItem("checkoutId"),c.cart=void 0,c._checkoutId=void 0},this.waitUntilInitialized=function(){return new Promise((function(t){var e=setInterval((function(){c.cartLoadFinished&&(clearInterval(e),t(null))}),100)}))},this.findExistingItem=function(t,e){var i,o,r,n,a;if(!e.productOptionSetId)return null===(i=c.cart)||void 0===i?void 0:i.items.find((function(e){return e.variant.id===t.id}));for(var s=c.getOptionValues(e),d=(null===(o=c.cart)||void 0===o?void 0:o.items.filter((function(e){var i;return e.variant.id===t.id&&(null===(i=e.options)||void 0===i?void 0:i.length)===s.length})))||[],u=0,l=d;u<l.length;u++){var m=l[u];if(m.options){for(var p=!0,h=function(t){var i=t.values.map((function(t){return t.value})),o=null===(a=null===(n=null===(r=e.productOptionSet)||void 0===r?void 0:r.options)||void 0===n?void 0:n.find((function(e){return e.id===t.productOptionId})))||void 0===a?void 0:a.values;if(!(p=p&&i.length===(null==o?void 0:o.length)&&i.every((function(t){return null==o?void 0:o.includes(t)}))))return"break"},v=0,f=m.options;v<f.length;v++){if("break"===h(f[v]))break}if(p)return m}}},this.removeCardIfEmpty=function(){var t;0===(null===(t=c.cart)||void 0===t?void 0:t.itemCount)&&c.removeCart()},this.getCart=function(){return t(c,void 0,void 0,(function(){var t,o,r,n,a,s;return e(this,(function(e){switch(e.label){case 0:if(!("undefined"!=typeof localStorage))return[2];e.label=1;case 1:return e.trys.push([1,6,7,8]),this._isLoadingCart=!0,t=null===(a=this.baseStore.customerStore.customer)||void 0===a?void 0:a.id,(o=(null===(s=this.cart)||void 0===s?void 0:s.id)||localStorage.getItem("cartId"))||t?[4,i.getCart(o||void 0)]:[2];case 2:return(r=e.sent())?[4,this.setCart(r)]:[3,4];case 3:return e.sent(),[3,5];case 4:this.removeCart(),e.label=5;case 5:return[3,8];case 6:return n=e.sent(),console.log(n),[3,8];case 7:return this._isLoadingCart=!1,this._cartLoadFinished=!0,[7];case 8:return[2]}}))}))},this.setCart=function(i){return t(c,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return localStorage.setItem("cartId",i.id),this.cart=i,this._checkoutId||(this._checkoutId=localStorage.getItem("checkoutId")||void 0),this._checkoutId?[3,2]:[4,o.getCheckoutId(i.id)];case 1:t=e.sent(),this._checkoutId=t,t&&localStorage.setItem("checkoutId",t),e.label=2;case 2:return[2]}}))}))},this.beforeCartOperationCheck=function(){return t(c,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return t=localStorage.getItem("cartId"),!this.cart||t?[3,1]:(this.removeCart(),[3,3]);case 1:return this.cart||!t?[3,3]:[4,this.getCart()];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))},this.createCartLineOptions=function(t){if(t&&t.options){for(var e=[],i=0,o=t.options;i<o.length;i++){var r=o[i],n=new s({});n.productOptionId=r.productOptionId,n.productOptionsSetId=r.productOptionsSetId,n.values=r.values.map((function(t){return t.value})),e.push(n)}return e}return null},this.getOptionValues=function(t){var e,i=[];return null===(e=t.productOptionSet)||void 0===e||e.options.forEach((function(t){t.values.length&&i.push(new s({productOptionId:t.id,productOptionsSetId:t.productOptionSetId,values:t.values}))})),i},this.baseStore=d,r(this)}return Object.defineProperty(d.prototype,"isLoadingCart",{get:function(){return this._isLoadingCart},enumerable:!1,configurable:!0}),Object.defineProperty(d.prototype,"cartLoadFinished",{get:function(){return this._cartLoadFinished},enumerable:!1,configurable:!0}),Object.defineProperty(d.prototype,"checkoutId",{get:function(){return this._checkoutId},enumerable:!1,configurable:!0}),Object.defineProperty(d.prototype,"checkoutUrl",{get:function(){if(this._checkoutId)return"/checkout?id=".concat(this._checkoutId,"&step=info")},enumerable:!1,configurable:!0}),d}();export{d as CART_LS_KEY,c as CHECKOUT_LS_KEY,u as IkasCartStore};
@@ -1,6 +1,5 @@
1
1
  import { IkasCustomer, IkasFavoriteProduct, IkasOrderTransaction, IkasProduct } from "../models";
2
2
  import { IkasBaseStore } from "./base";
3
- import { IkasCustomerAttributeValue } from "src/models/data/customer/attribute-value";
4
3
  export declare class IkasCustomerStore {
5
4
  customer?: IkasCustomer | null;
6
5
  token?: string | null;
@@ -35,8 +34,8 @@ export declare class IkasCustomerStore {
35
34
  * @returns boolean
36
35
  */
37
36
  socialLoginToken(token: string): Promise<boolean>;
38
- register: (firstName: string, lastName: string, email: string, password: string, isMarketingAccepted?: boolean | undefined, attributes?: IkasCustomerAttributeValue[] | undefined) => Promise<boolean>;
39
- saveContactForm: (input: IkasContactForm) => Promise<boolean>;
37
+ register: (firstName: string, lastName: string, email: string, password: string, isMarketingAccepted?: boolean | undefined) => Promise<boolean>;
38
+ saveContactForm: (input: IkasContactForm) => Promise<boolean | undefined>;
40
39
  checkEmail: (email: string) => Promise<boolean>;
41
40
  forgotPassword: (email: string) => Promise<boolean>;
42
41
  recoverPassword: (password: string, passwordAgain: string, token: string) => Promise<boolean>;
@@ -59,9 +58,7 @@ export declare class IkasCustomerStore {
59
58
  sendReview: (input: IkasCustomerReviewForm) => Promise<false | import("../api/customer-review/__generated__/createCustomerReview").createCustomerReview_createCustomerReview | undefined>;
60
59
  onCustomerConsentGrant: () => void;
61
60
  waitUntilInitialized: () => Promise<unknown>;
62
- getRaffles: () => Promise<import("../models").IkasRaffleParticipant[] | undefined>;
63
- getCustomerAttributes: () => Promise<import("../models").IkasCustomerAttribute[]>;
64
- getOrderByEmail: (email: string, orderNumber: string) => Promise<import("../models").IkasOrder | undefined>;
61
+ getRaffles: () => Promise<import("../models").IkasRaffle[] | undefined>;
65
62
  private init;
66
63
  private routeChangeInit;
67
64
  private getCustomer;
@@ -86,7 +83,6 @@ export declare type IkasContactForm = {
86
83
  lastName: string;
87
84
  email: string;
88
85
  message: string;
89
- referer: string;
90
86
  };
91
87
  export declare type IkasCustomerReviewForm = {
92
88
  comment?: string;
@@ -1 +1 @@
1
- import{__awaiter as t,__generator as e,__assign as r}from'../ext/tslib/tslib.es6.js';import{makeAutoObservable as i}from"mobx";import{apollo as o}from"../api/apollo.js";import"../models/data/blog/index.js";import"../models/data/brand/index.js";import"../models/data/category/index.js";import"../models/data/checkout/index.js";import"../models/data/customer/address/index.js";import{IkasCustomer as s,IkasCustomerEmailSubscriptionStatus as n}from"../models/data/customer/index.js";import"../models/data/customer-review/index.js";import"../models/data/html-meta-data/index.js";import"../models/data/image/index.js";import"../models/data/installment-info/index.js";import"../models/data/merchant-settings/index.js";import"../models/data/order/index.js";import"../models/data/order/line-item/index.js";import"../api/product-option-file/index.js";import"../models/data/product/index.js";import"../models/data/variant-type/index.js";import"../models/data/product/variant/index.js";import"../models/data/product/variant/price/index.js";import"../models/data/product-attribute/index.js";import"../models/data/product/attribute-value/index.js";import"../models/data/product-filter/index.js";import"../models/data/variant-type/variant-value/index.js";import"../models/data/order-transaction/index.js";import"../models/data/product-option-set/index.js";import"../models/data/raffle/index.js";import"../models/data/product-campaing/campaign/index.js";import"../models/data/customer-attribute/index.js";import"../models/data/customer-attribute/customer-attribute-sales-channel/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"../api/blog/index.js";import"../api/brand/index.js";import"../api/cart/index.js";import"../api/category/index.js";import"../api/checkout/index.js";import"../api/city/index.js";import"../api/country/index.js";import{IkasCustomerAPI as a}from"../api/customer/index.js";import{IkasCustomerReviewAPI as u}from"../api/customer-review/index.js";import"../api/customer-review-summary/index.js";import"../api/district/index.js";import"../api/html-meta-data/index.js";import"../api/merchant/index.js";import{IkasProductSearchAPI as c}from"../api/product-search/index.js";import{IkasFavoriteProductAPI as d}from"../api/favorite-product/index.js";import{IkasContactFormAPI as l}from"../api/contact-form/index.js";import"../api/state/index.js";import"../api/product-option-set/index.js";import{IkasRaffleAPI as m}from"../api/raffle/index.js";import"../api/back-in-stock-reminder/index.js";import"../api/product-campaign/index.js";import{Analytics as p}from"../analytics/analytics.js";import"../analytics/head/index.js";import{IkasStorefrontConfig as h}from"../storefront/index.js";import{populateRaffleProducts as f}from"../providers/helpers/raffles.js";import v from'../ext/lodash/uniqBy.js';import{IkasCustomerAttributeAPI as w}from"../api/customer-attribute/index.js";var g="undefined"==typeof localStorage,b=function(){function b(o){var s=this;this.customer=null,this.token=null,this.tokenExpiry=null,this.baseStore=null,this._initialized=!1,this._visitorSubscribedEmail=!1,this._lastViewedProducts=[],this._customerConsentGranted=!1,this._refundSettings=null,this.login=function(r,i){return t(s,void 0,void 0,(function(){var t,o,s;return e(this,(function(e){switch(e.label){case 0:return[4,a.login(r,i)];case 1:return(t=e.sent())?(this.setToken(t.token,t.tokenExpiry),this.setCustomer(t.customer),this.customer&&p.customerLogin(),(o=null===(s=this.baseStore)||void 0===s?void 0:s.cartStore.cart)?[4,this.baseStore.cartStore.changeItemQuantity(o.items[0],o.items[0].quantity)]:[3,3]):[3,4];case 2:e.sent(),e.label=3;case 3:return this.saveLocalLastViewedProducts(),[2,!0];case 4:return[2,!1]}}))}))},this.register=function(r,i,o,n,u,c){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a.register(o,n,r,i,u,c)];case 1:return(t=e.sent())?(this.setToken(t.token,t.tokenExpiry),this.setCustomer(t.customer),this.saveLocalLastViewedProducts(),[2,!0]):[2,!1]}}))}))},this.saveContactForm=function(r){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return p.contactForm(r),[4,l.sendContactFormToMerchant(r)];case 1:return[2,t.sent()]}}))}))},this.checkEmail=function(r){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.checkEmail(r)];case 1:return[2,t.sent()]}}))}))},this.forgotPassword=function(r){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.forgotPassword(r)];case 1:return[2,t.sent()]}}))}))},this.recoverPassword=function(r,i,o){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.recoverPassword(r,i,o)];case 1:return[2,t.sent()]}}))}))},this.logout=function(){var t;s.clearLocalData(),null===(t=s.baseStore)||void 0===t||t.cartStore.removeCart(),p.customerLogout()},this.saveCustomer=function(r){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a.saveCustomer(r)];case 1:return(t=e.sent())?(this.setCustomer(t),[2,!0]):[2,!1]}}))}))},this.getOrders=function(){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.getOrders()];case 1:return[2,t.sent()]}}))}))},this.getOrder=function(r){return t(s,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return[4,a.getOrders(r)];case 1:return t=e.sent(),Array.isArray(t)&&t.length?((i=t[0])._refundSettings=this._refundSettings,[2,i]):[2,null]}}))}))},this.getOrderTransactions=function(r){return void 0===r&&(r={}),t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.getOrderTransactions(r)];case 1:return[2,t.sent()]}}))}))},this.getFavoriteProductsIds=function(){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,d.listFavoriteProducts()];case 1:return[2,t.sent()];case 2:return t.sent(),[2,[]];case 3:return[2]}}))}))},this.getFavoriteProducts=function(){return t(s,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,d.listFavoriteProducts()];case 1:return(t=e.sent()).length?[4,c.searchProducts({productIdList:t.map((function(t){return t.productId})),priceListId:h.priceListId,salesChannelId:h.salesChannelId})]:[2,[]];case 2:return[2,(null==(r=e.sent())?void 0:r.data)||[]];case 3:return e.sent(),[2,[]];case 4:return[2]}}))}))},this.getOrderRefundSettings=function(){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this._refundSettings?[3,2]:(t=this,[4,a.getOrderRefundSettings()]);case 1:t._refundSettings=e.sent(),e.label=2;case 2:return[2]}}))}))},this.addItemToFavorite=function(r){return t(s,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:if(!(null===(i=this.customer)||void 0===i?void 0:i.id))throw Error("Unauthorized");e.label=1;case 1:return e.trys.push([1,3,,4]),[4,d.saveFavoriteProduct(!0,r)];case 2:return t=e.sent(),p.addToWishlist(r),[2,t];case 3:return e.sent(),[2,!1];case 4:return[2]}}))}))},this.removeItemFromFavorite=function(r){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!(null===(t=this.customer)||void 0===t?void 0:t.id))throw Error("Unauthorized");e.label=1;case 1:return e.trys.push([1,3,,4]),[4,d.saveFavoriteProduct(!1,r)];case 2:return[2,e.sent()];case 3:return e.sent(),[2,!1];case 4:return[2]}}))}))},this.isProductFavorite=function(r){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!(null===(t=this.customer)||void 0===t?void 0:t.id))throw Error("Unauthorized");return[4,d.isFavoriteProduct(r)];case 1:return[2,e.sent()]}}))}))},this.createEmailSubscription=function(r){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a.createCustomerEmailSubscription(r)];case 1:return(t=e.sent())&&(window.localStorage.setItem("customerEmailSubscription","true"),this.customer?(this.customer.subscriptionStatus,n.SUBSCRIBED):this._visitorSubscribedEmail=!0,p.createEmailSubscripition(r)),[2,t]}}))}))},this.sendReview=function(i){return t(s,void 0,void 0,(function(){var t,o,s,n,a;return e(this,(function(e){switch(e.label){case 0:if(e.trys.push([0,2,,3]),t=h.customerReviewSettings,o=h.salesChannelId,!t)return[2];if(!(s=null===(a=this.customer)||void 0===a?void 0:a.id)&&t.customerLoginRequired)throw Error("Unauthorized");return[4,u.createCustomerReview(r(r({},i),{customerId:t.customerLoginRequired?s:void 0,salesChannelId:o||""}))];case 1:return[2,e.sent()];case 2:return n=e.sent(),console.log(n),[3,3];case 3:return[2]}}))}))},this.onCustomerConsentGrant=function(){s.saveCustomerConsent()},this.waitUntilInitialized=function(){return new Promise((function(t){var e=setInterval((function(){s.initialized&&(clearInterval(e),t(null))}),100)}))},this.getRaffles=function(){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,m.listRaffleParticipants()];case 1:return(t=e.sent())?[4,f(t.map((function(t){return t.raffle})))]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2,t]}}))}))},this.getCustomerAttributes=function(){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,w.listCustomerAttributes()];case 1:return t=e.sent(),this.customer&&this.customer.attributes.forEach((function(e){var r,i;e.customerAttribute=t.find((function(t){return t.id===e.customerAttributeId})),e.customerAttributeOptionId&&(e.customerAttributeOption=null===(i=null===(r=e.customerAttribute)||void 0===r?void 0:r.options)||void 0===i?void 0:i.find((function(t){return t.id===e.customerAttributeOptionId})))})),[2,t]}}))}))},this.getOrderByEmail=function(r,i){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.getOrderByEmail(r,i)];case 1:return[2,t.sent()]}}))}))},this.baseStore=o,this.init(),i(this)}return Object.defineProperty(b.prototype,"initialized",{get:function(){return this._initialized},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"canCreateEmailSubscription",{get:function(){var t;return!((null===(t=this.customer)||void 0===t?void 0:t.isSubscribed)||g||this._visitorSubscribedEmail)&&!window.localStorage.getItem("customerEmailSubscription")},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"customerConsentGranted",{get:function(){return this._customerConsentGranted},enumerable:!1,configurable:!0}),b.prototype.socialLogin=function(r){return t(this,void 0,void 0,(function(){var t,i,o;return e(this,(function(e){switch(e.label){case 0:return"undefined"==typeof window?[2]:(t=new URLSearchParams(window.location.search).get("redirect")||"",i="".concat(process.env.NEXT_PUBLIC_BASE_URL,"/ms/").concat(r,"/login/authenticate?redirect=").concat(t),[4,fetch(i,{headers:{"x-api-key":h.config.apiKey||"","x-sfid":h.storefrontId||"","x-sfrid":h.storefrontRoutingId||""}})]);case 1:return[4,e.sent().json()];case 2:return o=e.sent(),h.router?h.router.replace(o.redirectUrl):window.location.href=o.redirectUrl,[2]}}))}))},b.prototype.socialLoginToken=function(r){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a.socialLogin(r)];case 1:return(null==(t=e.sent())?void 0:t.customer)?(this.setToken(t.token,t.tokenExpiry),this.setCustomer(t.customer),this.customer&&p.customerLogin(),[2,!0]):[2,!1]}}))}))},b.prototype.init=function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.loadToken(),this.loadLastViewedProducts(),this.loadCustomerConsent(),[4,this.refreshToken()];case 1:return t.sent(),[4,this.getCustomer()];case 2:return t.sent(),[4,this.getOrderRefundSettings()];case 3:return t.sent(),this._initialized=!0,this.customer&&p.customerVisit(),[2]}}))}))},b.prototype.routeChangeInit=function(){this.customer||(this.loadToken(),this.getCustomer())},b.prototype.getCustomer=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return g||!this.token?[2]:[4,a.getCustomer()];case 1:return(t=e.sent())&&this.setCustomer(t),[2]}}))}))},b.prototype.refreshToken=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.token?[4,a.refreshToken(this.token)]:[2];case 1:return(null==(t=e.sent())?void 0:t.token)||(null==t?void 0:t.tokenExpiry)?this.setToken(t.token,t.tokenExpiry):(this.token=null,this.tokenExpiry=null,this.clearLocalData()),[2]}}))}))},b.prototype.setCustomer=function(t){this.customer=new s(t)},b.prototype.getLastViewedProducts=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.customer?(t=this,[4,a.getLastViewedProducts(this.customer.id)]):[3,2];case 1:return t._lastViewedProducts=e.sent(),[3,3];case 2:this.loadLastViewedProducts(),e.label=3;case 3:return[2,this._lastViewedProducts]}}))}))},b.prototype.saveLastViewedProducts=function(){g||window.localStorage.setItem("lastViewedProducts",JSON.stringify(this._lastViewedProducts))},b.prototype.loadLastViewedProducts=function(){if(!g)try{var t=window.localStorage.getItem("lastViewedProducts");t&&(this._lastViewedProducts=JSON.parse(t),this._lastViewedProducts=this._lastViewedProducts.reverse(),this._lastViewedProducts=v(this._lastViewedProducts,"productId"))}catch(t){}},b.prototype.removeLastViewedProducts=function(){g||window.localStorage.removeItem("lastViewedProducts")},b.prototype.onProductView=function(r,i){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.customer?this._lastViewedProducts.find((function(t){return t.productId===r}))?[2]:[4,a.saveLastViewedProducts({customerId:this.customer.id,products:[{productId:r,variantId:i}]})]:[3,2];case 1:return t.sent()&&this._lastViewedProducts.push({productId:r,variantId:i}),[3,3];case 2:this._lastViewedProducts.push({productId:r,variantId:i}),this._lastViewedProducts=this._lastViewedProducts.slice(0,20),this._lastViewedProducts=v(this._lastViewedProducts,"productId"),this.saveLastViewedProducts(),t.label=3;case 3:return[2]}}))}))},b.prototype.saveLocalLastViewedProducts=function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:if(g)return[2];t.label=1;case 1:return t.trys.push([1,4,,5]),this.loadLastViewedProducts(),this._lastViewedProducts.length?[4,a.saveLastViewedProducts({customerId:this.customer.id,products:this._lastViewedProducts})]:[3,3];case 2:t.sent()&&this.removeLastViewedProducts(),t.label=3;case 3:return[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}}))}))},b.prototype.saveCustomerConsent=function(){g||(this._customerConsentGranted=!0,window.localStorage.setItem("customerConsent","true"))},b.prototype.loadCustomerConsent=function(){g||(this._customerConsentGranted=!!window.localStorage.getItem("customerConsent"))},b.prototype.removeCustomerConsent=function(){g||window.localStorage.removeItem("customerConsent")},b.prototype.setToken=function(t,e){g||(this.token=t,this.tokenExpiry=e,localStorage.setItem("customerToken",t),localStorage.setItem("customerTokenExpiry",e+""),o.setCustomerToken(t))},b.prototype.loadToken=function(){if(!g){var t=localStorage.getItem("customerToken"),e=localStorage.getItem("customerTokenExpiry");t&&e&&this.setToken(t,parseInt(e))}},b.prototype.clearLocalTokenData=function(){localStorage.removeItem("customerToken"),localStorage.removeItem("customerTokenExpiry"),this.token=void 0,this.tokenExpiry=void 0},b.prototype.clearLocalData=function(){this.clearLocalTokenData(),this.customer=void 0,o.setCustomerToken()},b}();export{b as IkasCustomerStore};
1
+ import{__awaiter as t,__generator as e,__assign as r}from'../ext/tslib/tslib.es6.js';import{makeAutoObservable as i}from"mobx";import{apollo as o}from"../api/apollo.js";import"../models/data/blog/index.js";import"../models/data/brand/index.js";import"../models/data/category/index.js";import"../models/data/checkout/index.js";import"../models/data/customer/address/index.js";import{IkasCustomer as s,IkasCustomerEmailSubscriptionStatus as n}from"../models/data/customer/index.js";import"../models/data/customer-review/index.js";import"../models/data/html-meta-data/index.js";import"../models/data/image/index.js";import"../models/data/installment-info/index.js";import"../models/data/order/index.js";import"../models/data/order/line-item/index.js";import"../api/product-option-file/index.js";import"../models/data/product/index.js";import"../models/data/variant-type/index.js";import"../models/data/product/variant/index.js";import"../models/data/product/variant/price/index.js";import"../models/data/product-attribute/index.js";import"../models/data/product/attribute-value/index.js";import"../models/data/product-filter/index.js";import"../models/data/variant-type/variant-value/index.js";import"../models/data/order-transaction/index.js";import"../models/data/product-option-set/index.js";import"../models/data/raffle/index.js";import"../models/data/product-campaing/campaign/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/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"../api/blog/index.js";import"../api/brand/index.js";import"../api/cart/index.js";import"../api/category/index.js";import"../api/checkout/index.js";import"../api/city/index.js";import"../api/country/index.js";import{IkasCustomerAPI as a}from"../api/customer/index.js";import{IkasCustomerReviewAPI as u}from"../api/customer-review/index.js";import"../api/district/index.js";import"../api/html-meta-data/index.js";import"../api/merchant/index.js";import{IkasProductSearchAPI as d}from"../api/product-search/index.js";import{IkasFavoriteProductAPI as c}from"../api/favorite-product/index.js";import{IkasContactFormAPI as l}from"../api/contact-form/index.js";import"../api/state/index.js";import"../api/product-option-set/index.js";import{IkasRaffleAPI as m}from"../api/raffle/index.js";import"../api/back-in-stock-reminder/index.js";import"../api/product-campaign/index.js";import{Analytics as h}from"../analytics/analytics.js";import"../analytics/head/index.js";import{IkasStorefrontConfig as p}from"../storefront/index.js";import{populateRaffleProducts as f}from"../providers/helpers/raffles.js";import v from'../ext/lodash/uniqBy.js';var w="undefined"==typeof localStorage,g=function(){function g(o){var s=this;this.customer=null,this.token=null,this.tokenExpiry=null,this.baseStore=null,this._initialized=!1,this._visitorSubscribedEmail=!1,this._lastViewedProducts=[],this._customerConsentGranted=!1,this._refundSettings=null,this.login=function(r,i){return t(s,void 0,void 0,(function(){var t,o,s;return e(this,(function(e){switch(e.label){case 0:return[4,a.login(r,i)];case 1:return(t=e.sent())?(this.setToken(t.token,t.tokenExpiry),this.setCustomer(t.customer),this.customer&&h.customerLogin(),(o=null===(s=this.baseStore)||void 0===s?void 0:s.cartStore.cart)?[4,this.baseStore.cartStore.changeItemQuantity(o.items[0],o.items[0].quantity)]:[3,3]):[3,4];case 2:e.sent(),e.label=3;case 3:return this.saveLocalLastViewedProducts(),[2,!0];case 4:return[2,!1]}}))}))},this.register=function(r,i,o,n,u){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a.register(o,n,r,i,u)];case 1:return(t=e.sent())?(this.setToken(t.token,t.tokenExpiry),this.setCustomer(t.customer),this.saveLocalLastViewedProducts(),[2,!0]):[2,!1]}}))}))},this.saveContactForm=function(r){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return h.contactForm(r),[4,l.sendContactFormToMerchant(r)];case 1:return[2,t.sent()]}}))}))},this.checkEmail=function(r){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.checkEmail(r)];case 1:return[2,t.sent()]}}))}))},this.forgotPassword=function(r){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.forgotPassword(r)];case 1:return[2,t.sent()]}}))}))},this.recoverPassword=function(r,i,o){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.recoverPassword(r,i,o)];case 1:return[2,t.sent()]}}))}))},this.logout=function(){var t;s.clearLocalData(),null===(t=s.baseStore)||void 0===t||t.cartStore.removeCart(),h.customerLogout()},this.saveCustomer=function(r){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a.saveCustomer(r)];case 1:return(t=e.sent())?(this.setCustomer(t),[2,!0]):[2,!1]}}))}))},this.getOrders=function(){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.getOrders()];case 1:return[2,t.sent()]}}))}))},this.getOrder=function(r){return t(s,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:return[4,a.getOrders(r)];case 1:return t=e.sent(),Array.isArray(t)&&t.length?((i=t[0])._refundSettings=this._refundSettings,[2,i]):[2,null]}}))}))},this.getOrderTransactions=function(r){return void 0===r&&(r={}),t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return[4,a.getOrderTransactions(r)];case 1:return[2,t.sent()]}}))}))},this.getFavoriteProductsIds=function(){return t(s,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,c.listFavoriteProducts()];case 1:return[2,t.sent()];case 2:return t.sent(),[2,[]];case 3:return[2]}}))}))},this.getFavoriteProducts=function(){return t(s,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,c.listFavoriteProducts()];case 1:return(t=e.sent()).length?[4,d.searchProducts({productIdList:t.map((function(t){return t.productId})),priceListId:p.priceListId,salesChannelId:p.salesChannelId})]:[2,[]];case 2:return[2,(null==(r=e.sent())?void 0:r.data)||[]];case 3:return e.sent(),[2,[]];case 4:return[2]}}))}))},this.getOrderRefundSettings=function(){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this._refundSettings?[3,2]:(t=this,[4,a.getOrderRefundSettings()]);case 1:t._refundSettings=e.sent(),e.label=2;case 2:return[2]}}))}))},this.addItemToFavorite=function(r){return t(s,void 0,void 0,(function(){var t,i;return e(this,(function(e){switch(e.label){case 0:if(!(null===(i=this.customer)||void 0===i?void 0:i.id))throw Error("Unauthorized");e.label=1;case 1:return e.trys.push([1,3,,4]),[4,c.saveFavoriteProduct(!0,r)];case 2:return t=e.sent(),h.addToWishlist(r),[2,t];case 3:return e.sent(),[2,!1];case 4:return[2]}}))}))},this.removeItemFromFavorite=function(r){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!(null===(t=this.customer)||void 0===t?void 0:t.id))throw Error("Unauthorized");e.label=1;case 1:return e.trys.push([1,3,,4]),[4,c.saveFavoriteProduct(!1,r)];case 2:return[2,e.sent()];case 3:return e.sent(),[2,!1];case 4:return[2]}}))}))},this.isProductFavorite=function(r){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:if(!(null===(t=this.customer)||void 0===t?void 0:t.id))throw Error("Unauthorized");return[4,c.isFavoriteProduct(r)];case 1:return[2,e.sent()]}}))}))},this.createEmailSubscription=function(r){return t(s,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a.createCustomerEmailSubscription(r)];case 1:return(t=e.sent())&&(window.localStorage.setItem("customerEmailSubscription","true"),this.customer?(this.customer.subscriptionStatus,n.SUBSCRIBED):this._visitorSubscribedEmail=!0),[2,t]}}))}))},this.sendReview=function(i){return t(s,void 0,void 0,(function(){var t,o,s,n,a;return e(this,(function(e){switch(e.label){case 0:if(e.trys.push([0,2,,3]),t=p.customerReviewSettings,o=p.salesChannelId,!t)return[2];if(!(s=null===(a=this.customer)||void 0===a?void 0:a.id)&&t.customerLoginRequired)throw Error("Unauthorized");return[4,u.createCustomerReview(r(r({},i),{customerId:t.customerLoginRequired?s:void 0,salesChannelId:o||""}))];case 1:return[2,e.sent()];case 2:return n=e.sent(),console.log(n),[3,3];case 3:return[2]}}))}))},this.onCustomerConsentGrant=function(){s.saveCustomerConsent()},this.waitUntilInitialized=function(){return new Promise((function(t){var e=setInterval((function(){s.initialized&&(clearInterval(e),t(null))}),100)}))},this.getRaffles=function(){return t(s,void 0,void 0,(function(){var t,r;return e(this,(function(e){switch(e.label){case 0:return[4,m.getRafflesByCustomerId()];case 1:return t=e.sent(),[4,m.getRafflesByCustomerId(!0)];case 2:return r=e.sent(),null==t||t.forEach((function(t){(null==r?void 0:r.find((function(e){return e.id===t.id})))&&(t.isCustomerWinner=!0)})),t?[4,f(t)]:[3,4];case 3:e.sent(),e.label=4;case 4:return[2,t]}}))}))},this.baseStore=o,this.init(),i(this)}return Object.defineProperty(g.prototype,"initialized",{get:function(){return this._initialized},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"canCreateEmailSubscription",{get:function(){var t;return!((null===(t=this.customer)||void 0===t?void 0:t.isSubscribed)||w||this._visitorSubscribedEmail)&&!window.localStorage.getItem("customerEmailSubscription")},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"customerConsentGranted",{get:function(){return this._customerConsentGranted},enumerable:!1,configurable:!0}),g.prototype.socialLogin=function(r){return t(this,void 0,void 0,(function(){var t,i,o;return e(this,(function(e){switch(e.label){case 0:return"undefined"==typeof window?[2]:(t=new URLSearchParams(window.location.search).get("redirect")||"",i="".concat(process.env.NEXT_PUBLIC_BASE_URL,"/ms/").concat(r,"/login/authenticate?redirect=").concat(t),[4,fetch(i,{headers:{"x-api-key":p.config.apiKey||"","x-sfid":p.storefrontId||"","x-sfrid":p.storefrontRoutingId||""}})]);case 1:return[4,e.sent().json()];case 2:return o=e.sent(),p.router?p.router.replace(o.redirectUrl):window.location.href=o.redirectUrl,[2]}}))}))},g.prototype.socialLoginToken=function(r){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return[4,a.socialLogin(r)];case 1:return(null==(t=e.sent())?void 0:t.customer)?(this.setToken(t.token,t.tokenExpiry),this.setCustomer(t.customer),this.customer&&h.customerLogin(),[2,!0]):[2,!1]}}))}))},g.prototype.init=function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.loadToken(),this.loadLastViewedProducts(),this.loadCustomerConsent(),[4,this.refreshToken()];case 1:return t.sent(),[4,this.getCustomer()];case 2:return t.sent(),[4,this.getOrderRefundSettings()];case 3:return t.sent(),this._initialized=!0,this.customer&&h.customerVisit(),[2]}}))}))},g.prototype.routeChangeInit=function(){this.customer||(this.loadToken(),this.getCustomer())},g.prototype.getCustomer=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return w||!this.token?[2]:[4,a.getCustomer()];case 1:return(t=e.sent())&&this.setCustomer(t),[2]}}))}))},g.prototype.refreshToken=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.token?[4,a.refreshToken(this.token)]:[2];case 1:return(null==(t=e.sent())?void 0:t.token)||(null==t?void 0:t.tokenExpiry)?this.setToken(t.token,t.tokenExpiry):(this.token=null,this.tokenExpiry=null,this.clearLocalData()),[2]}}))}))},g.prototype.setCustomer=function(t){this.customer=new s(t)},g.prototype.getLastViewedProducts=function(){return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){switch(e.label){case 0:return this.customer?(t=this,[4,a.getLastViewedProducts(this.customer.id)]):[3,2];case 1:return t._lastViewedProducts=e.sent(),[3,3];case 2:this.loadLastViewedProducts(),e.label=3;case 3:return[2,this._lastViewedProducts]}}))}))},g.prototype.saveLastViewedProducts=function(){w||window.localStorage.setItem("lastViewedProducts",JSON.stringify(this._lastViewedProducts))},g.prototype.loadLastViewedProducts=function(){if(!w)try{var t=window.localStorage.getItem("lastViewedProducts");t&&(this._lastViewedProducts=JSON.parse(t),this._lastViewedProducts=this._lastViewedProducts.reverse(),this._lastViewedProducts=v(this._lastViewedProducts,"variantId"))}catch(t){}},g.prototype.removeLastViewedProducts=function(){w||window.localStorage.removeItem("lastViewedProducts")},g.prototype.onProductView=function(r,i){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:return this.customer?this._lastViewedProducts.find((function(t){return t.productId===r}))?[2]:[4,a.saveLastViewedProducts({customerId:this.customer.id,products:[{productId:r,variantId:i}]})]:[3,2];case 1:return t.sent()&&this._lastViewedProducts.push({productId:r,variantId:i}),[3,3];case 2:this._lastViewedProducts.push({productId:r,variantId:i}),this._lastViewedProducts=this._lastViewedProducts.slice(0,20),this._lastViewedProducts=v(this._lastViewedProducts,"variantId"),this.saveLastViewedProducts(),t.label=3;case 3:return[2]}}))}))},g.prototype.saveLocalLastViewedProducts=function(){return t(this,void 0,void 0,(function(){return e(this,(function(t){switch(t.label){case 0:if(w)return[2];t.label=1;case 1:return t.trys.push([1,4,,5]),this.loadLastViewedProducts(),this._lastViewedProducts.length?[4,a.saveLastViewedProducts({customerId:this.customer.id,products:this._lastViewedProducts})]:[3,3];case 2:t.sent()&&this.removeLastViewedProducts(),t.label=3;case 3:return[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}}))}))},g.prototype.saveCustomerConsent=function(){w||(this._customerConsentGranted=!0,window.localStorage.setItem("customerConsent","true"))},g.prototype.loadCustomerConsent=function(){w||(this._customerConsentGranted=!!window.localStorage.getItem("customerConsent"))},g.prototype.removeCustomerConsent=function(){w||window.localStorage.removeItem("customerConsent")},g.prototype.setToken=function(t,e){w||(this.token=t,this.tokenExpiry=e,localStorage.setItem("customerToken",t),localStorage.setItem("customerTokenExpiry",e+""),o.setCustomerToken(t))},g.prototype.loadToken=function(){if(!w){var t=localStorage.getItem("customerToken"),e=localStorage.getItem("customerTokenExpiry");t&&e&&this.setToken(t,parseInt(e))}},g.prototype.clearLocalTokenData=function(){localStorage.removeItem("customerToken"),localStorage.removeItem("customerTokenExpiry"),this.token=void 0,this.tokenExpiry=void 0},g.prototype.clearLocalData=function(){this.clearLocalTokenData(),this.customer=void 0,o.setCustomerToken()},g}();export{g as IkasCustomerStore};
@@ -4,7 +4,7 @@ import { IkasStorefrontRouting } from "../models/data/storefront/routing";
4
4
  import { IkasThemeStockPreference } from "../models/theme/settings";
5
5
  import { IkasThemeFavicon } from "../models/theme/settings/favicon";
6
6
  import { IkasBaseStore } from "../store";
7
- import { IkasCustomerReviewSettings, IkasMerchantSettings } from "../models";
7
+ import { IkasCustomerReviewSettings } from "../models";
8
8
  import { NextRouter } from "next/router";
9
9
  export declare class IkasStorefrontConfig {
10
10
  static store: IkasBaseStore;
@@ -22,20 +22,16 @@ export declare class IkasStorefrontConfig {
22
22
  static paymentGateways: IkasSalesChannelPaymentGateway[];
23
23
  static gtmId?: string;
24
24
  static fbpId?: string;
25
- static analytics4Id?: string;
26
- static universalAnalyticsId?: string;
27
- static tiktokPixelId?: string;
28
25
  static favicon: IkasThemeFavicon;
29
26
  static stockPreference: IkasThemeStockPreference;
30
27
  static translations: Record<string, any>;
31
28
  static storefrontJSScripts: string[];
32
29
  static customerReviewSettings: IkasCustomerReviewSettings | null;
33
30
  static productBackInStockSettings: IkasProductBackInStockSettings | null;
34
- static merchantSettings?: IkasMerchantSettings | null;
35
31
  static isEditor: boolean;
36
32
  static currentPageComponents?: Record<string, any>;
37
33
  static init(store: IkasBaseStore, config: Record<string, any>, apiUrlOverride?: string): void;
38
- static initWithJson(json: Record<string, any>, router: NextRouter, merchantSettingsStr: string | null): void;
34
+ static initWithJson(json: Record<string, any>, router: NextRouter): void;
39
35
  static getCurrentRouting(): IkasStorefrontRouting | undefined;
40
36
  static getCurrentLocale(): string;
41
37
  static getJson(): {
@@ -50,9 +46,6 @@ export declare class IkasStorefrontConfig {
50
46
  paymentGateways: any;
51
47
  gtmId: string | null;
52
48
  fbpId: string | null;
53
- analytics4Id: string | null;
54
- universalAnalyticsId: string | null;
55
- tiktokPixelId: string | null;
56
49
  favicon: any;
57
50
  stockPreference: IkasThemeStockPreference;
58
51
  storefrontJSScripts: string[];
@@ -1 +1 @@
1
- import"../models/data/blog/index.js";import"../models/data/brand/index.js";import"../models/data/category/index.js";import"../models/data/checkout/index.js";import"../models/data/customer/address/index.js";import"../models/data/customer/index.js";import"../models/data/customer-review/index.js";import"mobx";import"../models/data/html-meta-data/index.js";import"../models/data/image/index.js";import"../models/data/installment-info/index.js";import{IkasMerchantSettings as t}from"../models/data/merchant-settings/index.js";import"../models/data/order/index.js";import"../models/data/order/line-item/index.js";import"../api/product-option-file/index.js";import"../models/data/product/index.js";import"../models/data/variant-type/index.js";import"../models/data/product/variant/index.js";import"../models/data/product/variant/price/index.js";import"../models/data/product-attribute/index.js";import"../models/data/product/attribute-value/index.js";import"../models/data/product-filter/index.js";import"../models/data/variant-type/variant-value/index.js";import"../models/data/order-transaction/index.js";import"../models/data/product-option-set/index.js";import"../models/data/raffle/index.js";import"../models/data/product-campaing/campaign/index.js";import"../models/data/customer-attribute/index.js";import"../models/data/customer-attribute/customer-attribute-sales-channel/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";var o=function(){function o(){}return o.init=function(t,e,i){o.store=t,o.config=e,o.apiUrlOverride=i||null,"local"===process.env.NEXT_PUBLIC_ENV&&(this.storefrontId=e.storefrontId)},o.initWithJson=function(e,i,r){try{Object.entries(e).forEach((function(t){var e=t[0],i=t[1];o[e]=i})),o.router=i,r&&(o.merchantSettings=new t(JSON.parse(r)))}catch(t){console.log(t)}},o.getCurrentRouting=function(){return o.routings.find((function(t){return t.id===o.storefrontRoutingId}))},o.getCurrentLocale=function(){var t=o.getCurrentRouting();return(null==t?void 0:t.locale)||"en"},o.getJson=function(){return{domain:o.domain,storefrontId:o.storefrontId||null,storefrontRoutingId:o.storefrontRoutingId||null,storefrontThemeId:o.storefrontThemeId||null,salesChannelId:o.salesChannelId||null,priceListId:o.priceListId||null,stockLocationIds:o.stockLocationIds||null,routings:JSON.parse(JSON.stringify(o.routings))||null,paymentGateways:JSON.parse(JSON.stringify(o.paymentGateways))||null,gtmId:o.gtmId||null,fbpId:o.fbpId||null,analytics4Id:o.analytics4Id||null,universalAnalyticsId:o.universalAnalyticsId||null,tiktokPixelId:o.tiktokPixelId||null,favicon:JSON.parse(JSON.stringify(o.favicon)),stockPreference:o.stockPreference||null,storefrontJSScripts:o.storefrontJSScripts||[],translations:this.translations,customerReviewSettings:o.customerReviewSettings,productBackInStockSettings:o.productBackInStockSettings?JSON.parse(JSON.stringify(o.productBackInStockSettings)):null}},o.config={},o.apiUrlOverride=null,o.routings=[],o.paymentGateways=[],o.translations={},o.storefrontJSScripts=[],o.isEditor=!1,o}();export{o as IkasStorefrontConfig};
1
+ var t=function(){function t(){}return t.init=function(n,r,o){t.store=n,t.config=r,t.apiUrlOverride=o||null,"local"===process.env.NEXT_PUBLIC_ENV&&(this.storefrontId=r.storefrontId)},t.initWithJson=function(n,r){try{Object.entries(n).forEach((function(n){var r=n[0],o=n[1];t[r]=o})),t.router=r}catch(t){console.log(t)}},t.getCurrentRouting=function(){return t.routings.find((function(n){return n.id===t.storefrontRoutingId}))},t.getCurrentLocale=function(){var n=t.getCurrentRouting();return(null==n?void 0:n.locale)||"en"},t.getJson=function(){return{domain:t.domain,storefrontId:t.storefrontId||null,storefrontRoutingId:t.storefrontRoutingId||null,storefrontThemeId:t.storefrontThemeId||null,salesChannelId:t.salesChannelId||null,priceListId:t.priceListId||null,stockLocationIds:t.stockLocationIds||null,routings:JSON.parse(JSON.stringify(t.routings))||null,paymentGateways:JSON.parse(JSON.stringify(t.paymentGateways))||null,gtmId:t.gtmId||null,fbpId:t.fbpId||null,favicon:JSON.parse(JSON.stringify(t.favicon)),stockPreference:t.stockPreference||null,storefrontJSScripts:t.storefrontJSScripts||[],translations:this.translations,customerReviewSettings:t.customerReviewSettings,productBackInStockSettings:t.productBackInStockSettings?JSON.parse(JSON.stringify(t.productBackInStockSettings)):null}},t.config={},t.apiUrlOverride=null,t.routings=[],t.paymentGateways=[],t.translations={},t.storefrontJSScripts=[],t.isEditor=!1,t}();export{t as IkasStorefrontConfig};
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  *
3
3
  * @param price Price to format
4
- * @param currencyCode Code for the currency, USD, EUR, TRY, etc..
4
+ * @param currency Code for the currency, USD, EUR, TRY, etc..
5
5
  */
6
- export declare const formatMoney: (price: number, currencyCode: string) => string;
6
+ export declare const formatMoney: (price: number, currency: string) => string;
7
7
  export declare function getCurrencySymbol(currencyCode: string): string;
@@ -1 +1 @@
1
- import{IkasStorefrontConfig as r}from"../storefront/index.js";var D=function(D,n){var t,R,o,$,e,P,K=null===(t=r.merchantSettings)||void 0===t?void 0:t.currencyFormats.find((function(r){return r.currencyCode===n})),B=(null==K?void 0:K.symbol)||S(n),L=(null==K?void 0:K.decimalSeparator)||".",M=(null==K?void 0:K.thousandSeparator)||",",N=(null==K?void 0:K.symbolPosition)||"LEFT";try{var a=(o=M,$=L,e="\\d(?=(\\d{"+(3||3)+"})+"+((R=2)>0?"\\D":"$")+")",P=D.toFixed(Math.max(0,~~R)),($?P.replace(".",$):P).replace(new RegExp(e,"g"),"$&"+(o||",")));return(null==K?void 0:K.omitZeroDecimal)&&(a=function(r){var D=r.split(L);return"00"===D[D.length-1]?D[0]:r}(a)),function(r){return"LEFT"===N?"".concat(B," ").concat(r):"".concat(r," ").concat(B)}(a)}catch(S){return console.error(S),new Intl.NumberFormat(r.getCurrentLocale(),{style:"currency",currency:n||"TRY"}).format(D)}};function S(r){return n[r]||r}var n={TRY:"₺",USD:"$",EUR:"€",AZN:"₼",AED:"د.إ.",AFN:"؋",ALL:"L",AMD:"դր",ANG:"ƒ",AOA:"Kz",ARS:"$",AUD:"$",AWG:"ƒ",BAM:"КМ",BBD:"$",BDT:"৳",BGN:"лв.",BHD:"د.ب.",BIF:"FBu",BMD:"$",BND:"$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"руб.",BZD:"$",CAD:"$",CDF:"₣",CHF:"₣",CKD:"$",CLP:"$",CNY:"¥元",COP:"$",CRC:"₡",CUC:"$",CUP:"₱",CVE:"$",CZK:"Kč",DJF:"ف.ج.",DKK:"kr.",DOP:"$",DZD:"د.ج.",EGP:"ج.م.",EHP:"Ptas.",ERN:"ناكفا",ETB:"ብር",FJD:"$",FKP:"£",FOK:"kr",GBP:"£",GEL:"₾",GGP:"£",GHS:"₵",GIP:"£",GMD:"D",GNF:"FG",GTQ:"$",GYD:"$",HKD:"$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"₪",IMP:"£",INR:"₹",IQD:"د.ع.",IRR:"﷼",ISK:"kr",JEP:"£",JMD:"$",JOD:"د.أ.",JPY:"¥",KES:"KSh",KGS:"с",KHR:"៛",KID:"$",KMF:"CF",KPW:"₩",KRW:"₩",KWD:"د.ك.",KYD:"$",KZT:"₸",LAK:"₭",LBP:"ل.ل.",LKR:"රු or ரூ",LRD:"$",LSL:"L",LYD:"ل.د.",MAD:"د.م.",MDL:"L",MGA:"Ar",MKD:"ден",MMK:"Ks",MNT:"₮",MOP:"MOP$",MRU:"أ.م.",MUR:"रु ",MVR:".ރ",MWK:"MK",MXN:"$",MYR:"RM",MZN:"MT",NAD:"$",NGN:"₦",NIO:"C$",NOK:"kr",NPR:"रू",NZD:"$",OMR:"ر.ع.",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"₱",PKR:"Rs",PLN:"zł",PND:"$",PRB:"р.",PYG:"₲",QAR:"ر.ق.",RON:"L",RSD:"дин",RUB:"₽",RWF:"R₣",SAR:"ر.س.",SBD:"$",SCR:"Rs",SDG:"ج.س.",SEK:"kr",SGD:"$",SHP:"£",SLL:"Le",SLS:"Sl",SOS:"Ssh",SRD:"$",SSP:"SS£",STN:"Db",SVC:"₡",SYP:"ل.س.",SZL:"L",THB:"฿",TJS:"SM",TMT:"T",TND:"د.ت.",TOP:"PT",TTD:"$",TVD:"$",TWD:"圓",TZS:"TSh",UAH:"грн",UGX:"Sh",UYU:"$",UZS:"сум",VED:"Bs.",VES:"Bs.F",VND:"₫",VUV:"VT",WST:"ST",XAF:"Fr.",XCD:"$",XOF:"₣",XPF:"₣",YER:"ر.ي.",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"$",Abkhazia:"",Artsakh:"դր."};export{D as formatMoney,S as getCurrencySymbol};
1
+ import{IkasStorefrontConfig as D}from"../storefront/index.js";var S=function(S,$){try{var r=R($);return r+" "+(K=",",B=".",M="\\d(?=(\\d{"+(3||3)+"})+"+((P=2)>0?"\\D":"$")+")",N=S.toFixed(Math.max(0,~~P)),(B?N.replace(".",B):N).replace(new RegExp(M,"g"),"$&"+(K||",")))}catch(R){return console.error(R),new Intl.NumberFormat(D.getCurrentLocale(),{style:"currency",currency:$||"TRY"}).format(S)}var P,K,B,M,N};function R(D){return $[D]||D}var $={TRY:"₺",USD:"$",EUR:"€",AZN:"₼",AED:"د.إ.",AFN:"؋",ALL:"L",AMD:"դր",ANG:"ƒ",AOA:"Kz",ARS:"$",AUD:"$",AWG:"ƒ",BAM:"КМ",BBD:"$",BDT:"৳",BGN:"лв.",BHD:"د.ب.",BIF:"FBu",BMD:"$",BND:"$",BOB:"Bs.",BRL:"R$",BSD:"$",BTN:"Nu.",BWP:"P",BYN:"руб.",BZD:"$",CAD:"$",CDF:"₣",CHF:"₣",CKD:"$",CLP:"$",CNY:"¥元",COP:"$",CRC:"₡",CUC:"$",CUP:"₱",CVE:"$",CZK:"Kč",DJF:"ف.ج.",DKK:"kr.",DOP:"$",DZD:"د.ج.",EGP:"ج.م.",EHP:"Ptas.",ERN:"ناكفا",ETB:"ብር",FJD:"$",FKP:"£",FOK:"kr",GBP:"£",GEL:"₾",GGP:"£",GHS:"₵",GIP:"£",GMD:"D",GNF:"FG",GTQ:"$",GYD:"$",HKD:"$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"₪",IMP:"£",INR:"₹",IQD:"د.ع.",IRR:"﷼",ISK:"kr",JEP:"£",JMD:"$",JOD:"د.أ.",JPY:"¥",KES:"KSh",KGS:"с",KHR:"៛",KID:"$",KMF:"CF",KPW:"₩",KRW:"₩",KWD:"د.ك.",KYD:"$",KZT:"₸",LAK:"₭",LBP:"ل.ل.",LKR:"රු or ரூ",LRD:"$",LSL:"L",LYD:"ل.د.",MAD:"د.م.",MDL:"L",MGA:"Ar",MKD:"ден",MMK:"Ks",MNT:"₮",MOP:"MOP$",MRU:"أ.م.",MUR:"रु ",MVR:".ރ",MWK:"MK",MXN:"$",MYR:"RM",MZN:"MT",NAD:"$",NGN:"₦",NIO:"C$",NOK:"kr",NPR:"रू",NZD:"$",OMR:"ر.ع.",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"₱",PKR:"Rs",PLN:"zł",PND:"$",PRB:"р.",PYG:"₲",QAR:"ر.ق.",RON:"L",RSD:"дин",RUB:"₽",RWF:"R₣",SAR:"ر.س.",SBD:"$",SCR:"Rs",SDG:"ج.س.",SEK:"kr",SGD:"$",SHP:"£",SLL:"Le",SLS:"Sl",SOS:"Ssh",SRD:"$",SSP:"SS£",STN:"Db",SVC:"₡",SYP:"ل.س.",SZL:"L",THB:"฿",TJS:"SM",TMT:"T",TND:"د.ت.",TOP:"PT",TTD:"$",TVD:"$",TWD:"圓",TZS:"TSh",UAH:"грн",UGX:"Sh",UYU:"$",UZS:"сум",VED:"Bs.",VES:"Bs.F",VND:"₫",VUV:"VT",WST:"ST",XAF:"Fr.",XCD:"$",XOF:"₣",XPF:"₣",YER:"ر.ي.",ZAR:"R",ZMW:"ZK",ZWB:"",ZWL:"$",Abkhazia:"",Artsakh:"դր."};export{S as formatMoney,R as getCurrencySymbol};
@@ -1,6 +1,5 @@
1
1
  export declare const stringToSlug: (str: string) => string;
2
2
  export declare const validatePhoneNumber: (str: string) => boolean;
3
- export declare const validateEmail: (str: string) => boolean;
4
3
  export declare const pascalCase: (str: string) => string;
5
4
  export declare const decodeBase64: (base64: string) => string;
6
5
  export declare function stringSorter(atitle: string, btitle: string): number;
@@ -1 +1 @@
1
- import{IkasStorefrontConfig as r}from"../storefront/index.js";import e from'../ext/lodash/forEach.js';var t=function(r){r=(r=r.replace(/^\s+|\s+$/g,"")).toLocaleLowerCase("tr-TR");for(var e="àáäâèéëêìíïîıòóöôùúüûñçşğ·/_,:;",t=0,n=e.length;t<n;t++)r=r.replace(new RegExp(e.charAt(t),"g"),"aaaaeeeeiiiiioooouuuuncsg------".charAt(t));return r=r.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")},n=function(r){return/^\+?\d+$/.test(r)},o=function(r){return!(r.length>320)&&/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(r)},a=function(r){return r.split(" ").map((function(r){var e=r.toLocaleLowerCase("tr-TR");return e.charAt(0).toLocaleUpperCase("tr-TR")+e.slice(1)})).join(" ")},u=function(r){return Buffer.from(r,"base64").toString("ascii")};function c(r,e){var t="0123456789AaBbCcÇçDdEeFfGgĞğHhIıİiJjKkLlMmNnOoÖöPpQqRrSsŞşTtUuÜüVvWwXxYyZz",n=r||"",o=e||"";if(0===n.length||0===o.length)return n.length-o.length;for(var a=0;a<n.length&&a<o.length;a++){var u=t.indexOf(n[a].toUpperCase()),c=t.indexOf(o[a].toUpperCase());if(u!==c)return u-c}return 0}function i(r,e){var t=[];if(!r||!e)return[];for(var n=0;n<r.length;){var o=r.indexOf(e,n);if(-1===o)break;n=o+1,t.push(o)}return t}function f(r){return!!new Intl.DateTimeFormat(r,{hour:"numeric"}).format(0).match(/\s/)}function l(e){var t={year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1},n=r.getCurrentLocale();return"undefined"!=typeof navigator?t.hour12=f(navigator.language):t.hour12=f(n),new Intl.DateTimeFormat(n,t).format(e)}function s(r,t,n){void 0===n&&(n=!1),e(r,(function(r,e){try{t(r,e)}catch(r){n&&console.error(r)}}))}function g(r,e){return Object.entries(r||{}).reduce((function(r,t){var n=t[0],o=t[1];return n===e?r.concat(o):"object"==typeof o?r.concat(g(o,e)):r}),[])}function h(r){return Object.keys(r).sort().reduce((function(e,t){return e[t]=r[t],e}),{})}export{u as decodeBase64,g as findAllByKey,i as findAllIndexes,l as formatDate,a as pascalCase,h as sortObject,c as stringSorter,t as stringToSlug,s as tryForEach,o as validateEmail,n as validatePhoneNumber};
1
+ import{IkasStorefrontConfig as r}from"../storefront/index.js";import e from'../ext/lodash/forEach.js';var t=function(r){r=(r=r.replace(/^\s+|\s+$/g,"")).toLocaleLowerCase("tr-TR");for(var e="àáäâèéëêìíïîıòóöôùúüûñçşğ·/_,:;",t=0,n=e.length;t<n;t++)r=r.replace(new RegExp(e.charAt(t),"g"),"aaaaeeeeiiiiioooouuuuncsg------".charAt(t));return r=r.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")},n=function(r){return/^\+?\d+$/.test(r)},o=function(r){var e=r.toLocaleLowerCase("tr-TR");return e.charAt(0).toLocaleUpperCase("tr-TR")+e.slice(1)},a=function(r){return Buffer.from(r,"base64").toString("ascii")};function u(r,e){var t="0123456789AaBbCcÇçDdEeFfGgĞğHhIıİiJjKkLlMmNnOoÖöPpQqRrSsŞşTtUuÜüVvWwXxYyZz",n=r||"",o=e||"";if(0===n.length||0===o.length)return n.length-o.length;for(var a=0;a<n.length&&a<o.length;a++){var u=t.indexOf(n[a].toUpperCase()),c=t.indexOf(o[a].toUpperCase());if(u!==c)return u-c}return 0}function c(r,e){var t=[];if(!r||!e)return[];for(var n=0;n<r.length;){var o=r.indexOf(e,n);if(-1===o)break;n=o+1,t.push(o)}return t}function i(r){return!!new Intl.DateTimeFormat(r,{hour:"numeric"}).format(0).match(/\s/)}function f(e){var t={year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1},n=r.getCurrentLocale();return"undefined"!=typeof navigator?t.hour12=i(navigator.language):t.hour12=i(n),new Intl.DateTimeFormat(n,t).format(e)}function l(r,t,n){void 0===n&&(n=!1),e(r,(function(r,e){try{t(r,e)}catch(r){n&&console.error(r)}}))}function s(r,e){return Object.entries(r||{}).reduce((function(r,t){var n=t[0],o=t[1];return n===e?r.concat(o):"object"==typeof o?r.concat(s(o,e)):r}),[])}function g(r){return Object.keys(r).sort().reduce((function(e,t){return e[t]=r[t],e}),{})}export{a as decodeBase64,s as findAllByKey,c as findAllIndexes,f as formatDate,o as pascalCase,g as sortObject,u as stringSorter,t as stringToSlug,l as tryForEach,n as validatePhoneNumber};
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t}from'../ext/tslib/tslib.es6.js';import r from"fs";import n from"path";import s from'../ext/lodash/get.js';import{IkasStorefrontConfig as a}from"../storefront/index.js";import{findAllIndexes as o}from"./helper.js";var i="checkout-page",l=function(){function s(e,t,r){this.locale=e,this.namespaces=t,this.localePath=r}return s.prototype.read=function(){return e(this,void 0,void 0,(function(){var e,s,a,o,i,l,u,c,h;return t(this,(function(t){switch(t.label){case 0:e={},s=0,a=this.namespaces,t.label=1;case 1:if(!(s<a.length))return[3,14];o=a[s],t.label=2;case 2:return t.trys.push([2,12,,13]),i=this.localePath?n.join(this.localePath,this.locale,o+".json"):n.join(process.cwd(),"public","locales",this.locale,o+".json"),r.existsSync(i)?[4,this.readLocaleFile(i)]:[3,4];case 3:return l=t.sent(),e[o]=l,[3,11];case 4:return"checkout-page"!==o?[3,11]:(u={},"tr"!==this.locale?[3,6]:[4,import("../assets/translations/checkout/tr.js")]);case 5:return c=t.sent(),u=c.default,[3,10];case 6:return"de"!==this.locale?[3,8]:[4,import("../assets/translations/checkout/de.js")];case 7:return c=t.sent(),u=c.default,[3,10];case 8:return[4,import("../assets/translations/checkout/en.js")];case 9:c=t.sent(),u=c.default,t.label=10;case 10:e[o]=u,t.label=11;case 11:return[3,13];case 12:return h=t.sent(),console.error(h),[3,13];case 13:return s++,[3,1];case 14:return[2,e]}}))}))},s.prototype.readLocaleFile=function(n){return e(this,void 0,void 0,(function(){return t(this,(function(e){return[2,new Promise((function(e,t){r.readFile(n,{flag:"r"},(function(r,n){if(r)return t(r);var s=n.length?JSON.parse(n.toString()):{};e(s)}))}))]}))}))},s}();function u(e,t){var r="common",n="",o=e.split(":");if(o.length>2)return e;2===o.length?(r=o[0],n=o[1]):n=o[0];var i=a.translations[r];if(!i)return e;var l=s(i,n);if(l){if(t){for(var u="",c=0,f=h(l);c<f.length;c++){var p=f[c];if(p.isVariable){var m=p.value.replace("{{","").replace("}}","").trim();t[m]?u+=t[m]:u+=p.value}else u+=p.value}return u}return l}return e}function c(e){return{t:u}}function h(e){var t=[];if(!e)return t;for(var r=o(e,"{{"),n=o(e,"}}"),s=r.map((function(e,t){return{start:e,end:n[t]+1}})),a=function(e){return s.some((function(t){return t.start<=e&&t.end>=e}))},i="",l=!1,u=0;u<e.length;u++){var c=e.charAt(u);l?a(u)?i+=c:(t.push({isVariable:!0,value:i}),i=c,l=!1):a(u)?(t.push({isVariable:!1,value:i}),i=c,l=!0):i+=c,u===e.length-1&&t.push({isVariable:l,value:i})}return t}export{i as CHECKOUT_TRANSLATION_NAMESPACE,l as I18NFileReader,h as createTranslationInputData,c as useTranslation};
1
+ import{__awaiter as e,__generator as t}from'../ext/tslib/tslib.es6.js';import r from"fs";import n from"path";import a from'../ext/lodash/get.js';import{IkasStorefrontConfig as s}from"../storefront/index.js";import{findAllIndexes as o}from"./helper.js";var i="checkout-page",l=function(){function a(e,t,r){this.locale=e,this.namespaces=t,this.localePath=r}return a.prototype.read=function(){return e(this,void 0,void 0,(function(){var e,a,s,o,i,l,u,c,f;return t(this,(function(t){switch(t.label){case 0:e={},a=0,s=this.namespaces,t.label=1;case 1:if(!(a<s.length))return[3,12];o=s[a],t.label=2;case 2:return t.trys.push([2,10,,11]),i=this.localePath?n.join(this.localePath,this.locale,o+".json"):n.join(process.cwd(),"public","locales",this.locale,o+".json"),r.existsSync(i)?[4,this.readLocaleFile(i)]:[3,4];case 3:return l=t.sent(),e[o]=l,[3,9];case 4:return"checkout-page"!==o?[3,9]:(u={},"tr"!==this.locale?[3,6]:[4,import("../assets/translations/checkout/tr.js")]);case 5:return c=t.sent(),u=c.default,[3,8];case 6:return[4,import("../assets/translations/checkout/en.js")];case 7:c=t.sent(),u=c.default,t.label=8;case 8:e[o]=u,t.label=9;case 9:return[3,11];case 10:return f=t.sent(),console.error(f),[3,11];case 11:return a++,[3,1];case 12:return[2,e]}}))}))},a.prototype.readLocaleFile=function(n){return e(this,void 0,void 0,(function(){return t(this,(function(e){return[2,new Promise((function(e,t){r.readFile(n,{flag:"r"},(function(r,n){if(r)return t(r);var a=n.length?JSON.parse(n.toString()):{};e(a)}))}))]}))}))},a}();function u(e,t){var r="common",n="",o=e.split(":");if(o.length>2)return e;2===o.length?(r=o[0],n=o[1]):n=o[0];var i=s.translations[r];if(!i)return e;var l=a(i,n);if(l){if(t){for(var u="",c=0,h=f(l);c<h.length;c++){var p=h[c];if(p.isVariable){var m=p.value.replace("{{","").replace("}}","").trim();t[m]?u+=t[m]:u+=p.value}else u+=p.value}return u}return l}return e}function c(e){return{t:u}}function f(e){var t=[];if(!e)return t;for(var r=o(e,"{{"),n=o(e,"}}"),a=r.map((function(e,t){return{start:e,end:n[t]+1}})),s=function(e){return a.some((function(t){return t.start<=e&&t.end>=e}))},i="",l=!1,u=0;u<e.length;u++){var c=e.charAt(u);l?s(u)?i+=c:(t.push({isVariable:!0,value:i}),i=c,l=!1):s(u)?(t.push({isVariable:!1,value:i}),i=c,l=!0):i+=c,u===e.length-1&&t.push({isVariable:l,value:i})}return t}export{i as CHECKOUT_TRANSLATION_NAMESPACE,l as I18NFileReader,f as createTranslationInputData,c as useTranslation};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/storefront",
3
- "version": "2.0.73",
3
+ "version": "3.0.0-alpha.1",
4
4
  "main": "./build/index.js",
5
5
  "module": "./build/index.js",
6
6
  "author": "Umut Ozan Yıldırım",
@@ -77,6 +77,8 @@
77
77
  "next": "12.0.7",
78
78
  "postcss": "^8.4.4",
79
79
  "prettier": "^2.2.1",
80
+ "react": "17.0.2",
81
+ "react-dom": "17.0.2",
80
82
  "rollup": "^2.38.4",
81
83
  "rollup-plugin-copy-assets": "^2.0.3",
82
84
  "rollup-plugin-executable": "^1.6.3",
@@ -1,13 +0,0 @@
1
- import { IkasProductDetail, IkasOrderLineItem, IkasCheckout } from "../models";
2
- import { IkasCart } from "../models/data/cart";
3
- import { CheckoutStep } from "../components/checkout/model";
4
- export declare class GoogleAnalytics {
5
- constructor();
6
- static productView(productDetail: IkasProductDetail): void;
7
- static addToCart(item: IkasProductDetail | IkasOrderLineItem, quantity: number): void;
8
- static removeFromCart(item: IkasProductDetail | IkasOrderLineItem, quantity: number): void;
9
- static viewCart(cart: IkasCart): void;
10
- static beginCheckout(checkout: IkasCheckout): void;
11
- static purchase(checkout: IkasCheckout, orderId: string): void;
12
- static checkoutStep(checkout: IkasCheckout, step: CheckoutStep): void;
13
- }
@@ -1 +0,0 @@
1
- import{makeAutoObservable as e}from"mobx";import"../models/data/blog/index.js";import"../models/data/brand/index.js";import"../models/data/category/index.js";import"../models/data/checkout/index.js";import"../models/data/customer/address/index.js";import"../models/data/customer/index.js";import"../models/data/customer-review/index.js";import"../models/data/html-meta-data/index.js";import"../models/data/image/index.js";import"../models/data/installment-info/index.js";import"../models/data/merchant-settings/index.js";import"../models/data/order/index.js";import"../models/data/order/line-item/index.js";import"../api/product-option-file/index.js";import"../models/data/product/index.js";import"../models/data/variant-type/index.js";import"../models/data/product/variant/index.js";import"../models/data/product/variant/price/index.js";import"../models/data/product-attribute/index.js";import"../models/data/product/attribute-value/index.js";import"../models/data/product-filter/index.js";import"../models/data/variant-type/variant-value/index.js";import"../models/data/order-transaction/index.js";import"../models/data/product-option-set/index.js";import"../models/data/raffle/index.js";import"../models/data/product-campaing/campaign/index.js";import"../models/data/customer-attribute/index.js";import"../models/data/customer-attribute/customer-attribute-sales-channel/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{IkasProductDetail as t}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{CheckoutStep as i}from"../components/checkout/model.js";var o="undefined"==typeof window,r=function(){function r(){e(this)}return r.productView=function(e){try{return void(!o&&window.gtag&&window.gtag("event","view_item",{currency:""===e.selectedVariant.price.currency?"TRY":e.selectedVariant.price.currency,value:e.selectedVariant.price.finalPrice,items:[a(e)]}))}catch(e){console.error(e)}},r.addToCart=function(e,i){try{return void(!o&&window.gtag&&window.gtag("event","add_to_cart",{currency:e instanceof t?""===e.selectedVariant.price.currency?"TRY":e.selectedVariant.price.currency:e.currencyCode,value:e instanceof t?e.selectedVariant.price.finalPrice:e.finalPrice,items:[e instanceof t?a(e,i):n(e,i)]}))}catch(e){console.error(e)}},r.removeFromCart=function(e,i){try{return void(!o&&window.gtag&&window.gtag("event","remove_from_cart",{currency:e instanceof t?""===e.selectedVariant.price.currency?"TRY":e.selectedVariant.price.currency:e.currencyCode,value:e instanceof t?e.selectedVariant.price.finalPrice:e.finalPrice,items:[e instanceof t?a(e,i):n(e,i)]}))}catch(e){console.error(e)}},r.viewCart=function(e){try{return void(!o&&window.gtag&&window.gtag("event","view_cart",{currency:e.currencyCode,value:e.totalPrice,items:e.items.map((function(e){return n(e,e.quantity)}))}))}catch(e){console.error(e)}},r.beginCheckout=function(e){var t,i;try{return void(!o&&window.gtag&&window.gtag("event","begin_checkout",{currency:null===(t=e.cart)||void 0===t?void 0:t.currencyCode,value:e.totalFinalPrice,items:null===(i=e.cart)||void 0===i?void 0:i.items.map((function(e){return n(e,e.quantity)}))}))}catch(e){console.error(e)}},r.purchase=function(e,t){var i,r,a;try{return void(!o&&window.gtag&&window.gtag("event","purchase",{transaction_id:t,affiliation:window.location.hostname,value:""+e.totalFinalPrice,tax:""+(null===(i=e.cart)||void 0===i?void 0:i.totalTax),shipping:""+e.shippingTotal,currency:null===(r=e.cart)||void 0===r?void 0:r.currencyCode,coupon:e.couponCode,items:null===(a=e.cart)||void 0===a?void 0:a.items.map((function(e){return n(e,e.quantity)}))}))}catch(e){console.error(e)}},r.checkoutStep=function(e,t){var r,a,d,c,m;if(t===i.SHIPPING)try{return void(!o&&window.gtag&&window.gtag("event","add_shipping_info",{currency:null===(r=e.cart)||void 0===r?void 0:r.currencyCode,value:e.totalFinalPrice,shipping_tier:"Ground",coupon:e.couponCode,items:null===(a=e.cart)||void 0===a?void 0:a.items.map((function(e){return n(e,e.quantity)}))}))}catch(e){console.error(e)}if(t===i.PAYMENT)try{return void(!o&&window.gtag&&window.gtag("event","add_payment_info",{currency:null===(d=e.cart)||void 0===d?void 0:d.currencyCode,value:e.totalFinalPrice,coupon:e.couponCode,payment_type:null===(c=e.selectedPaymentGateway)||void 0===c?void 0:c.paymentMethodType,items:null===(m=e.cart)||void 0===m?void 0:m.items.map((function(e){return n(e,e.quantity)}))}))}catch(e){console.error(e)}},r}();function a(e,t){var i;return void 0===t&&(t=1),{item_name:e.product.name,item_id:e.selectedVariant.id,price:e.selectedVariant.price.finalPrice,item_brand:(null===(i=e.product.brand)||void 0===i?void 0:i.name)||"",item_category:e.product.categories.length?e.product.categories[0].name:"",item_category_2:e.product.categories.length>1?e.product.categories[1].name:"",item_category_3:e.product.categories.length>2?e.product.categories[2].name:"",item_category_4:e.product.categories.length>3?e.product.categories[3].name:"",item_variant:e.selectedVariant.variantValues.map((function(e){return e.name})).join(" / "),item_list_name:"",item_list_id:"",index:1,quantity:t}}function n(e,t){return void 0===t&&(t=1),{item_name:e.variant.name,item_id:e.variant.id,price:""+e.finalPrice,item_brand:"",item_category:"",item_category_2:"",item_category_3:"",item_category_4:"",item_variant:e.variant.variantValues.map((function(e){return e.variantValueName})).join(" / "),item_list_name:"",item_list_id:"",index:1,quantity:t}}export{r as GoogleAnalytics};
@@ -1,9 +0,0 @@
1
- import { IkasProductDetail, IkasOrderLineItem, IkasCheckout } from "../models";
2
- export declare class GoogleUniversal {
3
- constructor();
4
- static pageView(url: string): void;
5
- static productView(productDetail: IkasProductDetail): void;
6
- static addToCart(item: IkasProductDetail | IkasOrderLineItem, quantity: number): void;
7
- static removeFromCart(item: IkasProductDetail | IkasOrderLineItem, quantity: number): void;
8
- static purchase(checkout: IkasCheckout, orderId: string): void;
9
- }
@@ -1 +0,0 @@
1
- import{makeAutoObservable as t}from"mobx";import"../models/data/blog/index.js";import"../models/data/brand/index.js";import"../models/data/category/index.js";import"../models/data/checkout/index.js";import"../models/data/customer/address/index.js";import"../models/data/customer/index.js";import"../models/data/customer-review/index.js";import"../models/data/html-meta-data/index.js";import"../models/data/image/index.js";import"../models/data/installment-info/index.js";import"../models/data/merchant-settings/index.js";import"../models/data/order/index.js";import"../models/data/order/line-item/index.js";import"../api/product-option-file/index.js";import"../models/data/product/index.js";import"../models/data/variant-type/index.js";import"../models/data/product/variant/index.js";import"../models/data/product/variant/price/index.js";import"../models/data/product-attribute/index.js";import"../models/data/product/attribute-value/index.js";import"../models/data/product-filter/index.js";import"../models/data/variant-type/variant-value/index.js";import"../models/data/order-transaction/index.js";import"../models/data/product-option-set/index.js";import"../models/data/raffle/index.js";import"../models/data/product-campaing/campaign/index.js";import"../models/data/customer-attribute/index.js";import"../models/data/customer-attribute/customer-attribute-sales-channel/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{IkasProductDetail as o}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";var e="undefined"==typeof window,i=function(){function i(){t(this)}return i.pageView=function(t){try{return void(!e&&window.ga&&(window.ga("set","page",t),window.ga("send","pageview")))}catch(t){console.error(t)}},i.productView=function(t){try{return void(!e&&window.ga&&(window.ga("ec:addProduct",function(t,o){var e;return{id:t.selectedVariant.id,name:t.product.name,brand:(null===(e=t.product.brand)||void 0===e?void 0:e.name)||"",category:t.product.categories.map((function(t){return t.name})).join(" / "),variant:t.selectedVariant.variantValues.map((function(t){return t.name})).join(" / ")}}(t)),window.ga("ec:setAction","detail")))}catch(t){console.error(t)}},i.addToCart=function(t,i){try{return void(!e&&window.ga&&(window.ga("ec:addProduct",t instanceof o?r(t,i):a(t,i)),window.ga("ec:setAction","add"),window.ga("send","event","UX","click","add to cart")))}catch(t){console.error(t)}},i.removeFromCart=function(t,i){try{return void(!e&&window.ga&&(window.ga("ec:addProduct",t instanceof o?r(t,i):a(t,i)),window.ga("ec:setAction","remove"),window.ga("send","event","UX","click","add to cart")))}catch(t){console.error(t)}},i.purchase=function(t,o){var i,r,d;try{return void(!e&&window.ga&&(window.ga("set","currencyCode",null===(i=t.cart)||void 0===i?void 0:i.currencyCode),null===(r=t.cart)||void 0===r||r.items.map((function(t){return window.ga("ec:addProduct",a(t,t.quantity))})),window.ga("ec:setAction","purchase",{id:o,affiliation:window.location.hostname,revenue:""+t.totalFinalPrice,tax:""+(null===(d=t.cart)||void 0===d?void 0:d.totalTax),shipping:""+t.shippingTotal,coupon:t.couponCode})))}catch(t){console.error(t)}},i}();function r(t,o){var e;return void 0===o&&(o=1),{id:t.selectedVariant.id,name:t.product.name,brand:(null===(e=t.product.brand)||void 0===e?void 0:e.name)||"",category:t.product.categories.map((function(t){return t.name})).join(" / "),variant:t.selectedVariant.variantValues.map((function(t){return t.name})).join(" / "),price:t.selectedVariant.price.finalPrice,quantity:o}}function a(t,o){return void 0===o&&(o=1),{name:t.variant.name,id:t.variant.id,price:""+t.finalPrice,brand:"",category:"",variant:t.variant.variantValues.map((function(t){return t.variantValueName})).join(" / "),quantity:o}}export{i as GoogleUniversal};
@@ -1,13 +0,0 @@
1
- import { IkasProductDetail, IkasOrderLineItem, IkasCheckout, IkasCategory } from "../models";
2
- export declare class TiktokPixel {
3
- constructor();
4
- static productView(productDetail: IkasProductDetail): void;
5
- static addToCart(item: IkasOrderLineItem, quantity: number): void;
6
- static beginCheckout(): void;
7
- static purchase(checkout: IkasCheckout): void;
8
- static addToWishlist(id: string): void;
9
- static search(searchKeyword: string): void;
10
- static completeRegistration(): void;
11
- static viewCategory(category: IkasCategory): void;
12
- static contactForm(): void;
13
- }