@ikas/storefront-models 4.0.0-alpha.86 → 4.0.0-alpha.9

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 (514) hide show
  1. package/build-cjs/_virtual/_tslib.js +1 -0
  2. package/build-cjs/index.d.ts +0 -16
  3. package/build-cjs/index.js +2 -1
  4. package/build-cjs/models/base/init.js +1 -0
  5. package/build-cjs/models/blog/category/init.js +1 -0
  6. package/build-cjs/models/blog/init.js +1 -0
  7. package/build-cjs/models/blog/meta-data/index.js +1 -0
  8. package/build-cjs/models/brand/index.js +1 -0
  9. package/build-cjs/models/brand/init.js +1 -0
  10. package/build-cjs/models/campaign-offer/index.js +1 -0
  11. package/build-cjs/models/campaign-offer/product/index.js +1 -0
  12. package/build-cjs/models/cart/available-shipping-method/index.js +1 -0
  13. package/build-cjs/models/cart/campaign-offer/index.js +1 -0
  14. package/build-cjs/models/category/index.js +1 -0
  15. package/build-cjs/models/category/init.js +2 -1
  16. package/build-cjs/models/category/init.js.map +1 -1
  17. package/build-cjs/models/category/path-item/index.d.ts +0 -2
  18. package/build-cjs/models/checkout-settings/index.js +1 -0
  19. package/build-cjs/models/checkout-settings/price/index.d.ts +0 -1
  20. package/build-cjs/models/country/index.d.ts +0 -2
  21. package/build-cjs/models/customer/attribute/index.js +1 -0
  22. package/build-cjs/models/customer/attribute/init.js +1 -0
  23. package/build-cjs/models/customer/attribute/sales-channel/index.js +1 -0
  24. package/build-cjs/models/customer/index.js +1 -0
  25. package/build-cjs/models/customer/review/index.js +1 -0
  26. package/build-cjs/models/customer/review/init.js +1 -0
  27. package/build-cjs/models/html-meta-data/index.js +1 -0
  28. package/build-cjs/models/html-meta-data/init.js +1 -0
  29. package/build-cjs/models/merchant-settings/index.d.ts +0 -3
  30. package/build-cjs/models/merchant-settings/index.js +1 -0
  31. package/build-cjs/models/merchant-settings/index.js.map +1 -1
  32. package/build-cjs/models/merchant-settings/init.js +1 -0
  33. package/build-cjs/models/order/adjustment/index.js +1 -0
  34. package/build-cjs/models/order/index.d.ts +1 -3
  35. package/build-cjs/models/order/index.js +2 -1
  36. package/build-cjs/models/order/index.js.map +1 -1
  37. package/build-cjs/models/order/invoice/index.js +1 -0
  38. package/build-cjs/models/order/line-item/index.d.ts +0 -3
  39. package/build-cjs/models/order/line-item/index.js +1 -0
  40. package/build-cjs/models/order/line-item/index.js.map +1 -1
  41. package/build-cjs/models/order/line-item/variant/index.d.ts +0 -4
  42. package/build-cjs/models/order/line-item/variant/price/index.d.ts +0 -1
  43. package/build-cjs/models/order/package/index.js +1 -0
  44. package/build-cjs/models/order/transaction/index.d.ts +1 -1
  45. package/build-cjs/models/order/transaction/index.js +1 -0
  46. package/build-cjs/models/order/transaction/index.js.map +1 -1
  47. package/build-cjs/models/order/transaction/payment-method-detail/index.js +1 -0
  48. package/build-cjs/models/payment-gateway/additional-price/index.js +1 -0
  49. package/build-cjs/models/payment-gateway/index.js +1 -0
  50. package/build-cjs/models/payment-gateway/init.js +1 -0
  51. package/build-cjs/models/payment-gateway/settings/index.js +1 -0
  52. package/build-cjs/models/product/attribute/index.d.ts +1 -3
  53. package/build-cjs/models/product/attribute/index.js +2 -1
  54. package/build-cjs/models/product/attribute/index.js.map +1 -1
  55. package/build-cjs/models/product/attribute/init.js +1 -0
  56. package/build-cjs/models/product/attribute-value/init.js +1 -0
  57. package/build-cjs/models/product/campaign/data/index.js +1 -0
  58. package/build-cjs/models/product/campaign/filter/index.js +1 -0
  59. package/build-cjs/models/product/filter/index.d.ts +1 -3
  60. package/build-cjs/models/product/filter/index.js +2 -1
  61. package/build-cjs/models/product/filter/index.js.map +1 -1
  62. package/build-cjs/models/product/image/init.js +1 -0
  63. package/build-cjs/models/product/index.d.ts +0 -4
  64. package/build-cjs/models/product/index.js +1 -0
  65. package/build-cjs/models/product/index.js.map +1 -1
  66. package/build-cjs/models/product/init.js +1 -0
  67. package/build-cjs/models/product/option-set/init.js +1 -0
  68. package/build-cjs/models/product/option-set/option/index.js +1 -0
  69. package/build-cjs/models/product/option-set/option/init.js +1 -0
  70. package/build-cjs/models/product/variant/index.d.ts +0 -2
  71. package/build-cjs/models/product/variant/init.js +1 -0
  72. package/build-cjs/models/product/variant/price/index.d.ts +0 -2
  73. package/build-cjs/models/product/variant-type/index.d.ts +0 -1
  74. package/build-cjs/models/product/variant-type/init.js +1 -0
  75. package/build-cjs/models/raffle/index.d.ts +3 -9
  76. package/build-cjs/models/raffle/index.js +2 -1
  77. package/build-cjs/models/raffle/index.js.map +1 -1
  78. package/build-cjs/models/raffle/init.js +1 -0
  79. package/build-cjs/models/stock-location/index.js +1 -0
  80. package/build-cjs/models/storefront/index.d.ts +0 -4
  81. package/build-cjs/models/storefront/index.js +1 -0
  82. package/build-cjs/models/storefront/index.js.map +1 -1
  83. package/build-cjs/models/storefront/routing/index.d.ts +0 -2
  84. package/build-cjs/models/storefront/theme/index.js +1 -0
  85. package/build-cjs/models/storefront/theme-localization/index.d.ts +0 -2
  86. package/build-cjs/models/theme-json/component/index.d.ts +3 -4
  87. package/build-cjs/models/theme-json/component/prop/index.d.ts +3 -4
  88. package/build-cjs/models/theme-json/component/prop/index.js +1 -0
  89. package/build-cjs/models/theme-json/page/index.js +1 -0
  90. package/build-cjs/models/theme-json/settings/index.js +1 -0
  91. package/build-cjs/models/variant-type/index.js +1 -0
  92. package/build-cjs/models/variant-type/init.js +1 -0
  93. package/build-cjs/models/variant-type/variant-value/init.js +1 -0
  94. package/package.json +4 -10
  95. package/{build/index.d.ts → src/index.ts} +213 -172
  96. package/src/models/base/index.ts +6 -0
  97. package/src/models/base/init.ts +14 -0
  98. package/{build/models/blog/category/index.d.ts → src/models/blog/category/index.ts} +11 -9
  99. package/src/models/blog/category/init.ts +33 -0
  100. package/{build/models/blog/tag/index.d.ts → src/models/blog/content/index.ts} +5 -4
  101. package/src/models/blog/index.ts +26 -0
  102. package/src/models/blog/init.ts +7 -0
  103. package/src/models/blog/meta-data/index.ts +16 -0
  104. package/src/models/blog/tag/index.ts +5 -0
  105. package/src/models/blog/writer/index.ts +4 -0
  106. package/src/models/brand/index.ts +26 -0
  107. package/src/models/brand/init.ts +27 -0
  108. package/src/models/brand/translation/index.ts +5 -0
  109. package/src/models/campaign-offer/index.ts +43 -0
  110. package/src/models/campaign-offer/product/index.ts +27 -0
  111. package/src/models/cart/available-shipping-method/index.ts +13 -0
  112. package/src/models/cart/campaign-offer/index.ts +24 -0
  113. package/src/models/cart/index.ts +12 -0
  114. package/src/models/category/index.ts +30 -0
  115. package/src/models/category/init.ts +33 -0
  116. package/src/models/category/path-item/index.ts +9 -0
  117. package/src/models/category/translations/index.ts +5 -0
  118. package/src/models/checkout/index.ts +3 -0
  119. package/src/models/checkout-settings/index.ts +24 -0
  120. package/src/models/checkout-settings/option/index.ts +4 -0
  121. package/src/models/checkout-settings/price/index.ts +4 -0
  122. package/src/models/city/index.ts +11 -0
  123. package/src/models/contact-form/index.ts +7 -0
  124. package/src/models/country/index.ts +15 -0
  125. package/src/models/customer/address/city/index.ts +5 -0
  126. package/src/models/customer/address/country/index.ts +7 -0
  127. package/src/models/customer/address/district/index.ts +5 -0
  128. package/src/models/customer/address/index.tsx +27 -0
  129. package/src/models/customer/address/state/index.ts +5 -0
  130. package/src/models/customer/attribute/index.ts +22 -0
  131. package/src/models/customer/attribute/init.ts +34 -0
  132. package/src/models/customer/attribute/option/index.ts +7 -0
  133. package/src/models/customer/attribute/sales-channel/index.ts +18 -0
  134. package/src/models/customer/attribute/translation/index.ts +8 -0
  135. package/src/models/customer/attribute/translation/option/index.ts +4 -0
  136. package/src/models/customer/attribute/value/index.ts +12 -0
  137. package/src/models/customer/index.ts +48 -0
  138. package/src/models/customer/review/index.ts +28 -0
  139. package/src/models/customer/review/init.ts +7 -0
  140. package/src/models/customer/review/settings/index.ts +4 -0
  141. package/src/models/customer/review/summary/index.ts +9 -0
  142. package/src/models/customer/review/summary/star/index.ts +4 -0
  143. package/src/models/district/index.ts +11 -0
  144. package/src/models/favorite-product/index.ts +6 -0
  145. package/src/models/filter-category/index.ts +9 -0
  146. package/src/models/html-meta-data/index.ts +28 -0
  147. package/src/models/html-meta-data/init.ts +27 -0
  148. package/src/models/html-meta-data/translations/index.ts +5 -0
  149. package/src/models/image/index.ts +4 -0
  150. package/src/models/last-viewed-product/index.ts +4 -0
  151. package/src/models/merchant-settings/index.ts +25 -0
  152. package/src/models/merchant-settings/init.ts +7 -0
  153. package/src/models/order/address/city/index.ts +5 -0
  154. package/src/models/order/address/country/index.ts +7 -0
  155. package/src/models/order/address/district/index.ts +5 -0
  156. package/src/models/order/address/index.ts +25 -0
  157. package/src/models/order/address/state/index.ts +5 -0
  158. package/src/models/order/adjustment/applied-order-line/index.ts +6 -0
  159. package/src/models/order/adjustment/index.ts +24 -0
  160. package/src/models/order/customer/index.ts +9 -0
  161. package/src/models/order/gift-line/index.ts +4 -0
  162. package/src/models/order/index.ts +90 -0
  163. package/src/models/order/invoice/index.ts +15 -0
  164. package/src/models/order/line-item/discount/index.ts +10 -0
  165. package/src/models/order/line-item/index.ts +34 -0
  166. package/src/models/order/line-item/option/index.ts +10 -0
  167. package/src/models/order/line-item/option/value/index.ts +5 -0
  168. package/src/models/order/line-item/variant/brand/index.ts +4 -0
  169. package/src/models/order/line-item/variant/category/index.ts +10 -0
  170. package/src/models/order/line-item/variant/index.ts +26 -0
  171. package/src/models/order/line-item/variant/price/index.ts +7 -0
  172. package/src/models/order/line-item/variant/value/index.ts +7 -0
  173. package/src/models/order/package/index.ts +28 -0
  174. package/src/models/order/package/tracking-info/index.ts +7 -0
  175. package/src/models/order/payment-method/index.ts +9 -0
  176. package/src/models/order/refund/index.ts +6 -0
  177. package/src/models/order/refund/line-item/index.ts +4 -0
  178. package/src/models/order/refund/settings/index.ts +5 -0
  179. package/src/models/order/shipping-line/index.ts +12 -0
  180. package/src/models/order/tax-line/index.ts +4 -0
  181. package/src/models/order/transaction/error/index.ts +5 -0
  182. package/src/models/order/transaction/index.ts +39 -0
  183. package/src/models/order/transaction/payment-method-detail/index.ts +25 -0
  184. package/src/models/order/transaction/payment-method-detail/installment-price/index.ts +7 -0
  185. package/src/models/payment-gateway/additional-price/index.ts +16 -0
  186. package/src/models/payment-gateway/index.ts +47 -0
  187. package/src/models/payment-gateway/init.ts +26 -0
  188. package/src/models/payment-gateway/settings/index.ts +12 -0
  189. package/src/models/payment-gateway/translation/index.ts +5 -0
  190. package/src/models/product/attribute/index.ts +24 -0
  191. package/src/models/product/attribute/init.ts +34 -0
  192. package/src/models/product/attribute/option/index.ts +4 -0
  193. package/src/models/product/attribute/table-cell/index.ts +4 -0
  194. package/src/models/product/attribute/table-template/index.ts +6 -0
  195. package/src/models/product/attribute/translation/index.ts +11 -0
  196. package/src/models/product/attribute-value/index.ts +26 -0
  197. package/src/models/product/attribute-value/init.ts +7 -0
  198. package/src/models/product/back-in-stock-settings/index.ts +3 -0
  199. package/src/models/product/campaign/data/index.ts +43 -0
  200. package/src/models/product/campaign/filter/index.ts +12 -0
  201. package/src/models/product/campaign/index.ts +6 -0
  202. package/src/models/product/campaign/product-buyx-then-gety/index.ts +19 -0
  203. package/src/models/product/campaign/product-campaign-date-range-field/index.ts +4 -0
  204. package/src/models/product/campaign/product-fixed-discount/index.ts +13 -0
  205. package/src/models/product/filter/index.ts +96 -0
  206. package/src/models/product/image/index.ts +10 -0
  207. package/src/models/product/image/init.ts +7 -0
  208. package/src/models/product/index.ts +43 -0
  209. package/src/models/product/init.ts +16 -0
  210. package/src/models/product/option-set/index.ts +25 -0
  211. package/src/models/product/option-set/init.ts +77 -0
  212. package/src/models/product/option-set/option/index.ts +81 -0
  213. package/src/models/product/option-set/option/init.ts +13 -0
  214. package/src/models/product/tag/index.ts +4 -0
  215. package/src/models/product/variant/index.ts +20 -0
  216. package/src/models/product/variant/init.ts +10 -0
  217. package/src/models/product/variant/price/index.ts +7 -0
  218. package/src/models/product/variant-type/index.ts +6 -0
  219. package/src/models/product/variant-type/init.ts +15 -0
  220. package/src/models/raffle/index.ts +70 -0
  221. package/src/models/raffle/init.ts +6 -0
  222. package/src/models/sales-channel/index.ts +17 -0
  223. package/src/models/state/index.ts +7 -0
  224. package/src/models/stock-location/address/city/index.ts +5 -0
  225. package/src/models/stock-location/address/country/index.ts +5 -0
  226. package/src/models/stock-location/address/district/index.ts +5 -0
  227. package/src/models/stock-location/address/index.ts +14 -0
  228. package/src/models/stock-location/address/state/index.ts +5 -0
  229. package/src/models/stock-location/available/index.ts +9 -0
  230. package/src/models/stock-location/index.ts +26 -0
  231. package/src/models/storefront/domain/index.ts +7 -0
  232. package/src/models/storefront/index.ts +30 -0
  233. package/src/models/storefront/localization/index.tsx +6 -0
  234. package/src/models/storefront/routing/dynamic-currency/index.ts +4 -0
  235. package/src/models/storefront/routing/index.tsx +11 -0
  236. package/src/models/storefront/theme/index.tsx +13 -0
  237. package/src/models/storefront/theme-localization/index.tsx +13 -0
  238. package/src/models/theme-json/component/index.ts +19 -0
  239. package/src/models/theme-json/component/prop/index.ts +65 -0
  240. package/src/models/theme-json/custom-data/index.ts +46 -0
  241. package/src/models/theme-json/index.ts +12 -0
  242. package/src/models/theme-json/page/component/index.ts +11 -0
  243. package/src/models/theme-json/page/index.ts +46 -0
  244. package/src/models/theme-json/settings/color/index.ts +13 -0
  245. package/src/models/theme-json/settings/favicon/index.ts +3 -0
  246. package/src/models/theme-json/settings/font-family/index.ts +4 -0
  247. package/src/models/theme-json/settings/index.ts +16 -0
  248. package/src/models/variant-type/index.ts +25 -0
  249. package/src/models/variant-type/init.ts +37 -0
  250. package/src/models/variant-type/variant-value/index.ts +12 -0
  251. package/src/models/variant-type/variant-value/init.ts +5 -0
  252. package/build/_virtual/_tslib.js +0 -1
  253. package/build/index.js +0 -1
  254. package/build/models/base/index.d.ts +0 -6
  255. package/build/models/base/init.d.ts +0 -6
  256. package/build/models/base/init.js +0 -1
  257. package/build/models/blog/category/init.d.ts +0 -11
  258. package/build/models/blog/category/init.js +0 -1
  259. package/build/models/blog/content/index.d.ts +0 -4
  260. package/build/models/blog/index.d.ts +0 -24
  261. package/build/models/blog/init.d.ts +0 -2
  262. package/build/models/blog/init.js +0 -1
  263. package/build/models/blog/meta-data/index.d.ts +0 -14
  264. package/build/models/blog/meta-data/index.js +0 -1
  265. package/build/models/blog/writer/index.d.ts +0 -4
  266. package/build/models/brand/index.d.ts +0 -23
  267. package/build/models/brand/index.js +0 -1
  268. package/build/models/brand/init.d.ts +0 -2
  269. package/build/models/brand/init.js +0 -1
  270. package/build/models/brand/translation/index.d.ts +0 -5
  271. package/build/models/campaign-offer/index.d.ts +0 -37
  272. package/build/models/campaign-offer/index.js +0 -1
  273. package/build/models/campaign-offer/product/index.d.ts +0 -24
  274. package/build/models/campaign-offer/product/index.js +0 -1
  275. package/build/models/cart/available-shipping-method/index.d.ts +0 -12
  276. package/build/models/cart/available-shipping-method/index.js +0 -1
  277. package/build/models/cart/campaign-offer/index.d.ts +0 -19
  278. package/build/models/cart/campaign-offer/index.js +0 -1
  279. package/build/models/cart/index.d.ts +0 -11
  280. package/build/models/category/index.d.ts +0 -27
  281. package/build/models/category/index.js +0 -1
  282. package/build/models/category/init.d.ts +0 -2
  283. package/build/models/category/init.js +0 -1
  284. package/build/models/category/path-item/index.d.ts +0 -10
  285. package/build/models/category/path-item/init.d.ts +0 -2
  286. package/build/models/category/path-item/init.js +0 -1
  287. package/build/models/category/translations/index.d.ts +0 -5
  288. package/build/models/checkout/index.d.ts +0 -2
  289. package/build/models/checkout-settings/index.d.ts +0 -22
  290. package/build/models/checkout-settings/index.js +0 -1
  291. package/build/models/checkout-settings/option/index.d.ts +0 -4
  292. package/build/models/checkout-settings/price/index.d.ts +0 -5
  293. package/build/models/city/index.d.ts +0 -10
  294. package/build/models/contact-form/index.d.ts +0 -7
  295. package/build/models/country/index.d.ts +0 -16
  296. package/build/models/country/init.d.ts +0 -2
  297. package/build/models/country/init.js +0 -1
  298. package/build/models/country/location-translations/index.d.ts +0 -5
  299. package/build/models/customer/address/city/index.d.ts +0 -5
  300. package/build/models/customer/address/country/index.d.ts +0 -7
  301. package/build/models/customer/address/district/index.d.ts +0 -5
  302. package/build/models/customer/address/index.d.ts +0 -25
  303. package/build/models/customer/address/state/index.d.ts +0 -5
  304. package/build/models/customer/attribute/index.d.ts +0 -20
  305. package/build/models/customer/attribute/index.js +0 -1
  306. package/build/models/customer/attribute/init.d.ts +0 -2
  307. package/build/models/customer/attribute/init.js +0 -1
  308. package/build/models/customer/attribute/option/index.d.ts +0 -7
  309. package/build/models/customer/attribute/sales-channel/index.d.ts +0 -16
  310. package/build/models/customer/attribute/sales-channel/index.js +0 -1
  311. package/build/models/customer/attribute/translation/index.d.ts +0 -7
  312. package/build/models/customer/attribute/translation/option/index.d.ts +0 -4
  313. package/build/models/customer/attribute/value/index.d.ts +0 -9
  314. package/build/models/customer/index.d.ts +0 -43
  315. package/build/models/customer/index.js +0 -1
  316. package/build/models/customer/review/index.d.ts +0 -24
  317. package/build/models/customer/review/index.js +0 -1
  318. package/build/models/customer/review/init.d.ts +0 -2
  319. package/build/models/customer/review/init.js +0 -1
  320. package/build/models/customer/review/settings/index.d.ts +0 -4
  321. package/build/models/customer/review/summary/index.d.ts +0 -8
  322. package/build/models/customer/review/summary/star/index.d.ts +0 -4
  323. package/build/models/customer-settings/index.d.ts +0 -7
  324. package/build/models/district/index.d.ts +0 -10
  325. package/build/models/favorite-product/index.d.ts +0 -5
  326. package/build/models/filter-category/index.d.ts +0 -8
  327. package/build/models/html-meta-data/index.d.ts +0 -25
  328. package/build/models/html-meta-data/index.js +0 -1
  329. package/build/models/html-meta-data/init.d.ts +0 -3
  330. package/build/models/html-meta-data/init.js +0 -1
  331. package/build/models/html-meta-data/translations/index.d.ts +0 -5
  332. package/build/models/image/index.d.ts +0 -4
  333. package/build/models/last-viewed-product/index.d.ts +0 -4
  334. package/build/models/merchant-settings/address/city/index.d.ts +0 -5
  335. package/build/models/merchant-settings/address/country/index.d.ts +0 -7
  336. package/build/models/merchant-settings/address/district/index.d.ts +0 -5
  337. package/build/models/merchant-settings/address/index.d.ts +0 -21
  338. package/build/models/merchant-settings/address/state/index.d.ts +0 -5
  339. package/build/models/merchant-settings/address/type/index.d.ts +0 -4
  340. package/build/models/merchant-settings/address/type/index.js +0 -1
  341. package/build/models/merchant-settings/index.d.ts +0 -24
  342. package/build/models/merchant-settings/index.js +0 -1
  343. package/build/models/merchant-settings/init.d.ts +0 -2
  344. package/build/models/merchant-settings/init.js +0 -1
  345. package/build/models/order/address/city/index.d.ts +0 -5
  346. package/build/models/order/address/country/index.d.ts +0 -7
  347. package/build/models/order/address/district/index.d.ts +0 -5
  348. package/build/models/order/address/index.d.ts +0 -22
  349. package/build/models/order/address/state/index.d.ts +0 -5
  350. package/build/models/order/adjustment/applied-order-line/index.d.ts +0 -6
  351. package/build/models/order/adjustment/index.d.ts +0 -21
  352. package/build/models/order/adjustment/index.js +0 -1
  353. package/build/models/order/customer/index.d.ts +0 -9
  354. package/build/models/order/gift-line/index.d.ts +0 -4
  355. package/build/models/order/index.d.ts +0 -86
  356. package/build/models/order/index.js +0 -1
  357. package/build/models/order/invoice/index.d.ts +0 -14
  358. package/build/models/order/invoice/index.js +0 -1
  359. package/build/models/order/line-item/base-unit/index.d.ts +0 -20
  360. package/build/models/order/line-item/base-unit/index.js +0 -1
  361. package/build/models/order/line-item/base-unit/unit-type/index.d.ts +0 -4
  362. package/build/models/order/line-item/discount/index.d.ts +0 -9
  363. package/build/models/order/line-item/index.d.ts +0 -35
  364. package/build/models/order/line-item/index.js +0 -1
  365. package/build/models/order/line-item/option/index.d.ts +0 -9
  366. package/build/models/order/line-item/option/value/index.d.ts +0 -5
  367. package/build/models/order/line-item/variant/brand/index.d.ts +0 -4
  368. package/build/models/order/line-item/variant/category/index.d.ts +0 -9
  369. package/build/models/order/line-item/variant/index.d.ts +0 -27
  370. package/build/models/order/line-item/variant/price/index.d.ts +0 -8
  371. package/build/models/order/line-item/variant/unit/index.d.ts +0 -5
  372. package/build/models/order/line-item/variant/value/index.d.ts +0 -7
  373. package/build/models/order/package/index.d.ts +0 -26
  374. package/build/models/order/package/index.js +0 -1
  375. package/build/models/order/package/tracking-info/index.d.ts +0 -7
  376. package/build/models/order/payment-method/index.d.ts +0 -8
  377. package/build/models/order/refund/index.d.ts +0 -5
  378. package/build/models/order/refund/line-item/index.d.ts +0 -4
  379. package/build/models/order/refund/settings/index.d.ts +0 -5
  380. package/build/models/order/shipping-line/index.d.ts +0 -11
  381. package/build/models/order/tax-line/index.d.ts +0 -4
  382. package/build/models/order/transaction/error/index.d.ts +0 -5
  383. package/build/models/order/transaction/index.d.ts +0 -34
  384. package/build/models/order/transaction/index.js +0 -1
  385. package/build/models/order/transaction/payment-method-detail/index.d.ts +0 -22
  386. package/build/models/order/transaction/payment-method-detail/index.js +0 -1
  387. package/build/models/order/transaction/payment-method-detail/installment-price/index.d.ts +0 -7
  388. package/build/models/payment-gateway/additional-price/index.d.ts +0 -14
  389. package/build/models/payment-gateway/additional-price/index.js +0 -1
  390. package/build/models/payment-gateway/index.d.ts +0 -42
  391. package/build/models/payment-gateway/index.js +0 -1
  392. package/build/models/payment-gateway/init.d.ts +0 -2
  393. package/build/models/payment-gateway/init.js +0 -1
  394. package/build/models/payment-gateway/settings/index.d.ts +0 -11
  395. package/build/models/payment-gateway/settings/index.js +0 -1
  396. package/build/models/payment-gateway/translation/index.d.ts +0 -5
  397. package/build/models/product/attribute/index.d.ts +0 -24
  398. package/build/models/product/attribute/index.js +0 -1
  399. package/build/models/product/attribute/init.d.ts +0 -2
  400. package/build/models/product/attribute/init.js +0 -1
  401. package/build/models/product/attribute/option/index.d.ts +0 -4
  402. package/build/models/product/attribute/table-cell/index.d.ts +0 -4
  403. package/build/models/product/attribute/table-template/index.d.ts +0 -5
  404. package/build/models/product/attribute/translation/index.d.ts +0 -10
  405. package/build/models/product/attribute-value/index.d.ts +0 -21
  406. package/build/models/product/attribute-value/init.d.ts +0 -2
  407. package/build/models/product/attribute-value/init.js +0 -1
  408. package/build/models/product/back-in-stock-settings/index.d.ts +0 -3
  409. package/build/models/product/base-unit/index.d.ts +0 -10
  410. package/build/models/product/campaign/data/index.d.ts +0 -39
  411. package/build/models/product/campaign/data/index.js +0 -1
  412. package/build/models/product/campaign/filter/index.d.ts +0 -11
  413. package/build/models/product/campaign/filter/index.js +0 -1
  414. package/build/models/product/campaign/index.d.ts +0 -5
  415. package/build/models/product/campaign/product-buyx-then-gety/index.d.ts +0 -16
  416. package/build/models/product/campaign/product-campaign-date-range-field/index.d.ts +0 -4
  417. package/build/models/product/campaign/product-fixed-discount/index.d.ts +0 -11
  418. package/build/models/product/filter/index.d.ts +0 -83
  419. package/build/models/product/filter/index.js +0 -1
  420. package/build/models/product/image/index.d.ts +0 -8
  421. package/build/models/product/image/init.d.ts +0 -2
  422. package/build/models/product/image/init.js +0 -1
  423. package/build/models/product/index.d.ts +0 -43
  424. package/build/models/product/index.js +0 -1
  425. package/build/models/product/init.d.ts +0 -2
  426. package/build/models/product/init.js +0 -1
  427. package/build/models/product/option-set/index.d.ts +0 -21
  428. package/build/models/product/option-set/init.d.ts +0 -6
  429. package/build/models/product/option-set/init.js +0 -1
  430. package/build/models/product/option-set/option/index.d.ts +0 -70
  431. package/build/models/product/option-set/option/index.js +0 -1
  432. package/build/models/product/option-set/option/init.d.ts +0 -2
  433. package/build/models/product/option-set/option/init.js +0 -1
  434. package/build/models/product/tag/index.d.ts +0 -4
  435. package/build/models/product/variant/index.d.ts +0 -21
  436. package/build/models/product/variant/init.d.ts +0 -2
  437. package/build/models/product/variant/init.js +0 -1
  438. package/build/models/product/variant/price/index.d.ts +0 -9
  439. package/build/models/product/variant/unit/index.d.ts +0 -5
  440. package/build/models/product/variant-type/index.d.ts +0 -6
  441. package/build/models/product/variant-type/init.d.ts +0 -2
  442. package/build/models/product/variant-type/init.js +0 -1
  443. package/build/models/product-option-file/index.d.ts +0 -5
  444. package/build/models/raffle/index.d.ts +0 -68
  445. package/build/models/raffle/index.js +0 -1
  446. package/build/models/raffle/init.d.ts +0 -2
  447. package/build/models/raffle/init.js +0 -1
  448. package/build/models/sales-channel/index.d.ts +0 -15
  449. package/build/models/state/index.d.ts +0 -6
  450. package/build/models/stock-location/address/city/index.d.ts +0 -5
  451. package/build/models/stock-location/address/country/index.d.ts +0 -5
  452. package/build/models/stock-location/address/district/index.d.ts +0 -5
  453. package/build/models/stock-location/address/index.d.ts +0 -13
  454. package/build/models/stock-location/address/state/index.d.ts +0 -5
  455. package/build/models/stock-location/available/index.d.ts +0 -8
  456. package/build/models/stock-location/index.d.ts +0 -23
  457. package/build/models/stock-location/index.js +0 -1
  458. package/build/models/storefront/domain/index.d.ts +0 -7
  459. package/build/models/storefront/index.d.ts +0 -30
  460. package/build/models/storefront/index.js +0 -1
  461. package/build/models/storefront/localization/index.d.ts +0 -6
  462. package/build/models/storefront/meta-templates/index.d.ts +0 -14
  463. package/build/models/storefront/meta-templates/index.js +0 -1
  464. package/build/models/storefront/routing/dynamic-currency/index.d.ts +0 -4
  465. package/build/models/storefront/routing/index.d.ts +0 -12
  466. package/build/models/storefront/theme/index.d.ts +0 -12
  467. package/build/models/storefront/theme/index.js +0 -1
  468. package/build/models/storefront/theme-localization/index.d.ts +0 -13
  469. package/build/models/theme-json/component/index.d.ts +0 -18
  470. package/build/models/theme-json/component/prop/index.d.ts +0 -61
  471. package/build/models/theme-json/component/prop/index.js +0 -1
  472. package/build/models/theme-json/custom-data/index.d.ts +0 -37
  473. package/build/models/theme-json/index.d.ts +0 -11
  474. package/build/models/theme-json/page/component/index.d.ts +0 -5
  475. package/build/models/theme-json/page/index.d.ts +0 -43
  476. package/build/models/theme-json/page/index.js +0 -1
  477. package/build/models/theme-json/settings/color/index.d.ts +0 -12
  478. package/build/models/theme-json/settings/favicon/index.d.ts +0 -3
  479. package/build/models/theme-json/settings/font-family/index.d.ts +0 -4
  480. package/build/models/theme-json/settings/index.d.ts +0 -14
  481. package/build/models/theme-json/settings/index.js +0 -1
  482. package/build/models/variant-type/index.d.ts +0 -21
  483. package/build/models/variant-type/index.js +0 -1
  484. package/build/models/variant-type/init.d.ts +0 -2
  485. package/build/models/variant-type/init.js +0 -1
  486. package/build/models/variant-type/variant-value/index.d.ts +0 -9
  487. package/build/models/variant-type/variant-value/init.d.ts +0 -2
  488. package/build/models/variant-type/variant-value/init.js +0 -1
  489. package/build-cjs/models/category/path-item/init.d.ts +0 -2
  490. package/build-cjs/models/category/path-item/init.js +0 -1
  491. package/build-cjs/models/category/path-item/init.js.map +0 -1
  492. package/build-cjs/models/country/init.d.ts +0 -2
  493. package/build-cjs/models/country/init.js +0 -1
  494. package/build-cjs/models/country/init.js.map +0 -1
  495. package/build-cjs/models/country/location-translations/index.d.ts +0 -5
  496. package/build-cjs/models/customer-settings/index.d.ts +0 -7
  497. package/build-cjs/models/merchant-settings/address/city/index.d.ts +0 -5
  498. package/build-cjs/models/merchant-settings/address/country/index.d.ts +0 -7
  499. package/build-cjs/models/merchant-settings/address/district/index.d.ts +0 -5
  500. package/build-cjs/models/merchant-settings/address/index.d.ts +0 -21
  501. package/build-cjs/models/merchant-settings/address/state/index.d.ts +0 -5
  502. package/build-cjs/models/merchant-settings/address/type/index.d.ts +0 -4
  503. package/build-cjs/models/merchant-settings/address/type/index.js +0 -1
  504. package/build-cjs/models/merchant-settings/address/type/index.js.map +0 -1
  505. package/build-cjs/models/order/line-item/base-unit/index.d.ts +0 -20
  506. package/build-cjs/models/order/line-item/base-unit/index.js +0 -1
  507. package/build-cjs/models/order/line-item/base-unit/index.js.map +0 -1
  508. package/build-cjs/models/order/line-item/base-unit/unit-type/index.d.ts +0 -4
  509. package/build-cjs/models/order/line-item/variant/unit/index.d.ts +0 -5
  510. package/build-cjs/models/product/base-unit/index.d.ts +0 -10
  511. package/build-cjs/models/product/variant/unit/index.d.ts +0 -5
  512. package/build-cjs/models/product-option-file/index.d.ts +0 -5
  513. package/build-cjs/models/storefront/meta-templates/index.d.ts +0 -14
  514. package/build-cjs/models/storefront/meta-templates/index.js +0 -1
@@ -0,0 +1,12 @@
1
+ export type IkasPaymentGatewaySettings = {
2
+ label: string;
3
+ order: number;
4
+ type: IkasPaymentGatewaySettingsType;
5
+ value: string | null;
6
+ };
7
+
8
+ export enum IkasPaymentGatewaySettingsType {
9
+ NUMBER = "NUMBER",
10
+ PASSWORD = "PASSWORD",
11
+ TEXT = "TEXT",
12
+ }
@@ -0,0 +1,5 @@
1
+ export type IkasPaymentGatewayTranslation = {
2
+ description: string | null;
3
+ locale: string | null;
4
+ name: string | null;
5
+ };
@@ -0,0 +1,24 @@
1
+ import { IkasProductAttributeTableTemplate } from "./table-template";
2
+ import { IkasProductAttributeOption } from "./option";
3
+ import { IkasProductAttributeTranslation } from "./translation";
4
+
5
+ export type IkasProductAttribute = {
6
+ id: string;
7
+ name: string;
8
+ description: string | null;
9
+ type: IkasProductAttributeType;
10
+ options: IkasProductAttributeOption[] | null;
11
+ tableTemplate: IkasProductAttributeTableTemplate | null;
12
+ translations?: IkasProductAttributeTranslation[] | null;
13
+ };
14
+
15
+ export enum IkasProductAttributeType {
16
+ CHOICE = "CHOICE",
17
+ MULTIPLE_CHOICE = "MULTIPLE_CHOICE",
18
+ TEXT = "TEXT",
19
+ BOOLEAN = "BOOLEAN",
20
+ NUMERIC = "NUMERIC",
21
+ DATETIME = "DATETIME",
22
+ HTML = "HTML",
23
+ TABLE = "TABLE",
24
+ }
@@ -0,0 +1,34 @@
1
+ import { IkasProductAttribute } from ".";
2
+ import { IkasProductAttributeTranslation } from "./translation";
3
+
4
+ export function initIkasProductAttribute(
5
+ attribute: IkasProductAttribute,
6
+ locale: string | null
7
+ ) {
8
+ if (attribute.translations && locale) {
9
+ setTranslations(attribute, attribute.translations, locale);
10
+ delete attribute.translations;
11
+ }
12
+ }
13
+
14
+ function setTranslations(
15
+ attribute: IkasProductAttribute,
16
+ translations: IkasProductAttributeTranslation[],
17
+ locale: string
18
+ ) {
19
+ if (translations && translations.some((t) => t.locale === locale)) {
20
+ const localeTranslations = translations.find((t) => t.locale === locale);
21
+
22
+ if (localeTranslations?.name) attribute.name = localeTranslations.name;
23
+ if (localeTranslations?.description)
24
+ attribute.description = localeTranslations.description;
25
+ if (localeTranslations?.options) {
26
+ attribute.options?.forEach((o) => {
27
+ const translatedVV = localeTranslations.options?.find(
28
+ (to) => to.id === o.id
29
+ );
30
+ if (translatedVV && translatedVV.name) o.name = translatedVV.name;
31
+ });
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,4 @@
1
+ export type IkasProductAttributeOption = {
2
+ id: string;
3
+ name: string;
4
+ };
@@ -0,0 +1,4 @@
1
+ export type IkasProductAttributeTableCell = {
2
+ id: string;
3
+ name: string | null;
4
+ };
@@ -0,0 +1,6 @@
1
+ import { IkasProductAttributeTableCell } from "../table-cell";
2
+
3
+ export type IkasProductAttributeTableTemplate = {
4
+ columns: IkasProductAttributeTableCell[] | null;
5
+ rows: IkasProductAttributeTableCell[] | null;
6
+ };
@@ -0,0 +1,11 @@
1
+ export type IkasProductAttributeTranslation = {
2
+ description: string | null;
3
+ locale: string;
4
+ name: string | null;
5
+ options: IkasProductAttributeOptionTranslation[] | null;
6
+ };
7
+
8
+ export type IkasProductAttributeOptionTranslation = {
9
+ id: string;
10
+ name: string | null;
11
+ };
@@ -0,0 +1,26 @@
1
+ import { IkasImage } from "../../image";
2
+ import { IkasProductAttribute } from "../attribute";
3
+ import { IkasProductAttributeOption } from "../attribute/option";
4
+
5
+ export type IkasProductAttributeValue = {
6
+ imageIds: string[] | null;
7
+ productAttributeId: string | null;
8
+ productAttributeOptionId: string | null;
9
+ value: string | null;
10
+
11
+ // Extra
12
+ images?: IkasImage[];
13
+ productAttribute?: IkasProductAttribute | null;
14
+ productAttributeOption?: IkasProductAttributeOption | null;
15
+ };
16
+
17
+ export type IkasAttributeTableCellValue = {
18
+ colId: string;
19
+ rowId: string;
20
+ value: string | null;
21
+ };
22
+
23
+ export type IkasProductAttributeMap = {
24
+ attribute: IkasProductAttribute;
25
+ values: IkasProductAttributeValue[];
26
+ };
@@ -0,0 +1,7 @@
1
+ import { IkasProductAttributeValue } from ".";
2
+
3
+ export function initIkasProductAttributeValue(
4
+ value: IkasProductAttributeValue
5
+ ) {
6
+ value.images = value.imageIds?.map((i) => ({ id: i, isVideo: false }));
7
+ }
@@ -0,0 +1,3 @@
1
+ export type IkasProductBackInStockSettings = {
2
+ customerLoginRequired: boolean;
3
+ };
@@ -0,0 +1,43 @@
1
+ import { IkasProductBuyXThenGetY } from "../product-buyx-then-gety";
2
+ import { IkasProductCampaignDateRangeField } from "../product-campaign-date-range-field";
3
+ import { IkasProductFixedDiscount } from "../product-fixed-discount";
4
+
5
+ export type IkasProductCampaignData = {
6
+ applicableCustomerGroupIds: string[] | null;
7
+ applicableCustomerIds: string[] | null;
8
+ applicablePrice: IkasCampaignApplicablePrice;
9
+ buyXThenGetY: IkasProductBuyXThenGetY;
10
+ canCombineWithOtherCampaigns: boolean;
11
+ createdFor: IkasCampaignCreatedFor | null;
12
+ currencyCodes: [string] | null;
13
+ dateRange: IkasProductCampaignDateRangeField | null;
14
+ deleted: boolean;
15
+ fixedDiscount: IkasProductFixedDiscount | null;
16
+ hasCoupon: boolean;
17
+ id: string;
18
+ includeDiscountedProducts: boolean | null;
19
+ salesChannelIds: string[] | null;
20
+ title: string;
21
+ type: IkasCampaignType;
22
+ usageCount: number;
23
+ usageLimit: number | null;
24
+ usageLimitPerCustomer: number | null;
25
+ };
26
+
27
+ export enum IkasCampaignApplicablePrice {
28
+ DISCOUNT_PRICE = "DISCOUNT_PRICE",
29
+ SELL_PRICE = "SELL_PRICE",
30
+ }
31
+
32
+ export enum IkasCampaignCreatedFor {
33
+ ABANDONED_CHECKOUT = "ABANDONED_CHECKOUT",
34
+ CART = "CART",
35
+ CUSTOMER_REVIEW = "CUSTOMER_REVIEW",
36
+ }
37
+
38
+ export enum IkasCampaignType {
39
+ BUY_X_THEN_GET_Y = "BUY_X_THEN_GET_Y",
40
+ FIXED_AMOUNT = "FIXED_AMOUNT",
41
+ FREE_SHIPPING = "FREE_SHIPPING",
42
+ RATIO = "FREE_SHIPPING",
43
+ }
@@ -0,0 +1,12 @@
1
+ export type IkasProductCampaignFilter = {
2
+ idList: string[];
3
+ type: IkasCampaignFilterType;
4
+ };
5
+
6
+ export enum IkasCampaignFilterType {
7
+ CATEGORY = "CATEGORY",
8
+ PRODUCT = "PRODUCT",
9
+ PRODUCT_BRAND = "PRODUCT_BRAND",
10
+ PRODUCT_TAG = "PRODUCT_TAG",
11
+ VARIANT = "VARIANT",
12
+ }
@@ -0,0 +1,6 @@
1
+ import { IkasProductCampaignData } from "./data";
2
+
3
+ export type IkasProductCampaign = {
4
+ campaign: IkasProductCampaignData;
5
+ variantIds: string[];
6
+ };
@@ -0,0 +1,19 @@
1
+ import { IkasProductCampaignFilter } from "../filter";
2
+
3
+ export type IkasProductBuyX = {
4
+ amount: number;
5
+ applyByQuantity: boolean;
6
+ filter: IkasProductCampaignFilter;
7
+ };
8
+
9
+ export type IkasProductGetY = {
10
+ amount: number;
11
+ discountRatio: number;
12
+ filter: IkasProductCampaignFilter;
13
+ };
14
+
15
+ export type IkasProductBuyXThenGetY = {
16
+ buyX: IkasProductBuyX;
17
+ getY: IkasProductGetY;
18
+ maxUsagePerOrder: number;
19
+ };
@@ -0,0 +1,4 @@
1
+ export type IkasProductCampaignDateRangeField = {
2
+ start: number | null;
3
+ end: number | null;
4
+ };
@@ -0,0 +1,13 @@
1
+ import { IkasProductCampaignFilter } from "../filter";
2
+
3
+ export type IkasCampaignMinMaxRangeField = {
4
+ min: number | null;
5
+ max: number | null;
6
+ };
7
+
8
+ export type IkasProductFixedDiscount = {
9
+ amount: number | null;
10
+ filters: IkasProductCampaignFilter | null;
11
+ lineItemQuantityRange: IkasCampaignMinMaxRangeField | null;
12
+ priceRange: IkasCampaignMinMaxRangeField | null;
13
+ };
@@ -0,0 +1,96 @@
1
+ import { IkasImage } from "../../image";
2
+
3
+ export type IkasProductFilter = {
4
+ id: string;
5
+ key: string;
6
+ name: string;
7
+ order: number;
8
+ type: IkasProductFilterType;
9
+ displayType: IkasProductFilterDisplayType;
10
+ isMultiSelect: boolean;
11
+ isFacetFilter: boolean | null;
12
+ values?: IkasApplicableProductFilterValue[] | null;
13
+ customValues?: string[] | null;
14
+ settings?: IkasProductFilterSettings | null;
15
+
16
+ // Extra
17
+ numberRange?: IkasFilterRangeValue | null; // Selected range value for the number slider
18
+ numberRangeLimit?: IkasFilterRangeValue | null; // Limits for the number range slider
19
+ numberRangeListOptions?: IkasProductFilterNumberRangeListOption[] | null; // List options for the number range select
20
+ };
21
+
22
+ export type IkasApplicableProductFilterValue = {
23
+ id: string;
24
+ key: string;
25
+ name: string;
26
+ colorCode?: string | null;
27
+ thumbnailImageId?: string | null;
28
+ thumbnailImage?: IkasImage | null;
29
+ resultCount?: number | null;
30
+
31
+ // Extra
32
+ isSelected: boolean;
33
+ };
34
+
35
+ export type IkasProductFilterValue = {
36
+ id: string;
37
+ type: IkasProductFilterType;
38
+ displayType: IkasProductFilterDisplayType;
39
+ valueList: string[];
40
+ };
41
+
42
+ export type IkasProductFilterSettings = {
43
+ useAndFilter?: boolean | null;
44
+ showCollapsedOnDesktop: boolean;
45
+ showCollapsedOnMobile: boolean;
46
+ sortType: IkasProductFilterSortType;
47
+ };
48
+
49
+ export type IkasProductFacetInput = {
50
+ id: string;
51
+ type: IkasProductFilterType;
52
+ displayType: IkasProductFilterDisplayType;
53
+ };
54
+
55
+ export enum IkasProductFilterType {
56
+ ATTRIBUTE = "ATTRIBUTE",
57
+ BRAND = "BRAND",
58
+ DISCOUNT_RATIO = "DISCOUNT_RATIO",
59
+ PRICE = "PRICE",
60
+ STOCK_STATUS = "STOCK_STATUS",
61
+ TAG = "TAG",
62
+ VARIANT_TYPE = "VARIANT_TYPE",
63
+ }
64
+
65
+ export enum IkasProductFilterDisplayType {
66
+ BOX = "BOX",
67
+ DATE_RANGE = "DATE_RANGE",
68
+ LIST = "LIST",
69
+ NUMBER_RANGE_LIST = "NUMBER_RANGE_LIST",
70
+ NUMBER_RANGE = "NUMBER_RANGE",
71
+ SWATCH = "SWATCH",
72
+ }
73
+
74
+ export enum IkasProductFilterSortType {
75
+ ALPHABETICAL_ASC = "ALPHABETICAL_ASC",
76
+ ALPHABETICAL_DESC = "ALPHABETICAL_DESC",
77
+ PRODUCT_COUNT_ASC = "PRODUCT_COUNT_ASC",
78
+ PRODUCT_COUNT_DESC = "PRODUCT_COUNT_DESC",
79
+ }
80
+
81
+ export enum IkasProductStockFilterValue {
82
+ IN_STOCK = "in-stock",
83
+ OUT_OF_STOCK = "out-of-stock",
84
+ }
85
+
86
+ export type IkasFilterRangeValue = {
87
+ from: number;
88
+ to: number | undefined | null;
89
+ };
90
+
91
+ export type IkasProductFilterNumberRangeListOption = {
92
+ from: number;
93
+ to: number | undefined | null;
94
+ key: string;
95
+ isSelected: boolean;
96
+ };
@@ -0,0 +1,10 @@
1
+ import { IkasImage } from "../../image";
2
+
3
+ export type IkasProductImage = {
4
+ imageId: string | null;
5
+ isMain: boolean;
6
+ isVideo: boolean | null;
7
+ order: number;
8
+
9
+ image?: IkasImage | null;
10
+ };
@@ -0,0 +1,7 @@
1
+ import { IkasProductImage } from ".";
2
+
3
+ export function initIkasProductImage(productImage: IkasProductImage) {
4
+ productImage.image = productImage.imageId
5
+ ? { id: productImage.imageId, isVideo: productImage.isVideo || false }
6
+ : null;
7
+ }
@@ -0,0 +1,43 @@
1
+ import { IkasCategory } from "../category";
2
+ import { IkasProductVariant } from "./variant";
3
+ import { IkasProductAttributeValue } from "./attribute-value";
4
+ import { IkasProductVariantType } from "./variant-type";
5
+ import { IkasBrand } from "../brand";
6
+ import { IkasHTMLMetaData } from "../html-meta-data";
7
+ import { IkasProductTag } from "./tag";
8
+ import { IkasVariantValue } from "../variant-type/variant-value";
9
+ import { IkasVariantType } from "../variant-type";
10
+
11
+ export type IkasProduct = {
12
+ id: string;
13
+ name: string;
14
+ type: IkasProductType;
15
+ description: string;
16
+ shortDescription: string;
17
+ metaData: IkasHTMLMetaData | null;
18
+ brand: IkasBrand | null;
19
+ categories: IkasCategory[];
20
+ tags: IkasProductTag[] | null;
21
+ variants: IkasProductVariant[];
22
+ attributes: IkasProductAttributeValue[];
23
+ variantTypes: IkasProductVariantType[];
24
+ productOptionSetId: string | null;
25
+ };
26
+
27
+ export enum IkasProductType {
28
+ PHYSICAL = "PHYSICAL",
29
+ DIGITAL = "DIGITAL",
30
+ MEMBERSHIP = "MEMBERSHIP",
31
+ }
32
+
33
+ export type IkasDisplayedVariantValue = {
34
+ variant: IkasProductVariant; // TODO remove?
35
+ variantValue: IkasVariantValue;
36
+ hasStock: boolean;
37
+ isSelected: boolean;
38
+ };
39
+
40
+ export type IkasDisplayedVariantType = {
41
+ variantType: IkasVariantType;
42
+ displayedVariantValues: IkasDisplayedVariantValue[];
43
+ };
@@ -0,0 +1,16 @@
1
+ import type { IkasProduct } from ".";
2
+ import { initIkasProductVariantType } from "./variant-type/init";
3
+ import { initIkasProductVariant } from "./variant/init";
4
+ import { initIkasProductAttributeValue } from "./attribute-value/init";
5
+ import { initIkasBrand } from "../brand/init";
6
+ import { initIkasCategory } from "../category/init";
7
+ import { initIkasHTMLMetaData } from "../html-meta-data/init";
8
+
9
+ export function initIkasProduct(product: IkasProduct, locale: string | null) {
10
+ product.metaData && initIkasHTMLMetaData(product.metaData, locale);
11
+ product.brand && initIkasBrand(product.brand, locale);
12
+ product.categories.forEach((c) => initIkasCategory(c, locale));
13
+ product.variants.forEach(initIkasProductVariant);
14
+ product.attributes.forEach(initIkasProductAttributeValue);
15
+ product.variantTypes.forEach(initIkasProductVariantType);
16
+ }
@@ -0,0 +1,25 @@
1
+ import { IkasProductOption } from "./option";
2
+
3
+ export type IkasProductOptionSelectValueTranslations = {
4
+ id: string;
5
+ value: string | null;
6
+ };
7
+
8
+ export type IkasProductOptionTranslations = {
9
+ id: string;
10
+ name: string | null;
11
+ optionalText: string | null;
12
+ values: IkasProductOptionSelectValueTranslations[] | null;
13
+ };
14
+
15
+ export type IkasProductOptionSetTranslations = {
16
+ locale: string;
17
+ options: IkasProductOptionTranslations[] | null;
18
+ };
19
+
20
+ export type IkasProductOptionSet = {
21
+ id: string;
22
+ name: string;
23
+ options: IkasProductOption[];
24
+ translations?: IkasProductOptionSetTranslations[] | null;
25
+ };
@@ -0,0 +1,77 @@
1
+ import { IkasProductOptionSet, IkasProductOptionSetTranslations } from ".";
2
+ import { IkasProductOption, IkasProductOptionType } from "./option";
3
+ import { initIkasProductOption } from "./option/init";
4
+
5
+ export function initIkasProductOptionSet(
6
+ optionSet: IkasProductOptionSet,
7
+ locale: string | null
8
+ ) {
9
+ optionSet.options.forEach((option) => {
10
+ option.productOptionSetId = optionSet.id;
11
+ initIkasProductOption(option);
12
+ });
13
+
14
+ if (optionSet.translations && locale) {
15
+ setTranslations(optionSet, optionSet.translations, locale);
16
+ delete optionSet.translations;
17
+ }
18
+ setChildOptions(optionSet);
19
+ initOptionValues(optionSet);
20
+ }
21
+
22
+ function setTranslations(
23
+ optionSet: IkasProductOptionSet,
24
+ translations: IkasProductOptionSetTranslations[],
25
+ locale: string
26
+ ) {
27
+ if (translations && translations.some((t) => t.locale === locale)) {
28
+ const localeTranslations = translations.find((t) => t.locale === locale);
29
+
30
+ localeTranslations?.options?.forEach((translatedOption) => {
31
+ const option = optionSet.options.find(
32
+ (o) => o.id === translatedOption.id
33
+ );
34
+
35
+ if (option) {
36
+ option.name = translatedOption.name || option.name;
37
+ option.optionalText =
38
+ translatedOption.optionalText || option.optionalText;
39
+
40
+ if (option.type === IkasProductOptionType.CHOICE) {
41
+ translatedOption.values?.forEach((translatedValue) => {
42
+ const selectValue = option.selectSettings?.values.find(
43
+ (sv) => sv.id === translatedValue.id
44
+ );
45
+ if (selectValue) {
46
+ selectValue.value = translatedValue.value || selectValue.value;
47
+ }
48
+ });
49
+ }
50
+ }
51
+ });
52
+ }
53
+ }
54
+
55
+ export function setChildOptions(optionSet: IkasProductOptionSet) {
56
+ optionSet.options.forEach((option) => {
57
+ const childOptions = optionSet.options.filter(
58
+ (o) => o.requiredOptionId === option.id
59
+ );
60
+ if (childOptions.length) {
61
+ option.childOptions = childOptions;
62
+ }
63
+ });
64
+ }
65
+
66
+ export function initOptionValues(optionSet: IkasProductOptionSet) {
67
+ optionSet.options.forEach((o) => initValues(o));
68
+ }
69
+
70
+ export function initValues(option: IkasProductOption) {
71
+ if (!option.isOptional) {
72
+ option.values = [];
73
+ if (option.childOptions) {
74
+ option.childOptions.forEach((co) => initValues(co));
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,81 @@
1
+ import { IkasImage } from "../../../image";
2
+
3
+ export enum IkasProductOptionSelectType {
4
+ BOX = "BOX",
5
+ SELECT = "SELECT",
6
+ SWATCH = "SWATCH",
7
+ }
8
+
9
+ export enum IkasProductOptionType {
10
+ CHECKBOX = "CHECKBOX",
11
+ CHOICE = "CHOICE",
12
+ COLOR_PICKER = "COLOR_PICKER",
13
+ DATE_PICKER = "DATE_PICKER",
14
+ FILE = "FILE",
15
+ IMAGE = "IMAGE",
16
+ TEXT = "TEXT",
17
+ TEXT_AREA = "TEXT_AREA",
18
+ }
19
+
20
+ export type IkasProductOptionOtherPrice = {
21
+ currencyCode: string;
22
+ price: number;
23
+ };
24
+
25
+ export type IkasProductOptionSelectValue = {
26
+ id: string;
27
+ order: number;
28
+ value: string;
29
+ price: number | null;
30
+ otherPrices: IkasProductOptionOtherPrice[] | null;
31
+ thumbnailImageId: string | null;
32
+ colorCode: string | null;
33
+ thumbnailImage: IkasImage | null;
34
+ };
35
+
36
+ export type IkasProductOptionSelectSettings = {
37
+ type: IkasProductOptionSelectType;
38
+ minSelect: number | null;
39
+ maxSelect: number | null;
40
+ values: IkasProductOptionSelectValue[];
41
+ };
42
+
43
+ export type IkasProductOptionDateSettings = {
44
+ min: Date | null;
45
+ max: Date | null;
46
+ minRelativeNextDate: number | null;
47
+ maxRelativeNextDate: number | null;
48
+ };
49
+
50
+ export type IkasProductOptionTextSettings = {
51
+ min: number | null;
52
+ max: number | null;
53
+ };
54
+
55
+ export type IkasProductOptionFileSettings = {
56
+ allowedExtensions: string[] | null;
57
+ minQuantity: number | null;
58
+ maxQuantity: number | null;
59
+ };
60
+
61
+ export type IkasProductOption = {
62
+ id: string;
63
+ productOptionSetId: string;
64
+ name: string;
65
+ order: number;
66
+ type: IkasProductOptionType;
67
+ selectSettings: IkasProductOptionSelectSettings | null;
68
+ textSettings: IkasProductOptionTextSettings | null;
69
+ fileSettings: IkasProductOptionFileSettings | null;
70
+ dateSettings: IkasProductOptionDateSettings | null;
71
+ price: number | null;
72
+ otherPrices: IkasProductOptionOtherPrice[] | null;
73
+ isOptional: boolean;
74
+ optionalText: string | null;
75
+ requiredOptionId: string | null;
76
+ requiredOptionValueIds: string[] | null;
77
+
78
+ // Extra
79
+ values: string[];
80
+ childOptions: IkasProductOption[];
81
+ };
@@ -0,0 +1,13 @@
1
+ import { IkasProductOption, IkasProductOptionSelectSettings } from ".";
2
+ import _sortBy from "lodash/sortBy";
3
+
4
+ export function initIkasProductOption(option: IkasProductOption) {
5
+ if (option.selectSettings)
6
+ initProductOptionSelectSettings(option.selectSettings);
7
+ }
8
+
9
+ function initProductOptionSelectSettings(
10
+ settings: IkasProductOptionSelectSettings
11
+ ) {
12
+ settings.values = _sortBy(settings.values || [], "order");
13
+ }
@@ -0,0 +1,4 @@
1
+ export type IkasProductTag = {
2
+ id: string;
3
+ name: string;
4
+ };
@@ -0,0 +1,20 @@
1
+ import { IkasProductPrice } from "./price";
2
+ import { IkasVariantValue } from "../../variant-type/variant-value";
3
+ import { IkasProductAttributeValue } from "../attribute-value";
4
+ import { IkasProductCampaign } from "../campaign";
5
+ import { IkasProductImage } from "../image";
6
+
7
+ export type IkasProductVariant = {
8
+ id: string;
9
+ sku: string | null;
10
+ barcodeList: string[] | null;
11
+ variantValues: IkasVariantValue[];
12
+ attributes: IkasProductAttributeValue[];
13
+ price: IkasProductPrice;
14
+ stock: number;
15
+ isActive: boolean;
16
+ productId: string;
17
+ sellIfOutOfStock: boolean;
18
+ images: IkasProductImage[] | null;
19
+ campaigns?: IkasProductCampaign[];
20
+ };
@@ -0,0 +1,10 @@
1
+ import { initIkasProductImage } from "../image/init";
2
+ import { initIkasProductAttributeValue } from "../attribute-value/init";
3
+ import _sortBy from "lodash/sortBy";
4
+ import { IkasProductVariant } from ".";
5
+
6
+ export function initIkasProductVariant(variant: IkasProductVariant) {
7
+ variant.images?.forEach(initIkasProductImage);
8
+ variant.images = _sortBy(variant.images, "order");
9
+ variant.attributes.forEach(initIkasProductAttributeValue);
10
+ }