@ikas/storefront 1.0.21 → 2.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 (701) hide show
  1. package/build/ikas +12055 -0
  2. package/package.json +22 -21
  3. package/src/.DS_Store +0 -0
  4. package/src/__generated__/global-types.ts +753 -0
  5. package/src/analytics/analytics.ts +497 -0
  6. package/src/analytics/events.ts +115 -0
  7. package/src/analytics/facebookPixel.ts +226 -0
  8. package/src/analytics/googleTagManager.ts +334 -0
  9. package/src/analytics/head/index.tsx +81 -0
  10. package/src/analytics/ikas.ts +545 -0
  11. package/{build/analytics/index.d.ts → src/analytics/index.ts} +2 -2
  12. package/src/api/.DS_Store +0 -0
  13. package/src/api/apollo.ts +91 -0
  14. package/src/api/back-in-stock-reminder/__generated__/listProductBackInStockRemind.ts +36 -0
  15. package/src/api/back-in-stock-reminder/__generated__/saveProductBackInStockRemind.ts +31 -0
  16. package/src/api/back-in-stock-reminder/index.ts +131 -0
  17. package/src/api/blog/__generated__/getBlog.ts +101 -0
  18. package/src/api/blog/__generated__/listBlog.ts +104 -0
  19. package/src/api/blog/__generated__/listBlogCategory.ts +52 -0
  20. package/src/api/blog/__generated__/listBlogMetaData.ts +42 -0
  21. package/src/api/blog/index.ts +415 -0
  22. package/src/api/brand/__generated__/listProductBrand.ts +63 -0
  23. package/src/api/brand/index.ts +127 -0
  24. package/src/api/cart/__generated__/getCart.ts +104 -0
  25. package/src/api/cart/__generated__/saveItemToCart.ts +91 -0
  26. package/src/api/cart/index.ts +213 -0
  27. package/src/api/category/__generated__/listCategory.ts +68 -0
  28. package/src/api/category/__generated__/listCategoryPaths.ts +37 -0
  29. package/src/api/category/index.ts +223 -0
  30. package/src/api/checkout/__generated__/addCouponCodeToCheckout.ts +22 -0
  31. package/src/api/checkout/__generated__/checkStocks.ts +31 -0
  32. package/src/api/checkout/__generated__/createSaleTransactionWithCheckout.ts +35 -0
  33. package/src/api/checkout/__generated__/getCheckoutByCartId.ts +21 -0
  34. package/src/api/checkout/__generated__/getCheckoutById.ts +270 -0
  35. package/src/api/checkout/__generated__/getOrder.ts +248 -0
  36. package/src/api/checkout/__generated__/listCheckoutSettings.ts +48 -0
  37. package/src/api/checkout/__generated__/listPaymentGateway.ts +57 -0
  38. package/src/api/checkout/__generated__/retrieveInstallmentInfo.ts +36 -0
  39. package/src/api/checkout/__generated__/saveCheckout.ts +23 -0
  40. package/src/api/checkout/index.ts +884 -0
  41. package/src/api/city/__generated__/listCity.ts +26 -0
  42. package/src/api/city/index.ts +56 -0
  43. package/src/api/contact-form/__generated__/sendContactFormToMerchant.ts +19 -0
  44. package/src/api/contact-form/index.ts +54 -0
  45. package/src/api/country/__generated__/getAvailableShippingCountries.ts +16 -0
  46. package/src/api/country/__generated__/getMyCountry.ts +12 -0
  47. package/src/api/country/__generated__/listCountry.ts +36 -0
  48. package/src/api/country/index.ts +129 -0
  49. package/src/api/customer/__generated__/checkCustomerEmail.ts +21 -0
  50. package/src/api/customer/__generated__/createCustomerEmailSubscription.ts +23 -0
  51. package/src/api/customer/__generated__/createOrderRefundRequest.ts +248 -0
  52. package/src/api/customer/__generated__/customerForgotPassword.ts +17 -0
  53. package/src/api/customer/__generated__/customerLogin.ts +88 -0
  54. package/src/api/customer/__generated__/customerRecoverPassword.ts +18 -0
  55. package/src/api/customer/__generated__/customerRefreshToken.ts +22 -0
  56. package/src/api/customer/__generated__/getCustomerOrders.ts +248 -0
  57. package/src/api/customer/__generated__/getLastViewedProducts.ts +27 -0
  58. package/src/api/customer/__generated__/getMyCustomer.ts +75 -0
  59. package/src/api/customer/__generated__/listOrderRefundSettings.ts +25 -0
  60. package/src/api/customer/__generated__/listOrderTransactions.ts +68 -0
  61. package/src/api/customer/__generated__/registerCustomer.ts +90 -0
  62. package/src/api/customer/__generated__/saveLastViewedProducts.ts +23 -0
  63. package/src/api/customer/__generated__/saveMyCustomer.ts +80 -0
  64. package/src/api/customer/index.ts +1147 -0
  65. package/src/api/customer-review/__generated__/createCustomerReview.ts +23 -0
  66. package/src/api/customer-review/__generated__/listCustomerReviews.ts +38 -0
  67. package/src/api/customer-review/index.ts +122 -0
  68. package/src/api/district/__generated__/listDistrict.ts +25 -0
  69. package/src/api/district/index.ts +59 -0
  70. package/src/api/favorite-product/__generated__/isFavoriteProduct.ts +16 -0
  71. package/src/api/favorite-product/__generated__/listFavoriteProducts.ts +22 -0
  72. package/src/api/favorite-product/__generated__/saveFavoriteProduct.ts +17 -0
  73. package/src/api/favorite-product/index.ts +100 -0
  74. package/src/api/html-meta-data/__generated__/listHTMLMetaData.ts +30 -0
  75. package/src/api/html-meta-data/index.ts +72 -0
  76. package/src/api/index.ts +23 -0
  77. package/src/api/merchant/__generated__/listMerchantSettings.ts +19 -0
  78. package/src/api/merchant/index.ts +43 -0
  79. package/src/api/product-attribute/__generated__/listProductAttribute.ts +54 -0
  80. package/src/api/product-attribute/index.ts +69 -0
  81. package/src/api/product-option-set/__generated__/ListProductOptionSet.ts +111 -0
  82. package/src/api/product-option-set/index.ts +114 -0
  83. package/src/api/product-search/__generated__/getProductFilterData.ts +69 -0
  84. package/src/api/product-search/__generated__/searchProducts.ts +40 -0
  85. package/src/api/product-search/index.ts +329 -0
  86. package/src/api/raffle/__generated__/getRafflesByCustomerId.ts +55 -0
  87. package/src/api/raffle/__generated__/listRaffle.ts +74 -0
  88. package/src/api/raffle/__generated__/listRaffleMetaData.ts +33 -0
  89. package/src/api/raffle/__generated__/saveRaffleParticipant.ts +43 -0
  90. package/src/api/raffle/index.ts +369 -0
  91. package/src/api/state/__generated__/listState.ts +25 -0
  92. package/src/api/state/index.ts +45 -0
  93. package/src/api/stock-location/__generated__/listStockLocation.ts +17 -0
  94. package/src/api/stock-location/index.ts +30 -0
  95. package/src/api/storefront/__generated__/getStorefront.ts +67 -0
  96. package/src/api/storefront/index.ts +76 -0
  97. package/src/api/variant-type/__generated__/listVariantType.ts +54 -0
  98. package/src/api/variant-type/index.ts +86 -0
  99. package/{build → src}/assets/translations/checkout/en.js +0 -0
  100. package/{build → src}/assets/translations/checkout/tr.js +0 -0
  101. package/src/components/.DS_Store +0 -0
  102. package/src/components/checkout/components/address-form/index.tsx +360 -0
  103. package/src/components/checkout/components/address-form/model.ts +366 -0
  104. package/src/components/checkout/components/button/index.tsx +34 -0
  105. package/src/components/checkout/components/button/style.module.scss +103 -0
  106. package/src/components/checkout/components/cart-summary/cart-item/index.tsx +146 -0
  107. package/src/components/checkout/components/cart-summary/cart-item/style.module.scss +107 -0
  108. package/src/components/checkout/components/cart-summary/index.tsx +458 -0
  109. package/src/components/checkout/components/cart-summary/style.module.scss +237 -0
  110. package/src/components/checkout/components/checkbox/check.tsx +23 -0
  111. package/src/components/checkout/components/checkbox/index.tsx +50 -0
  112. package/src/components/checkout/components/checkbox/style.module.scss +72 -0
  113. package/src/components/checkout/components/credit-card-form/index.tsx +121 -0
  114. package/src/components/checkout/components/credit-card-form/model.ts +56 -0
  115. package/src/components/checkout/components/credit-card-form/style.module.scss +6 -0
  116. package/src/components/checkout/components/credit-card-form/svg/amex.tsx +30 -0
  117. package/src/components/checkout/components/credit-card-form/svg/master-card.tsx +38 -0
  118. package/src/components/checkout/components/credit-card-form/svg/troy.tsx +54 -0
  119. package/src/components/checkout/components/credit-card-form/svg/visa.tsx +46 -0
  120. package/src/components/checkout/components/customer-addresses/index.tsx +167 -0
  121. package/src/components/checkout/components/customer-addresses/model.ts +126 -0
  122. package/src/components/checkout/components/customer-addresses/style.module.scss +20 -0
  123. package/src/components/checkout/components/error/customer-login-required-error/index.tsx +23 -0
  124. package/src/components/checkout/components/error/index.tsx +54 -0
  125. package/src/components/checkout/components/error/no-shipping-error/index.tsx +19 -0
  126. package/src/components/checkout/components/error/payment-error/index.tsx +21 -0
  127. package/src/components/checkout/components/error/stock-error/index.tsx +72 -0
  128. package/src/components/checkout/components/error/stock-error/style.module.scss +11 -0
  129. package/src/components/checkout/components/error/unknown-error/index.tsx +19 -0
  130. package/src/components/checkout/components/expandable-section/index.tsx +37 -0
  131. package/src/components/checkout/components/expandable-section/style.module.scss +29 -0
  132. package/src/components/checkout/components/form-item/caret-down.tsx +20 -0
  133. package/src/components/checkout/components/form-item/index.tsx +205 -0
  134. package/src/components/checkout/components/form-item/model.ts +131 -0
  135. package/src/components/checkout/components/form-item/style.module.scss +213 -0
  136. package/src/components/checkout/components/fullscreen-loading/index.tsx +10 -0
  137. package/src/components/checkout/components/fullscreen-loading/style.module.scss +56 -0
  138. package/src/components/checkout/components/input-with-button/index.tsx +53 -0
  139. package/src/components/checkout/components/input-with-button/style.module.scss +104 -0
  140. package/src/components/checkout/components/modal/index.tsx +50 -0
  141. package/src/components/checkout/components/modal/style.module.scss +68 -0
  142. package/src/components/checkout/components/notification-box/index.tsx +70 -0
  143. package/src/components/checkout/components/notification-box/style.module.scss +69 -0
  144. package/src/components/checkout/components/select-box/index.tsx +60 -0
  145. package/src/components/checkout/components/select-box/style.module.scss +55 -0
  146. package/src/components/checkout/components/step-container/index.tsx +107 -0
  147. package/src/components/checkout/components/step-container/style.module.scss +86 -0
  148. package/src/components/checkout/components/svg/arrow-down.tsx +23 -0
  149. package/src/components/checkout/components/svg/arrow-left.tsx +23 -0
  150. package/src/components/checkout/components/svg/arrow-right.tsx +23 -0
  151. package/src/components/checkout/components/svg/cross.tsx +23 -0
  152. package/src/components/checkout/components/svg/discount.tsx +34 -0
  153. package/src/components/checkout/components/svg/external.tsx +101 -0
  154. package/src/components/checkout/components/svg/gift.tsx +40 -0
  155. package/src/components/checkout/components/svg/ikas.tsx +39 -0
  156. package/src/components/checkout/components/svg/lock.tsx +23 -0
  157. package/src/components/checkout/components/svg/shopping-cart.tsx +23 -0
  158. package/src/components/checkout/components/svg/success-circle.tsx +26 -0
  159. package/src/components/checkout/components/svg/tag.tsx +23 -0
  160. package/src/components/checkout/components/svg/warning.tsx +30 -0
  161. package/src/components/checkout/components/toggle/index.tsx +51 -0
  162. package/src/components/checkout/components/toggle/style.module.scss +75 -0
  163. package/src/components/checkout/components/tooltip/index.tsx +27 -0
  164. package/src/components/checkout/components/tooltip/style.module.scss +86 -0
  165. package/src/components/checkout/index.tsx +476 -0
  166. package/src/components/checkout/model.ts +1007 -0
  167. package/src/components/checkout/steps/step-info/index.tsx +84 -0
  168. package/src/components/checkout/steps/step-payment/billing-address/index.tsx +40 -0
  169. package/src/components/checkout/steps/step-payment/index.tsx +105 -0
  170. package/src/components/checkout/steps/step-payment/payment-gateways/index.tsx +116 -0
  171. package/src/components/checkout/steps/step-payment/payment-gateways/installments/index.tsx +51 -0
  172. package/src/components/checkout/steps/step-payment/payment-gateways/installments/style.module.scss +50 -0
  173. package/src/components/checkout/steps/step-payment/payment-gateways/style.module.scss +15 -0
  174. package/src/components/checkout/steps/step-payment/style.module.scss +32 -0
  175. package/src/components/checkout/steps/step-shipping/index.tsx +127 -0
  176. package/src/components/checkout/steps/step-shipping/style.module.scss +44 -0
  177. package/src/components/checkout/steps/step-success/index.tsx +437 -0
  178. package/src/components/checkout/steps/step-success/style.module.scss +160 -0
  179. package/src/components/checkout/style.module.scss +358 -0
  180. package/src/components/checkout/styles/common.module.scss +59 -0
  181. package/src/components/checkout/styles/variables.scss +40 -0
  182. package/src/components/image/index.tsx +79 -0
  183. package/src/components/index.ts +4 -0
  184. package/src/components/page/ThemeComponent.tsx +89 -0
  185. package/src/components/page/head.tsx +294 -0
  186. package/src/components/page/index.tsx +216 -0
  187. package/src/components/page-editor/ThemeComponentEditor.tsx +236 -0
  188. package/src/components/page-editor/error/index.tsx +18 -0
  189. package/src/components/page-editor/index.tsx +70 -0
  190. package/src/components/page-editor/loader/index.tsx +10 -0
  191. package/src/components/page-editor/loader/style.module.scss +55 -0
  192. package/src/components/page-editor/model.ts +505 -0
  193. package/src/index.ts +8 -0
  194. package/src/models/.DS_Store +0 -0
  195. package/src/models/data/blog/index.ts +154 -0
  196. package/src/models/data/brand/index.ts +58 -0
  197. package/src/models/data/cart/index.ts +82 -0
  198. package/src/models/data/category/index.ts +130 -0
  199. package/src/models/data/checkout/index.ts +222 -0
  200. package/src/models/data/checkout-settings/index.ts +48 -0
  201. package/src/models/data/city/index.ts +4 -0
  202. package/src/models/data/contact-form/index.ts +17 -0
  203. package/src/models/data/country/index.ts +8 -0
  204. package/src/models/data/customer/address/index.tsx +135 -0
  205. package/src/models/data/customer/index.ts +65 -0
  206. package/src/models/data/customer-review/index.ts +43 -0
  207. package/src/models/data/customer-review-settings/index.ts +4 -0
  208. package/src/models/data/district/index.ts +4 -0
  209. package/src/models/data/favorite-product/index.ts +15 -0
  210. package/src/models/data/html-meta-data/index.ts +56 -0
  211. package/src/models/data/image/index.ts +34 -0
  212. package/src/models/data/index.ts +55 -0
  213. package/src/models/data/installment-info/index.ts +34 -0
  214. package/src/models/data/merchant-settings/index.ts +14 -0
  215. package/src/models/data/order/address/index.ts +138 -0
  216. package/src/models/data/order/adjustment/index.ts +17 -0
  217. package/src/models/data/order/gift-line/index.ts +4 -0
  218. package/src/models/data/order/index.ts +289 -0
  219. package/src/models/data/order/line-item/discount/index.ts +15 -0
  220. package/src/models/data/order/line-item/index.ts +123 -0
  221. package/src/models/data/order/line-item/options/index.ts +18 -0
  222. package/src/models/data/order/line-item/options/options-value/index.ts +11 -0
  223. package/src/models/data/order/line-item/variant/index.ts +75 -0
  224. package/src/models/data/order/refund/index.ts +18 -0
  225. package/src/models/data/order/refund/refund-line-item/index.ts +13 -0
  226. package/src/models/data/order/refund/settings.ts +15 -0
  227. package/src/models/data/order/shipping-line/index.ts +7 -0
  228. package/src/models/data/order-transaction/index.ts +105 -0
  229. package/src/models/data/payment-gateway/index.ts +150 -0
  230. package/src/models/data/product/attribute-value/index.ts +42 -0
  231. package/src/models/data/product/index.ts +95 -0
  232. package/src/models/data/product/variant/index.ts +93 -0
  233. package/src/models/data/product/variant/price/index.ts +38 -0
  234. package/src/models/data/product/variant-type/index.ts +24 -0
  235. package/src/models/data/product-attribute/index.ts +75 -0
  236. package/src/models/data/product-attribute/product-attribute-option/index.ts +13 -0
  237. package/src/models/data/product-attribute/product-attribute-table-cell/index.ts +13 -0
  238. package/src/models/data/product-attribute/product-attribute-table-template/index.ts +18 -0
  239. package/src/models/data/product-back-in-stock-settings/index.ts +3 -0
  240. package/src/models/data/product-cart-item-options/index.ts +15 -0
  241. package/src/models/data/product-filter/index.ts +412 -0
  242. package/src/models/data/product-option-set/index.ts +392 -0
  243. package/src/models/data/product-tag/index.ts +13 -0
  244. package/src/models/data/raffle/index.ts +159 -0
  245. package/src/models/data/sales-channel/index.ts +41 -0
  246. package/src/models/data/simple-product/index.ts +154 -0
  247. package/src/models/data/state/index.ts +5 -0
  248. package/src/models/data/storefront/domain/index.ts +19 -0
  249. package/src/models/data/storefront/index.ts +56 -0
  250. package/src/models/data/storefront/localization/index.tsx +13 -0
  251. package/src/models/data/storefront/routing/index.tsx +17 -0
  252. package/src/models/data/storefront/theme/index.tsx +22 -0
  253. package/src/models/data/storefront/theme-localization/index.tsx +26 -0
  254. package/src/models/data/variant-type/index.ts +77 -0
  255. package/src/models/data/variant-type/variant-value/index.ts +29 -0
  256. package/src/models/index.ts +3 -0
  257. package/src/models/theme/component/index.ts +24 -0
  258. package/src/models/theme/component/prop/index.ts +56 -0
  259. package/src/models/theme/custom-data/index.ts +71 -0
  260. package/{build/models/theme/index.d.ts → src/models/theme/index.ts} +26 -18
  261. package/src/models/theme/page/component/index.ts +21 -0
  262. package/src/models/theme/page/component/prop-value/attribute-list.ts +18 -0
  263. package/src/models/theme/page/component/prop-value/attribute.ts +18 -0
  264. package/src/models/theme/page/component/prop-value/blog-category-list.ts +19 -0
  265. package/src/models/theme/page/component/prop-value/blog-category.ts +15 -0
  266. package/src/models/theme/page/component/prop-value/blog-list.ts +25 -0
  267. package/src/models/theme/page/component/prop-value/blog.ts +15 -0
  268. package/src/models/theme/page/component/prop-value/brand-list.ts +26 -0
  269. package/src/models/theme/page/component/prop-value/brand.ts +15 -0
  270. package/src/models/theme/page/component/prop-value/category-list.ts +26 -0
  271. package/src/models/theme/page/component/prop-value/category.ts +15 -0
  272. package/src/models/theme/page/component/prop-value/link.ts +38 -0
  273. package/src/models/theme/page/component/prop-value/product-detail.ts +17 -0
  274. package/src/models/theme/page/component/prop-value/product-list.ts +41 -0
  275. package/src/models/theme/page/component/prop-value/raffle-list.ts +16 -0
  276. package/src/models/theme/page/component/prop-value/raffle.ts +15 -0
  277. package/src/models/theme/page/index.ts +71 -0
  278. package/src/models/theme/settings/.DS_Store +0 -0
  279. package/src/models/theme/settings/index.ts +27 -0
  280. package/src/models/theme/settings/prop/color/index.ts +18 -0
  281. package/src/models/theme/settings/prop/favicon/index.ts +11 -0
  282. package/src/models/theme/theme.ts +202 -0
  283. package/src/models/ui/blog-category-list/index.ts +199 -0
  284. package/src/models/ui/blog-list/index.ts +202 -0
  285. package/src/models/ui/brand-list/index.ts +239 -0
  286. package/src/models/ui/category-list/index.ts +239 -0
  287. package/src/models/ui/component-renderer/index.ts +9 -0
  288. package/src/models/ui/customer-review-list/index.ts +171 -0
  289. package/src/models/ui/index.ts +41 -0
  290. package/src/models/ui/navigation-link/index.ts +22 -0
  291. package/src/models/ui/product-attribute-detail/index.ts +29 -0
  292. package/src/models/ui/product-attribute-list/index.ts +53 -0
  293. package/src/models/ui/product-detail/index.ts +269 -0
  294. package/src/models/ui/product-list/index.ts +959 -0
  295. package/src/models/ui/raffle-list/index.ts +208 -0
  296. package/src/models/ui/validator/form/account-info.ts +155 -0
  297. package/src/models/ui/validator/form/address.ts +436 -0
  298. package/src/models/ui/validator/form/contact-form.ts +180 -0
  299. package/src/models/ui/validator/form/customer-review.ts +134 -0
  300. package/src/models/ui/validator/form/forgot-password.ts +98 -0
  301. package/src/models/ui/validator/form/login.ts +130 -0
  302. package/src/models/ui/validator/form/raffle-form.ts +271 -0
  303. package/src/models/ui/validator/form/recover-password.ts +150 -0
  304. package/src/models/ui/validator/form/register.ts +200 -0
  305. package/src/models/ui/validator/index.ts +121 -0
  306. package/src/models/ui/validator/rules/index.ts +309 -0
  307. package/src/pages/.DS_Store +0 -0
  308. package/src/pages/404.tsx +29 -0
  309. package/src/pages/[slug]/index.tsx +28 -0
  310. package/src/pages/account/addresses.tsx +20 -0
  311. package/src/pages/account/favorite-products.tsx +20 -0
  312. package/src/pages/account/forgot-password.tsx +20 -0
  313. package/src/pages/account/index.tsx +20 -0
  314. package/src/pages/account/login.tsx +20 -0
  315. package/src/pages/account/orders/[id].tsx +20 -0
  316. package/src/pages/account/orders/index.tsx +20 -0
  317. package/src/pages/account/raffles.tsx +20 -0
  318. package/src/pages/account/recover-password.tsx +20 -0
  319. package/src/pages/account/register.tsx +20 -0
  320. package/src/pages/api/getComponentDirs.ts +39 -0
  321. package/src/pages/api/getTheme.ts +22 -0
  322. package/src/pages/api/index.ts +14 -0
  323. package/src/pages/api/middleware.ts +24 -0
  324. package/src/pages/api/updateTheme.ts +31 -0
  325. package/src/pages/api/uploadTheme.ts +276 -0
  326. package/src/pages/blog/[slug].tsx +27 -0
  327. package/src/pages/blog/index.tsx +20 -0
  328. package/src/pages/cart.tsx +20 -0
  329. package/src/pages/checkout.tsx +172 -0
  330. package/src/pages/editor.tsx +40 -0
  331. package/src/pages/home.tsx +20 -0
  332. package/src/pages/index.ts +22 -0
  333. package/src/pages/pages/[slug].tsx +82 -0
  334. package/src/pages/raffle/[slug].tsx +27 -0
  335. package/src/pages/raffle/index.tsx +20 -0
  336. package/src/pages/search.tsx +20 -0
  337. package/src/providers/helpers/raffles.ts +68 -0
  338. package/src/providers/page-data-get.ts +569 -0
  339. package/src/providers/page-data-init.ts +956 -0
  340. package/src/providers/page-data-next.ts +422 -0
  341. package/src/providers/placeholders.ts +39 -0
  342. package/src/providers/prop-value/attribute-list.ts +73 -0
  343. package/src/providers/prop-value/attribute.ts +73 -0
  344. package/src/providers/prop-value/blog-category-list.ts +25 -0
  345. package/src/providers/prop-value/blog-category.ts +40 -0
  346. package/src/providers/prop-value/blog-list.ts +56 -0
  347. package/src/providers/prop-value/blog.ts +37 -0
  348. package/src/providers/prop-value/boolean.ts +14 -0
  349. package/src/providers/prop-value/brand-list.ts +21 -0
  350. package/src/providers/prop-value/brand.ts +47 -0
  351. package/src/providers/prop-value/category-list.ts +21 -0
  352. package/src/providers/prop-value/category.ts +47 -0
  353. package/src/providers/prop-value/color.ts +14 -0
  354. package/src/providers/prop-value/custom.ts +548 -0
  355. package/src/providers/prop-value/image-list.ts +15 -0
  356. package/src/providers/prop-value/image.ts +15 -0
  357. package/{build/providers/prop-value/index.d.ts → src/providers/prop-value/index.ts} +3 -3
  358. package/src/providers/prop-value/link.ts +214 -0
  359. package/src/providers/prop-value/product-detail.ts +87 -0
  360. package/src/providers/prop-value/product-list.ts +69 -0
  361. package/src/providers/prop-value/raffle-list.ts +14 -0
  362. package/src/providers/prop-value/raffle.ts +43 -0
  363. package/src/providers/prop-value/rich-text.ts +14 -0
  364. package/src/providers/prop-value/text.ts +14 -0
  365. package/src/scripts/generators/api/index.ts +24 -0
  366. package/src/scripts/generators/api/info.ts +47 -0
  367. package/src/scripts/generators/components/index.ts +235 -0
  368. package/src/scripts/generators/config/content.ts +125 -0
  369. package/src/scripts/generators/config/index.ts +93 -0
  370. package/src/scripts/generators/pages/index.ts +95 -0
  371. package/src/scripts/generators/pages/info.ts +156 -0
  372. package/src/scripts/generators/store/content.ts +14 -0
  373. package/src/scripts/generators/store/index.ts +22 -0
  374. package/src/scripts/generators/theme/index.ts +37 -0
  375. package/src/scripts/ikas.ts +47 -0
  376. package/src/store/base.ts +143 -0
  377. package/src/store/cart.ts +311 -0
  378. package/src/store/customer.ts +510 -0
  379. package/{build/store/index.d.ts → src/store/index.ts} +1 -1
  380. package/src/storefront/index.ts +96 -0
  381. package/src/typings/global.d.ts +7 -0
  382. package/src/utils/currency.ts +229 -0
  383. package/src/utils/fs.ts +84 -0
  384. package/src/utils/helper.ts +133 -0
  385. package/src/utils/i18n.ts +204 -0
  386. package/{build/utils/index.d.ts → src/utils/index.ts} +3 -3
  387. package/build/__generated__/global-types.d.ts +0 -632
  388. package/build/analytics/analytics.d.ts +0 -37
  389. package/build/analytics/events.d.ts +0 -36
  390. package/build/analytics/facebookPixel.d.ts +0 -15
  391. package/build/analytics/googleTagManager.d.ts +0 -201
  392. package/build/analytics/head/index.d.ts +0 -7
  393. package/build/analytics/ikas.d.ts +0 -133
  394. package/build/api/apollo.d.ts +0 -10
  395. package/build/api/back-in-stock-reminder/__generated__/listProductBackInStockRemind.d.ts +0 -24
  396. package/build/api/back-in-stock-reminder/__generated__/saveProductBackInStockRemind.d.ts +0 -19
  397. package/build/api/back-in-stock-reminder/index.d.ts +0 -23
  398. package/build/api/blog/__generated__/getBlog.d.ts +0 -106
  399. package/build/api/blog/__generated__/listBlog.d.ts +0 -109
  400. package/build/api/blog/__generated__/listBlogCategory.d.ts +0 -61
  401. package/build/api/blog/__generated__/listBlogMetaData.d.ts +0 -53
  402. package/build/api/blog/index.d.ts +0 -32
  403. package/build/api/brand/__generated__/listProductBrand.d.ts +0 -88
  404. package/build/api/brand/index.d.ts +0 -16
  405. package/build/api/cart/__generated__/getCart.d.ts +0 -176
  406. package/build/api/cart/__generated__/saveItemToCart.d.ts +0 -185
  407. package/build/api/cart/index.d.ts +0 -5
  408. package/build/api/category/__generated__/listCategory.d.ts +0 -99
  409. package/build/api/category/__generated__/listCategoryPaths.d.ts +0 -32
  410. package/build/api/category/index.d.ts +0 -18
  411. package/build/api/checkout/__generated__/addCouponCodeToCheckout.d.ts +0 -11
  412. package/build/api/checkout/__generated__/checkStocks.d.ts +0 -18
  413. package/build/api/checkout/__generated__/createSaleTransactionWithCheckout.d.ts +0 -22
  414. package/build/api/checkout/__generated__/getCheckoutByCartId.d.ts +0 -10
  415. package/build/api/checkout/__generated__/getCheckoutById.d.ts +0 -572
  416. package/build/api/checkout/__generated__/getOrder.d.ts +0 -614
  417. package/build/api/checkout/__generated__/listCheckoutSettings.d.ts +0 -34
  418. package/build/api/checkout/__generated__/listPaymentGateway.d.ts +0 -42
  419. package/build/api/checkout/__generated__/retrieveInstallmentInfo.d.ts +0 -23
  420. package/build/api/checkout/__generated__/saveCheckout.d.ts +0 -11
  421. package/build/api/checkout/index.d.ts +0 -29
  422. package/build/api/city/__generated__/listCity.d.ts +0 -20
  423. package/build/api/city/index.d.ts +0 -4
  424. package/build/api/contact-form/__generated__/sendContactFormToMerchant.d.ts +0 -9
  425. package/build/api/contact-form/index.d.ts +0 -10
  426. package/build/api/country/__generated__/getAvailableShippingCountries.d.ts +0 -6
  427. package/build/api/country/__generated__/getMyCountry.d.ts +0 -3
  428. package/build/api/country/__generated__/listCountry.d.ts +0 -41
  429. package/build/api/country/index.d.ts +0 -6
  430. package/build/api/customer/__generated__/checkCustomerEmail.d.ts +0 -10
  431. package/build/api/customer/__generated__/createCustomerEmailSubscription.d.ts +0 -11
  432. package/build/api/customer/__generated__/createOrderRefundRequest.d.ts +0 -584
  433. package/build/api/customer/__generated__/customerForgotPassword.d.ts +0 -7
  434. package/build/api/customer/__generated__/customerLogin.d.ts +0 -162
  435. package/build/api/customer/__generated__/customerRecoverPassword.d.ts +0 -8
  436. package/build/api/customer/__generated__/customerRefreshToken.d.ts +0 -11
  437. package/build/api/customer/__generated__/customerSocialLogin.d.ts +0 -161
  438. package/build/api/customer/__generated__/getCustomerOrders.d.ts +0 -614
  439. package/build/api/customer/__generated__/getLastViewedProducts.d.ts +0 -15
  440. package/build/api/customer/__generated__/getMyCustomer.d.ts +0 -140
  441. package/build/api/customer/__generated__/listOrderRefundSettings.d.ts +0 -13
  442. package/build/api/customer/__generated__/listOrderTransactions.d.ts +0 -53
  443. package/build/api/customer/__generated__/registerCustomer.d.ts +0 -158
  444. package/build/api/customer/__generated__/saveLastViewedProducts.d.ts +0 -11
  445. package/build/api/customer/__generated__/saveMyCustomer.d.ts +0 -155
  446. package/build/api/customer/index.d.ts +0 -49
  447. package/build/api/customer-review/__generated__/createCustomerReview.d.ts +0 -11
  448. package/build/api/customer-review/__generated__/listCustomerReviews.d.ts +0 -48
  449. package/build/api/customer-review/index.d.ts +0 -24
  450. package/build/api/district/__generated__/listDistrict.d.ts +0 -16
  451. package/build/api/district/index.d.ts +0 -4
  452. package/build/api/favorite-product/__generated__/isFavoriteProduct.d.ts +0 -6
  453. package/build/api/favorite-product/__generated__/listFavoriteProducts.d.ts +0 -12
  454. package/build/api/favorite-product/__generated__/saveFavoriteProduct.d.ts +0 -7
  455. package/build/api/favorite-product/index.d.ts +0 -6
  456. package/build/api/html-meta-data/__generated__/listHTMLMetaData.d.ts +0 -28
  457. package/build/api/html-meta-data/index.d.ts +0 -4
  458. package/build/api/index.d.ts +0 -21
  459. package/build/api/merchant/__generated__/listMerchantSettings.d.ts +0 -9
  460. package/build/api/merchant/index.d.ts +0 -4
  461. package/build/api/product-attribute/__generated__/listProductAttribute.d.ts +0 -72
  462. package/build/api/product-attribute/index.d.ts +0 -4
  463. package/build/api/product-option-set/__generated__/ListProductOptionSet.d.ts +0 -90
  464. package/build/api/product-option-set/index.d.ts +0 -6
  465. package/build/api/product-search/__generated__/getProductFilterData.d.ts +0 -61
  466. package/build/api/product-search/__generated__/searchProducts.d.ts +0 -26
  467. package/build/api/product-search/index.d.ts +0 -20
  468. package/build/api/state/__generated__/listState.d.ts +0 -19
  469. package/build/api/state/index.d.ts +0 -4
  470. package/build/api/stock-location/__generated__/listStockLocation.d.ts +0 -7
  471. package/build/api/stock-location/index.d.ts +0 -4
  472. package/build/api/storefront/__generated__/getStorefront.d.ts +0 -52
  473. package/build/api/storefront/index.d.ts +0 -4
  474. package/build/api/variant-type/__generated__/listVariantType.d.ts +0 -72
  475. package/build/api/variant-type/index.d.ts +0 -4
  476. package/build/components/checkout/components/address-form/index.d.ts +0 -3
  477. package/build/components/checkout/components/address-form/model.d.ts +0 -131
  478. package/build/components/checkout/components/button/index.d.ts +0 -12
  479. package/build/components/checkout/components/cart-summary/cart-item/index.d.ts +0 -10
  480. package/build/components/checkout/components/cart-summary/index.d.ts +0 -8
  481. package/build/components/checkout/components/checkbox/check.d.ts +0 -6
  482. package/build/components/checkout/components/checkbox/index.d.ts +0 -10
  483. package/build/components/checkout/components/credit-card-form/index.d.ts +0 -7
  484. package/build/components/checkout/components/credit-card-form/model.d.ts +0 -26
  485. package/build/components/checkout/components/credit-card-form/svg/amex.d.ts +0 -6
  486. package/build/components/checkout/components/credit-card-form/svg/master-card.d.ts +0 -6
  487. package/build/components/checkout/components/credit-card-form/svg/troy.d.ts +0 -6
  488. package/build/components/checkout/components/credit-card-form/svg/visa.d.ts +0 -6
  489. package/build/components/checkout/components/customer-addresses/index.d.ts +0 -15
  490. package/build/components/checkout/components/customer-addresses/model.d.ts +0 -21
  491. package/build/components/checkout/components/error/customer-login-required-error/index.d.ts +0 -8
  492. package/build/components/checkout/components/error/index.d.ts +0 -7
  493. package/build/components/checkout/components/error/no-shipping-error/index.d.ts +0 -6
  494. package/build/components/checkout/components/error/payment-error/index.d.ts +0 -8
  495. package/build/components/checkout/components/error/stock-error/index.d.ts +0 -8
  496. package/build/components/checkout/components/error/unknown-error/index.d.ts +0 -6
  497. package/build/components/checkout/components/expandable-section/index.d.ts +0 -6
  498. package/build/components/checkout/components/form-item/caret-down.d.ts +0 -6
  499. package/build/components/checkout/components/form-item/index.d.ts +0 -3
  500. package/build/components/checkout/components/form-item/model.d.ts +0 -59
  501. package/build/components/checkout/components/fullscreen-loading/index.d.ts +0 -2
  502. package/build/components/checkout/components/input-with-button/index.d.ts +0 -11
  503. package/build/components/checkout/components/modal/index.d.ts +0 -8
  504. package/build/components/checkout/components/notification-box/index.d.ts +0 -9
  505. package/build/components/checkout/components/select-box/index.d.ts +0 -13
  506. package/build/components/checkout/components/step-container/index.d.ts +0 -15
  507. package/build/components/checkout/components/svg/arrow-down.d.ts +0 -6
  508. package/build/components/checkout/components/svg/arrow-left.d.ts +0 -6
  509. package/build/components/checkout/components/svg/arrow-right.d.ts +0 -6
  510. package/build/components/checkout/components/svg/cross.d.ts +0 -6
  511. package/build/components/checkout/components/svg/discount.d.ts +0 -6
  512. package/build/components/checkout/components/svg/external.d.ts +0 -6
  513. package/build/components/checkout/components/svg/gift.d.ts +0 -7
  514. package/build/components/checkout/components/svg/ikas.d.ts +0 -6
  515. package/build/components/checkout/components/svg/lock.d.ts +0 -6
  516. package/build/components/checkout/components/svg/shopping-cart.d.ts +0 -6
  517. package/build/components/checkout/components/svg/success-circle.d.ts +0 -6
  518. package/build/components/checkout/components/svg/tag.d.ts +0 -6
  519. package/build/components/checkout/components/svg/warning.d.ts +0 -6
  520. package/build/components/checkout/components/toggle/index.d.ts +0 -10
  521. package/build/components/checkout/components/tooltip/index.d.ts +0 -8
  522. package/build/components/checkout/index.d.ts +0 -32
  523. package/build/components/checkout/model.d.ts +0 -122
  524. package/build/components/checkout/steps/step-info/index.d.ts +0 -7
  525. package/build/components/checkout/steps/step-payment/billing-address/index.d.ts +0 -7
  526. package/build/components/checkout/steps/step-payment/index.d.ts +0 -7
  527. package/build/components/checkout/steps/step-payment/payment-gateways/index.d.ts +0 -7
  528. package/build/components/checkout/steps/step-payment/payment-gateways/installments/index.d.ts +0 -7
  529. package/build/components/checkout/steps/step-shipping/index.d.ts +0 -7
  530. package/build/components/checkout/steps/step-success/index.d.ts +0 -7
  531. package/build/components/error/index.d.ts +0 -5
  532. package/build/components/image/index.d.ts +0 -36
  533. package/build/components/index.d.ts +0 -4
  534. package/build/components/page/ThemeComponent.d.ts +0 -10
  535. package/build/components/page/head.d.ts +0 -12
  536. package/build/components/page/index.d.ts +0 -17
  537. package/build/components/page-editor/ThemeComponentEditor.d.ts +0 -9
  538. package/build/components/page-editor/index.d.ts +0 -2
  539. package/build/components/page-editor/model.d.ts +0 -65
  540. package/build/index.css +0 -1521
  541. package/build/index.d.ts +0 -8
  542. package/build/index.es.css +0 -1521
  543. package/build/index.es.js +0 -74627
  544. package/build/index.js +0 -74756
  545. package/build/models/data/blog/index.d.ts +0 -67
  546. package/build/models/data/brand/index.d.ts +0 -21
  547. package/build/models/data/cart/index.d.ts +0 -47
  548. package/build/models/data/category/index.d.ts +0 -52
  549. package/build/models/data/checkout/index.d.ts +0 -103
  550. package/build/models/data/checkout-settings/index.d.ts +0 -25
  551. package/build/models/data/city/index.d.ts +0 -4
  552. package/build/models/data/contact-form/index.d.ts +0 -7
  553. package/build/models/data/country/index.d.ts +0 -8
  554. package/build/models/data/customer/address/index.d.ts +0 -52
  555. package/build/models/data/customer/index.d.ts +0 -33
  556. package/build/models/data/customer-review/index.d.ts +0 -23
  557. package/build/models/data/customer-review-settings/index.d.ts +0 -4
  558. package/build/models/data/district/index.d.ts +0 -4
  559. package/build/models/data/favorite-product/index.d.ts +0 -6
  560. package/build/models/data/html-meta-data/index.d.ts +0 -23
  561. package/build/models/data/image/index.d.ts +0 -8
  562. package/build/models/data/index.d.ts +0 -33
  563. package/build/models/data/installment-info/index.d.ts +0 -30
  564. package/build/models/data/merchant-settings/index.d.ts +0 -8
  565. package/build/models/data/order/address/index.d.ts +0 -51
  566. package/build/models/data/order/adjustment/index.d.ts +0 -16
  567. package/build/models/data/order/gift-line/index.d.ts +0 -4
  568. package/build/models/data/order/index.d.ts +0 -146
  569. package/build/models/data/order/line-item/discount/index.d.ts +0 -11
  570. package/build/models/data/order/line-item/index.d.ts +0 -43
  571. package/build/models/data/order/line-item/options/index.d.ts +0 -10
  572. package/build/models/data/order/line-item/options/options-value/index.d.ts +0 -6
  573. package/build/models/data/order/line-item/variant/index.d.ts +0 -25
  574. package/build/models/data/order/refund/index.d.ts +0 -6
  575. package/build/models/data/order/refund/refund-line-item/index.d.ts +0 -5
  576. package/build/models/data/order/refund/settings.d.ts +0 -6
  577. package/build/models/data/order/shipping-line/index.d.ts +0 -7
  578. package/build/models/data/order-transaction/index.d.ts +0 -74
  579. package/build/models/data/payment-gateway/index.d.ts +0 -61
  580. package/build/models/data/product/attribute-value/index.d.ts +0 -20
  581. package/build/models/data/product/index.d.ts +0 -35
  582. package/build/models/data/product/variant/index.d.ts +0 -24
  583. package/build/models/data/product/variant/price/index.d.ts +0 -11
  584. package/build/models/data/product/variant-type/index.d.ts +0 -6
  585. package/build/models/data/product-attribute/index.d.ts +0 -34
  586. package/build/models/data/product-attribute/product-attribute-option/index.d.ts +0 -5
  587. package/build/models/data/product-attribute/product-attribute-table-cell/index.d.ts +0 -5
  588. package/build/models/data/product-attribute/product-attribute-table-template/index.d.ts +0 -6
  589. package/build/models/data/product-back-in-stock-settings/index.d.ts +0 -3
  590. package/build/models/data/product-cart-item-options/index.d.ts +0 -6
  591. package/build/models/data/product-filter/index.d.ts +0 -109
  592. package/build/models/data/product-option-set/index.d.ts +0 -104
  593. package/build/models/data/product-tag/index.d.ts +0 -5
  594. package/build/models/data/sales-channel/index.d.ts +0 -18
  595. package/build/models/data/simple-product/index.d.ts +0 -136
  596. package/build/models/data/state/index.d.ts +0 -5
  597. package/build/models/data/storefront/domain/index.d.ts +0 -8
  598. package/build/models/data/storefront/index.d.ts +0 -23
  599. package/build/models/data/storefront/localization/index.d.ts +0 -7
  600. package/build/models/data/storefront/routing/index.d.ts +0 -9
  601. package/build/models/data/storefront/theme/index.d.ts +0 -13
  602. package/build/models/data/storefront/theme-localization/index.d.ts +0 -12
  603. package/build/models/data/variant-type/index.d.ts +0 -26
  604. package/build/models/data/variant-type/variant-value/index.d.ts +0 -11
  605. package/build/models/index.d.ts +0 -3
  606. package/build/models/theme/component/index.d.ts +0 -10
  607. package/build/models/theme/component/prop/index.d.ts +0 -40
  608. package/build/models/theme/custom-data/index.d.ts +0 -24
  609. package/build/models/theme/page/component/index.d.ts +0 -6
  610. package/build/models/theme/page/component/prop-value/attribute-list.d.ts +0 -7
  611. package/build/models/theme/page/component/prop-value/attribute.d.ts +0 -7
  612. package/build/models/theme/page/component/prop-value/blog-category-list.d.ts +0 -7
  613. package/build/models/theme/page/component/prop-value/blog-category.d.ts +0 -5
  614. package/build/models/theme/page/component/prop-value/blog-list.d.ts +0 -9
  615. package/build/models/theme/page/component/prop-value/blog.d.ts +0 -5
  616. package/build/models/theme/page/component/prop-value/brand-list.d.ts +0 -9
  617. package/build/models/theme/page/component/prop-value/brand.d.ts +0 -5
  618. package/build/models/theme/page/component/prop-value/category-list.d.ts +0 -9
  619. package/build/models/theme/page/component/prop-value/category.d.ts +0 -5
  620. package/build/models/theme/page/component/prop-value/link.d.ts +0 -19
  621. package/build/models/theme/page/component/prop-value/product-detail.d.ts +0 -6
  622. package/build/models/theme/page/component/prop-value/product-list.d.ts +0 -17
  623. package/build/models/theme/page/index.d.ts +0 -40
  624. package/build/models/theme/settings/index.d.ts +0 -13
  625. package/build/models/theme/settings/prop/color/index.d.ts +0 -7
  626. package/build/models/theme/settings/prop/favicon/index.d.ts +0 -4
  627. package/build/models/theme/theme.d.ts +0 -16
  628. package/build/models/ui/blog-category-list/index.d.ts +0 -52
  629. package/build/models/ui/blog-list/index.d.ts +0 -56
  630. package/build/models/ui/brand-list/index.d.ts +0 -61
  631. package/build/models/ui/category-list/index.d.ts +0 -61
  632. package/build/models/ui/component-renderer/index.d.ts +0 -7
  633. package/build/models/ui/customer-review-list/index.d.ts +0 -43
  634. package/build/models/ui/index.d.ts +0 -22
  635. package/build/models/ui/navigation-link/index.d.ts +0 -8
  636. package/build/models/ui/product-attribute-detail/index.d.ts +0 -8
  637. package/build/models/ui/product-attribute-list/index.d.ts +0 -9
  638. package/build/models/ui/product-detail/index.d.ts +0 -28
  639. package/build/models/ui/product-list/index.d.ts +0 -132
  640. package/build/models/ui/validator/form/account-info.d.ts +0 -40
  641. package/build/models/ui/validator/form/address.d.ts +0 -75
  642. package/build/models/ui/validator/form/contact-form.d.ts +0 -45
  643. package/build/models/ui/validator/form/customer-review.d.ts +0 -37
  644. package/build/models/ui/validator/form/forgot-password.d.ts +0 -29
  645. package/build/models/ui/validator/form/login.d.ts +0 -35
  646. package/build/models/ui/validator/form/recover-password.d.ts +0 -36
  647. package/build/models/ui/validator/form/register.d.ts +0 -48
  648. package/build/models/ui/validator/index.d.ts +0 -27
  649. package/build/models/ui/validator/rules/index.d.ts +0 -87
  650. package/build/pages/404.d.ts +0 -6
  651. package/build/pages/[slug]/index.d.ts +0 -7
  652. package/build/pages/account/addresses.d.ts +0 -6
  653. package/build/pages/account/favorite-products.d.ts +0 -6
  654. package/build/pages/account/forgot-password.d.ts +0 -6
  655. package/build/pages/account/index.d.ts +0 -6
  656. package/build/pages/account/login.d.ts +0 -6
  657. package/build/pages/account/orders/[id].d.ts +0 -6
  658. package/build/pages/account/orders/index.d.ts +0 -6
  659. package/build/pages/account/recover-password.d.ts +0 -6
  660. package/build/pages/account/register.d.ts +0 -6
  661. package/build/pages/blog/[slug].d.ts +0 -7
  662. package/build/pages/blog/index.d.ts +0 -6
  663. package/build/pages/cart.d.ts +0 -6
  664. package/build/pages/checkout.d.ts +0 -18
  665. package/build/pages/editor.d.ts +0 -8
  666. package/build/pages/home.d.ts +0 -6
  667. package/build/pages/index.d.ts +0 -20
  668. package/build/pages/pages/[slug].d.ts +0 -7
  669. package/build/pages/search.d.ts +0 -6
  670. package/build/providers/page-data-get.d.ts +0 -61
  671. package/build/providers/page-data-init.d.ts +0 -58
  672. package/build/providers/page-data-next.d.ts +0 -243
  673. package/build/providers/placeholders.d.ts +0 -6
  674. package/build/providers/prop-value/attribute-list.d.ts +0 -12
  675. package/build/providers/prop-value/attribute.d.ts +0 -12
  676. package/build/providers/prop-value/blog-category-list.d.ts +0 -7
  677. package/build/providers/prop-value/blog-category.d.ts +0 -11
  678. package/build/providers/prop-value/blog-list.d.ts +0 -9
  679. package/build/providers/prop-value/blog.d.ts +0 -11
  680. package/build/providers/prop-value/boolean.d.ts +0 -6
  681. package/build/providers/prop-value/brand-list.d.ts +0 -7
  682. package/build/providers/prop-value/brand.d.ts +0 -11
  683. package/build/providers/prop-value/category-list.d.ts +0 -7
  684. package/build/providers/prop-value/category.d.ts +0 -11
  685. package/build/providers/prop-value/checkout.d.ts +0 -4
  686. package/build/providers/prop-value/color.d.ts +0 -6
  687. package/build/providers/prop-value/custom.d.ts +0 -42
  688. package/build/providers/prop-value/image-list.d.ts +0 -7
  689. package/build/providers/prop-value/image.d.ts +0 -7
  690. package/build/providers/prop-value/link.d.ts +0 -16
  691. package/build/providers/prop-value/product-detail.d.ts +0 -11
  692. package/build/providers/prop-value/product-list.d.ts +0 -9
  693. package/build/providers/prop-value/rich-text.d.ts +0 -6
  694. package/build/providers/prop-value/text.d.ts +0 -6
  695. package/build/store/base.d.ts +0 -25
  696. package/build/store/cart.d.ts +0 -30
  697. package/build/store/customer.d.ts +0 -91
  698. package/build/storefront/index.d.ts +0 -55
  699. package/build/utils/currency.d.ts +0 -7
  700. package/build/utils/helper.d.ts +0 -8
  701. package/build/utils/i18n.d.ts +0 -20
@@ -0,0 +1,1147 @@
1
+ import gql from "graphql-tag";
2
+ import { apollo } from "../apollo";
3
+ import {
4
+ IkasCustomer,
5
+ IkasOrder,
6
+ IkasOrderRefundSettings,
7
+ IkasOrderTransaction,
8
+ } from "../../models";
9
+ import { IkasRefund } from "../../models/data/order/refund";
10
+
11
+ import * as LoginTypes from "./__generated__/customerLogin";
12
+ import * as RegisterTypes from "./__generated__/registerCustomer";
13
+ import * as RefreshTokenTypes from "./__generated__/customerRefreshToken";
14
+ import * as ForgotPasswordTypes from "./__generated__/customerForgotPassword";
15
+ import * as RecoverPasswordTypes from "./__generated__/customerRecoverPassword";
16
+ import * as CheckEmailTypes from "./__generated__/checkCustomerEmail";
17
+ import * as GetCustomerTypes from "./__generated__/getMyCustomer";
18
+ import * as SaveCustomerTypes from "./__generated__/saveMyCustomer";
19
+ import * as GetOrdersTypes from "./__generated__/getCustomerOrders";
20
+ import * as RefundOrderTypes from "./__generated__/createOrderRefundRequest";
21
+ import * as CreateCustomerEmailSubscriptionTypes from "./__generated__/createCustomerEmailSubscription";
22
+ import * as GetLastViewedProductsTypes from "./__generated__/getLastViewedProducts";
23
+ import * as SaveLastViewedProductsTypes from "./__generated__/saveLastViewedProducts";
24
+ import * as ListOrderRefundSettingsTypes from "./__generated__/listOrderRefundSettings";
25
+ import { IkasStorefrontConfig } from "../../storefront";
26
+
27
+ export class IkasCustomerAPI {
28
+ static async login(email: string, password: string) {
29
+ const MUTATION = gql`
30
+ mutation customerLogin($email: String!, $password: String!) {
31
+ customerLogin(email: $email, password: $password) {
32
+ token
33
+ tokenExpiry
34
+ customer {
35
+ id
36
+ isEmailVerified
37
+ isPhoneVerified
38
+ lastName
39
+ addresses {
40
+ addressLine1
41
+ addressLine2
42
+ identityNumber
43
+ city {
44
+ code
45
+ id
46
+ name
47
+ }
48
+ company
49
+ country {
50
+ code
51
+ id
52
+ name
53
+ }
54
+ district {
55
+ id
56
+ name
57
+ code
58
+ }
59
+ id
60
+ firstName
61
+ isDefault
62
+ lastName
63
+ postalCode
64
+ state {
65
+ name
66
+ id
67
+ code
68
+ }
69
+ taxNumber
70
+ taxOffice
71
+ title
72
+ }
73
+ phone
74
+ accountStatus
75
+ email
76
+ firstName
77
+ subscriptionStatus
78
+ }
79
+ }
80
+ }
81
+ `;
82
+
83
+ try {
84
+ const { data, errors } = await apollo
85
+ .getClient()
86
+ .mutate<LoginTypes.customerLogin, LoginTypes.customerLoginVariables>({
87
+ mutation: MUTATION,
88
+ variables: {
89
+ email,
90
+ password,
91
+ },
92
+ });
93
+
94
+ if (errors && errors.length) {
95
+ console.log(errors);
96
+ }
97
+
98
+ if (data && data.customerLogin)
99
+ return {
100
+ ...data.customerLogin,
101
+ customer: new IkasCustomer(
102
+ (data.customerLogin.customer as unknown) as IkasCustomer
103
+ ),
104
+ };
105
+ } catch (err) {
106
+ console.log(err);
107
+ }
108
+ }
109
+
110
+ static async register(
111
+ email: string,
112
+ password: string,
113
+ firstName: string,
114
+ lastName: string,
115
+ isAcceptMarketing?: boolean
116
+ ) {
117
+ const MUTATION = gql`
118
+ mutation registerCustomer(
119
+ $email: String!
120
+ $password: String!
121
+ $firstName: String!
122
+ $lastName: String!
123
+ $isAcceptMarketing: Boolean
124
+ $locale: String
125
+ ) {
126
+ registerCustomer(
127
+ email: $email
128
+ password: $password
129
+ firstName: $firstName
130
+ lastName: $lastName
131
+ isAcceptMarketing: $isAcceptMarketing
132
+ locale: $locale
133
+ ) {
134
+ token
135
+ tokenExpiry
136
+ customer {
137
+ id
138
+ isEmailVerified
139
+ isPhoneVerified
140
+ lastName
141
+ addresses {
142
+ addressLine1
143
+ addressLine2
144
+ city {
145
+ code
146
+ id
147
+ name
148
+ }
149
+ company
150
+ country {
151
+ code
152
+ id
153
+ name
154
+ }
155
+ district {
156
+ id
157
+ name
158
+ code
159
+ }
160
+ id
161
+ firstName
162
+ isDefault
163
+ lastName
164
+ postalCode
165
+ state {
166
+ name
167
+ id
168
+ code
169
+ }
170
+ taxNumber
171
+ taxOffice
172
+ title
173
+ }
174
+ phone
175
+ accountStatus
176
+ email
177
+ firstName
178
+ }
179
+ }
180
+ }
181
+ `;
182
+
183
+ try {
184
+ const { data, errors } = await apollo
185
+ .getClient()
186
+ .mutate<
187
+ RegisterTypes.registerCustomer,
188
+ RegisterTypes.registerCustomerVariables
189
+ >({
190
+ mutation: MUTATION,
191
+ variables: {
192
+ email,
193
+ password,
194
+ firstName,
195
+ lastName,
196
+ isAcceptMarketing,
197
+ locale: IkasStorefrontConfig.getCurrentLocale(),
198
+ },
199
+ });
200
+
201
+ if (errors && errors.length) {
202
+ console.log(errors);
203
+ }
204
+
205
+ if (data && data.registerCustomer)
206
+ return {
207
+ ...data.registerCustomer,
208
+ customer: new IkasCustomer(
209
+ (data.registerCustomer.customer as unknown) as IkasCustomer
210
+ ),
211
+ };
212
+ } catch (err) {
213
+ console.log(err);
214
+ }
215
+ }
216
+
217
+ static async refreshToken(token: string) {
218
+ const MUTATION = gql`
219
+ mutation customerRefreshToken($token: String!) {
220
+ customerRefreshToken(token: $token) {
221
+ token
222
+ tokenExpiry
223
+ }
224
+ }
225
+ `;
226
+
227
+ try {
228
+ const { data, errors } = await apollo
229
+ .getClient()
230
+ .mutate<
231
+ RefreshTokenTypes.customerRefreshToken,
232
+ RefreshTokenTypes.customerRefreshTokenVariables
233
+ >({
234
+ mutation: MUTATION,
235
+ variables: {
236
+ token,
237
+ },
238
+ });
239
+
240
+ if (errors && errors.length) {
241
+ console.log(errors);
242
+ }
243
+
244
+ if (data) return data.customerRefreshToken;
245
+ } catch (err) {
246
+ console.log(err);
247
+ }
248
+ }
249
+
250
+ static async forgotPassword(email: string) {
251
+ const MUTATION = gql`
252
+ mutation customerForgotPassword($email: String!, $locale: String!) {
253
+ customerForgotPassword(email: $email, locale: $locale)
254
+ }
255
+ `;
256
+
257
+ try {
258
+ const { data, errors } = await apollo
259
+ .getClient()
260
+ .mutate<
261
+ ForgotPasswordTypes.customerForgotPassword,
262
+ ForgotPasswordTypes.customerForgotPasswordVariables
263
+ >({
264
+ mutation: MUTATION,
265
+ variables: {
266
+ email,
267
+ locale: IkasStorefrontConfig.getCurrentLocale(),
268
+ },
269
+ });
270
+
271
+ if (errors && errors.length) {
272
+ console.log(errors);
273
+ return false;
274
+ }
275
+ } catch (err) {
276
+ console.log(err);
277
+ }
278
+
279
+ return true;
280
+ }
281
+
282
+ static async recoverPassword(
283
+ password: string,
284
+ passwordAgain: string,
285
+ token: string
286
+ ) {
287
+ const MUTATION = gql`
288
+ mutation customerRecoverPassword(
289
+ $password: String!
290
+ $passwordAgain: String!
291
+ $token: String!
292
+ ) {
293
+ customerRecoverPassword(
294
+ password: $password
295
+ passwordAgain: $passwordAgain
296
+ token: $token
297
+ )
298
+ }
299
+ `;
300
+
301
+ try {
302
+ const { data, errors } = await apollo
303
+ .getClient()
304
+ .mutate<
305
+ RecoverPasswordTypes.customerRecoverPassword,
306
+ RecoverPasswordTypes.customerRecoverPasswordVariables
307
+ >({
308
+ mutation: MUTATION,
309
+ variables: {
310
+ password,
311
+ passwordAgain,
312
+ token,
313
+ },
314
+ });
315
+
316
+ if (errors && errors.length) {
317
+ console.log(errors);
318
+ return false;
319
+ }
320
+ } catch (err) {
321
+ console.log(err);
322
+ return false;
323
+ }
324
+
325
+ return true;
326
+ }
327
+
328
+ static async checkEmail(email: string) {
329
+ const QUERY = gql`
330
+ query checkCustomerEmail($email: String!) {
331
+ checkCustomerEmail(email: $email) {
332
+ exists
333
+ }
334
+ }
335
+ `;
336
+
337
+ try {
338
+ const { data, errors } = await apollo
339
+ .getClient()
340
+ .query<
341
+ CheckEmailTypes.checkCustomerEmail,
342
+ CheckEmailTypes.checkCustomerEmailVariables
343
+ >({
344
+ query: QUERY,
345
+ variables: {
346
+ email,
347
+ },
348
+ });
349
+
350
+ if (errors && errors.length) {
351
+ console.log(errors);
352
+ }
353
+
354
+ if (data && data.checkCustomerEmail)
355
+ return data.checkCustomerEmail.exists;
356
+ } catch (err) {
357
+ console.log(err);
358
+ }
359
+
360
+ return false;
361
+ }
362
+
363
+ static async getCustomer() {
364
+ const QUERY = gql`
365
+ query getMyCustomer {
366
+ getMyCustomer {
367
+ id
368
+ isEmailVerified
369
+ isPhoneVerified
370
+ lastName
371
+ addresses {
372
+ addressLine1
373
+ addressLine2
374
+ city {
375
+ code
376
+ id
377
+ name
378
+ }
379
+ company
380
+ country {
381
+ code
382
+ id
383
+ name
384
+ }
385
+ district {
386
+ id
387
+ name
388
+ code
389
+ }
390
+ id
391
+ firstName
392
+ isDefault
393
+ lastName
394
+ postalCode
395
+ state {
396
+ name
397
+ id
398
+ code
399
+ }
400
+ taxNumber
401
+ taxOffice
402
+ title
403
+ phone
404
+ }
405
+ phone
406
+ accountStatus
407
+ email
408
+ firstName
409
+ }
410
+ }
411
+ `;
412
+
413
+ try {
414
+ const {
415
+ data,
416
+ errors,
417
+ } = await apollo.getClient().query<GetCustomerTypes.getMyCustomer>({
418
+ query: QUERY,
419
+ });
420
+
421
+ if (errors && errors.length) {
422
+ console.log(errors);
423
+ }
424
+
425
+ if (data && data.getMyCustomer)
426
+ return new IkasCustomer(
427
+ (data.getMyCustomer as unknown) as IkasCustomer
428
+ );
429
+ } catch (err) {
430
+ console.log(err);
431
+ }
432
+ }
433
+
434
+ static async saveCustomer(customer: IkasCustomer) {
435
+ const MUTATION = gql`
436
+ mutation saveMyCustomer($input: SaveMyCustomerInput!) {
437
+ saveMyCustomer(input: $input) {
438
+ id
439
+ isEmailVerified
440
+ isPhoneVerified
441
+ lastName
442
+ addresses {
443
+ addressLine1
444
+ addressLine2
445
+ city {
446
+ code
447
+ id
448
+ name
449
+ }
450
+ company
451
+ country {
452
+ code
453
+ id
454
+ name
455
+ }
456
+ district {
457
+ id
458
+ name
459
+ code
460
+ }
461
+ id
462
+ firstName
463
+ isDefault
464
+ lastName
465
+ postalCode
466
+ state {
467
+ name
468
+ id
469
+ code
470
+ }
471
+ identityNumber
472
+ taxNumber
473
+ taxOffice
474
+ title
475
+ phone
476
+ }
477
+ phone
478
+ accountStatus
479
+ email
480
+ firstName
481
+ }
482
+ }
483
+ `;
484
+
485
+ try {
486
+ const { data, errors } = await apollo
487
+ .getClient()
488
+ .mutate<
489
+ SaveCustomerTypes.saveMyCustomer,
490
+ SaveCustomerTypes.saveMyCustomerVariables
491
+ >({
492
+ mutation: MUTATION,
493
+ variables: {
494
+ input: {
495
+ firstName: customer.firstName,
496
+ lastName: customer.lastName,
497
+ addresses: customer.addresses as any,
498
+ phone: customer.phone,
499
+ },
500
+ },
501
+ });
502
+
503
+ if (errors && errors.length) {
504
+ console.log(errors);
505
+ }
506
+
507
+ if (data && data.saveMyCustomer)
508
+ return new IkasCustomer(
509
+ (data.saveMyCustomer as unknown) as IkasCustomer
510
+ );
511
+ } catch (err) {
512
+ console.log(err);
513
+ }
514
+ }
515
+
516
+ static async getOrders(id?: string) {
517
+ const QUERY = gql`
518
+ query getCustomerOrders($orderId: String) {
519
+ getCustomerOrders(orderId: $orderId) {
520
+ billingAddress {
521
+ addressLine1
522
+ addressLine2
523
+ city {
524
+ code
525
+ id
526
+ name
527
+ }
528
+ company
529
+ country {
530
+ name
531
+ id
532
+ code
533
+ }
534
+ district {
535
+ name
536
+ id
537
+ code
538
+ }
539
+ firstName
540
+ identityNumber
541
+ isDefault
542
+ lastName
543
+ phone
544
+ postalCode
545
+ state {
546
+ name
547
+ id
548
+ code
549
+ }
550
+ taxNumber
551
+ taxOffice
552
+ }
553
+ cancelledAt
554
+ cancelReason
555
+ createdAt
556
+ currencyCode
557
+ currencyRates {
558
+ rate
559
+ originalRate
560
+ code
561
+ }
562
+ customer {
563
+ lastName
564
+ firstName
565
+ email
566
+ id
567
+ }
568
+ deleted
569
+ id
570
+ merchantId
571
+ note
572
+ orderedAt
573
+ orderAdjustments {
574
+ type
575
+ order
576
+ name
577
+ amountType
578
+ amount
579
+ }
580
+ orderLineItems {
581
+ createdAt
582
+ currencyCode
583
+ deleted
584
+ discount {
585
+ reason
586
+ amountType
587
+ amount
588
+ }
589
+ discountPrice
590
+ finalPrice
591
+ id
592
+ originalOrderLineItemId
593
+ price
594
+ quantity
595
+ status
596
+ statusUpdatedAt
597
+ stockLocationId
598
+ taxValue
599
+ updatedAt
600
+ variant {
601
+ barcodeList
602
+ id
603
+ mainImageId
604
+ name
605
+ productId
606
+ sku
607
+ variantValues {
608
+ variantValueName
609
+ variantValueId
610
+ variantTypeName
611
+ variantTypeId
612
+ order
613
+ }
614
+ }
615
+ options {
616
+ name
617
+ productOptionId
618
+ productOptionsSetId
619
+ type
620
+ values {
621
+ name
622
+ price
623
+ value
624
+ }
625
+ }
626
+ }
627
+ orderNumber
628
+ orderPackages {
629
+ updatedAt
630
+ trackingInfo {
631
+ trackingNumber
632
+ trackingLink
633
+ isSendNotification
634
+ cargoCompany
635
+ }
636
+ stockLocationId
637
+ orderPackageNumber
638
+ orderPackageFulfillStatus
639
+ orderLineItemIds
640
+ id
641
+ deleted
642
+ createdAt
643
+ }
644
+ orderPackageStatus
645
+ orderPaymentStatus
646
+ orderTagIds
647
+ shippingAddress {
648
+ taxOffice
649
+ taxNumber
650
+ state {
651
+ name
652
+ id
653
+ code
654
+ }
655
+ postalCode
656
+ phone
657
+ lastName
658
+ isDefault
659
+ identityNumber
660
+ firstName
661
+ district {
662
+ name
663
+ id
664
+ code
665
+ }
666
+ country {
667
+ name
668
+ id
669
+ code
670
+ }
671
+ company
672
+ city {
673
+ id
674
+ code
675
+ name
676
+ }
677
+ addressLine2
678
+ addressLine1
679
+ }
680
+ shippingLines {
681
+ title
682
+ taxValue
683
+ price
684
+ }
685
+ shippingMethod
686
+ status
687
+ taxLines {
688
+ rate
689
+ price
690
+ }
691
+ totalFinalPrice
692
+ totalPrice
693
+ updatedAt
694
+ }
695
+ }
696
+ `;
697
+
698
+ try {
699
+ const {
700
+ data,
701
+ errors,
702
+ } = await apollo.getClient().query<GetOrdersTypes.getCustomerOrders>({
703
+ query: QUERY,
704
+ variables: id
705
+ ? {
706
+ orderId: id,
707
+ }
708
+ : {},
709
+ });
710
+
711
+ if (errors && errors.length) {
712
+ console.log(errors);
713
+ }
714
+
715
+ if (data && data.getCustomerOrders)
716
+ return data.getCustomerOrders.map(
717
+ (o) => new IkasOrder((o as unknown) as IkasOrder)
718
+ );
719
+ } catch (err) {
720
+ console.log(err);
721
+ }
722
+ }
723
+
724
+ static async getOrderTransactions(params?: {
725
+ checkoutId?: string;
726
+ id?: string;
727
+ orderId?: string;
728
+ }): Promise<IkasOrderTransaction[]> {
729
+ const LIST_ORDER_TRANSACTIONS = gql`
730
+ query listOrderTransactions(
731
+ $checkoutId: StringFilterInput
732
+ $id: StringFilterInput
733
+ $orderId: StringFilterInput
734
+ ) {
735
+ listOrderTransactions(
736
+ checkoutId: $checkoutId
737
+ id: $id
738
+ orderId: $orderId
739
+ ) {
740
+ amount
741
+ checkoutId
742
+ createdAt
743
+ currencyCode
744
+ customerId
745
+ deleted
746
+ error {
747
+ code
748
+ declineCode
749
+ message
750
+ }
751
+ id
752
+ orderId
753
+ paymentGatewayId
754
+ paymentGatewayName
755
+ paymentMethod
756
+ paymentMethodDetail {
757
+ bankName
758
+ binNumber
759
+ cardAssociation
760
+ cardFamily
761
+ cardType
762
+ installment {
763
+ installmentCount
764
+ installmentPrice
765
+ totalPrice
766
+ }
767
+ lastFourDigits
768
+ threeDSecure
769
+ }
770
+ processedAt
771
+ refundReason
772
+ status
773
+ type
774
+ updatedAt
775
+ }
776
+ }
777
+ `;
778
+
779
+ try {
780
+ const { data, errors } = await apollo.getClient().query({
781
+ query: LIST_ORDER_TRANSACTIONS,
782
+ variables: {
783
+ checkoutId: params?.checkoutId
784
+ ? {
785
+ eq: params.checkoutId,
786
+ }
787
+ : undefined,
788
+ id: params?.id
789
+ ? {
790
+ eq: params.id,
791
+ }
792
+ : undefined,
793
+ orderId: params?.orderId
794
+ ? {
795
+ eq: params.orderId,
796
+ }
797
+ : undefined,
798
+ },
799
+ });
800
+
801
+ if (Array.isArray(errors) && errors.length) return [];
802
+ return data.listOrderTransactions.map(
803
+ (oT: any) => new IkasOrderTransaction(oT as IkasOrderTransaction)
804
+ );
805
+ } catch (error) {
806
+ console.log(error);
807
+ return [];
808
+ }
809
+ }
810
+
811
+ static async saveIkasOrderRefund(input: IkasRefund) {
812
+ const MUTATION = gql`
813
+ mutation createOrderRefundRequest($input: OrderRefundRequestInput!) {
814
+ createOrderRefundRequest(input: $input) {
815
+ billingAddress {
816
+ addressLine1
817
+ addressLine2
818
+ city {
819
+ code
820
+ id
821
+ name
822
+ }
823
+ company
824
+ country {
825
+ name
826
+ id
827
+ code
828
+ }
829
+ district {
830
+ name
831
+ id
832
+ code
833
+ }
834
+ firstName
835
+ identityNumber
836
+ isDefault
837
+ lastName
838
+ phone
839
+ postalCode
840
+ state {
841
+ name
842
+ id
843
+ code
844
+ }
845
+ taxNumber
846
+ taxOffice
847
+ }
848
+ cancelledAt
849
+ cancelReason
850
+ createdAt
851
+ currencyCode
852
+ currencyRates {
853
+ rate
854
+ originalRate
855
+ code
856
+ }
857
+ customer {
858
+ lastName
859
+ firstName
860
+ email
861
+ id
862
+ }
863
+ deleted
864
+ id
865
+ merchantId
866
+ note
867
+ orderedAt
868
+ orderAdjustments {
869
+ type
870
+ order
871
+ name
872
+ amountType
873
+ amount
874
+ }
875
+ orderLineItems {
876
+ createdAt
877
+ currencyCode
878
+ deleted
879
+ discount {
880
+ reason
881
+ amountType
882
+ amount
883
+ }
884
+ discountPrice
885
+ finalPrice
886
+ id
887
+ originalOrderLineItemId
888
+ price
889
+ quantity
890
+ status
891
+ statusUpdatedAt
892
+ stockLocationId
893
+ taxValue
894
+ updatedAt
895
+ variant {
896
+ barcodeList
897
+ id
898
+ mainImageId
899
+ name
900
+ productId
901
+ sku
902
+ variantValues {
903
+ variantValueName
904
+ variantValueId
905
+ variantTypeName
906
+ variantTypeId
907
+ order
908
+ }
909
+ }
910
+ }
911
+ orderNumber
912
+ orderPackages {
913
+ updatedAt
914
+ trackingInfo {
915
+ trackingNumber
916
+ trackingLink
917
+ isSendNotification
918
+ cargoCompany
919
+ }
920
+ stockLocationId
921
+ orderPackageNumber
922
+ orderPackageFulfillStatus
923
+ orderLineItemIds
924
+ id
925
+ deleted
926
+ createdAt
927
+ }
928
+ orderPackageStatus
929
+ orderPaymentStatus
930
+ orderTagIds
931
+ shippingAddress {
932
+ taxOffice
933
+ taxNumber
934
+ state {
935
+ name
936
+ id
937
+ code
938
+ }
939
+ postalCode
940
+ phone
941
+ lastName
942
+ isDefault
943
+ identityNumber
944
+ firstName
945
+ district {
946
+ name
947
+ id
948
+ code
949
+ }
950
+ country {
951
+ name
952
+ id
953
+ code
954
+ }
955
+ company
956
+ city {
957
+ id
958
+ code
959
+ name
960
+ }
961
+ addressLine2
962
+ addressLine1
963
+ }
964
+ shippingLines {
965
+ title
966
+ taxValue
967
+ price
968
+ }
969
+ shippingMethod
970
+ status
971
+ taxLines {
972
+ rate
973
+ price
974
+ }
975
+ totalFinalPrice
976
+ totalPrice
977
+ updatedAt
978
+ }
979
+ }
980
+ `;
981
+
982
+ try {
983
+ const { data, errors } = await apollo
984
+ .getClient()
985
+ .mutate<
986
+ RefundOrderTypes.createOrderRefundRequest,
987
+ RefundOrderTypes.createOrderRefundRequestVariables
988
+ >({
989
+ mutation: MUTATION,
990
+ variables: {
991
+ input: input,
992
+ },
993
+ });
994
+ if (errors && errors.length) return;
995
+
996
+ if (data && data.createOrderRefundRequest)
997
+ return new IkasOrder(
998
+ (data?.createOrderRefundRequest as unknown) as IkasOrder
999
+ );
1000
+ } catch (err) {
1001
+ console.log(err);
1002
+ }
1003
+ }
1004
+
1005
+ static async createCustomerEmailSubscription(email: string) {
1006
+ const MUTATION = gql`
1007
+ mutation createCustomerEmailSubscription(
1008
+ $input: CreateCustomerEmailSubscriptionInput!
1009
+ ) {
1010
+ createCustomerEmailSubscription(input: $input) {
1011
+ id
1012
+ }
1013
+ }
1014
+ `;
1015
+
1016
+ try {
1017
+ const { errors } = await apollo
1018
+ .getClient()
1019
+ .mutate<
1020
+ CreateCustomerEmailSubscriptionTypes.createCustomerEmailSubscription,
1021
+ CreateCustomerEmailSubscriptionTypes.createCustomerEmailSubscriptionVariables
1022
+ >({
1023
+ mutation: MUTATION,
1024
+ variables: {
1025
+ input: {
1026
+ email,
1027
+ },
1028
+ },
1029
+ });
1030
+ if (errors && errors.length) return false;
1031
+ } catch (err) {
1032
+ console.log(err);
1033
+ return false;
1034
+ }
1035
+
1036
+ return true;
1037
+ }
1038
+
1039
+ static async getLastViewedProducts(customerId: string) {
1040
+ const QUERY = gql`
1041
+ query getLastViewedProducts($customerId: String) {
1042
+ getLastViewedProducts(customerId: $customerId) {
1043
+ products {
1044
+ productId
1045
+ variantId
1046
+ }
1047
+ }
1048
+ }
1049
+ `;
1050
+
1051
+ try {
1052
+ const { data, errors } = await apollo
1053
+ .getClient()
1054
+ .query<
1055
+ GetLastViewedProductsTypes.getLastViewedProducts,
1056
+ GetLastViewedProductsTypes.getLastViewedProductsVariables
1057
+ >({
1058
+ query: QUERY,
1059
+ variables: {
1060
+ customerId: customerId,
1061
+ },
1062
+ });
1063
+
1064
+ if (errors && errors.length) return [];
1065
+
1066
+ return data.getLastViewedProducts?.products || [];
1067
+ } catch (error) {
1068
+ console.log(error);
1069
+ return [];
1070
+ }
1071
+ }
1072
+
1073
+ static async saveLastViewedProducts(input: LastViewedProductInput) {
1074
+ const MUTATION = gql`
1075
+ mutation saveLastViewedProducts($input: ProductLastViewedInput!) {
1076
+ saveLastViewedProducts(input: $input) {
1077
+ id
1078
+ }
1079
+ }
1080
+ `;
1081
+
1082
+ try {
1083
+ const { errors } = await apollo
1084
+ .getClient()
1085
+ .mutate<
1086
+ SaveLastViewedProductsTypes.saveLastViewedProducts,
1087
+ SaveLastViewedProductsTypes.saveLastViewedProductsVariables
1088
+ >({
1089
+ mutation: MUTATION,
1090
+ variables: {
1091
+ input,
1092
+ },
1093
+ });
1094
+ if (errors && errors.length) return false;
1095
+ } catch (err) {
1096
+ console.log(err);
1097
+ return false;
1098
+ }
1099
+
1100
+ return true;
1101
+ }
1102
+
1103
+ static async getOrderRefundSettings() {
1104
+ const QUERY = gql`
1105
+ query listOrderRefundSettings($storefrontId: StringFilterInput!) {
1106
+ listOrderRefundSettings(storefrontId: $storefrontId) {
1107
+ isActiveRefundSection
1108
+ orderRefundDayLimit
1109
+ refundDesc
1110
+ }
1111
+ }
1112
+ `;
1113
+
1114
+ try {
1115
+ const { data, errors } = await apollo
1116
+ .getClient()
1117
+ .query<
1118
+ ListOrderRefundSettingsTypes.listOrderRefundSettings,
1119
+ ListOrderRefundSettingsTypes.listOrderRefundSettingsVariables
1120
+ >({
1121
+ query: QUERY,
1122
+ variables: {
1123
+ storefrontId: { eq: IkasStorefrontConfig.storefrontId },
1124
+ },
1125
+ });
1126
+
1127
+ if (errors && errors.length) {
1128
+ console.log(errors);
1129
+ }
1130
+
1131
+ if (data && data.listOrderRefundSettings.length)
1132
+ return new IkasOrderRefundSettings(data.listOrderRefundSettings[0]);
1133
+ } catch (err) {
1134
+ console.log(err);
1135
+ }
1136
+ }
1137
+ }
1138
+
1139
+ type LastViewedProduct = {
1140
+ productId: string;
1141
+ variantId: string;
1142
+ };
1143
+
1144
+ type LastViewedProductInput = {
1145
+ customerId: string;
1146
+ products: LastViewedProduct[];
1147
+ };